提交 cc5da952 编写于 作者: S Serge Rider

Defautl format generator fix (use session)


Former-commit-id: d1a4ed8f
上级 88adaa38
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package org.jkiss.dbeaver.model.data; package org.jkiss.dbeaver.model.data;
import org.jkiss.dbeaver.model.exec.DBCSession;
import org.jkiss.dbeaver.model.struct.DBSTypedObject; import org.jkiss.dbeaver.model.struct.DBSTypedObject;
/** /**
...@@ -26,6 +27,6 @@ public interface DBDValueDefaultGenerator ...@@ -26,6 +27,6 @@ public interface DBDValueDefaultGenerator
{ {
String getDefaultValueLabel(); String getDefaultValueLabel();
Object generateDefaultValue(DBSTypedObject type); Object generateDefaultValue(DBCSession session, DBSTypedObject type);
} }
...@@ -67,9 +67,9 @@ public abstract class DateTimeValueHandler extends BaseValueHandler implements D ...@@ -67,9 +67,9 @@ public abstract class DateTimeValueHandler extends BaseValueHandler implements D
} }
@Override @Override
public Object generateDefaultValue(DBSTypedObject type) { public Object generateDefaultValue(DBCSession session, DBSTypedObject type) {
try { try {
return getValueFromObject(null, type, new Date(), false); return getValueFromObject(session, type, new Date(), false);
} catch (DBCException e) { } catch (DBCException e) {
log.debug("Error getting current time stamp", e); log.debug("Error getting current time stamp", e);
return null; return null;
......
...@@ -90,7 +90,7 @@ public class JDBCBooleanValueHandler extends JDBCAbstractValueHandler implements ...@@ -90,7 +90,7 @@ public class JDBCBooleanValueHandler extends JDBCAbstractValueHandler implements
} }
@Override @Override
public Object generateDefaultValue(DBSTypedObject type) { public Object generateDefaultValue(DBCSession session, DBSTypedObject type) {
return false; return false;
} }
......
...@@ -359,7 +359,7 @@ public class JDBCNumberValueHandler extends JDBCAbstractValueHandler implements ...@@ -359,7 +359,7 @@ public class JDBCNumberValueHandler extends JDBCAbstractValueHandler implements
} }
@Override @Override
public Object generateDefaultValue(DBSTypedObject type) { public Object generateDefaultValue(DBCSession session, DBSTypedObject type) {
switch (type.getTypeID()) { switch (type.getTypeID()) {
case Types.BIGINT: case Types.BIGINT:
return 0L; return 0L;
......
...@@ -96,7 +96,7 @@ public class JDBCStringValueHandler extends JDBCAbstractValueHandler implements ...@@ -96,7 +96,7 @@ public class JDBCStringValueHandler extends JDBCAbstractValueHandler implements
} }
@Override @Override
public Object generateDefaultValue(DBSTypedObject type) { public Object generateDefaultValue(DBCSession session, DBSTypedObject type) {
return ""; return "";
} }
} }
\ No newline at end of file
...@@ -49,8 +49,11 @@ import org.jkiss.dbeaver.model.data.DBDAttributeBinding; ...@@ -49,8 +49,11 @@ import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
import org.jkiss.dbeaver.model.data.DBDDisplayFormat; import org.jkiss.dbeaver.model.data.DBDDisplayFormat;
import org.jkiss.dbeaver.model.data.DBDValueDefaultGenerator; import org.jkiss.dbeaver.model.data.DBDValueDefaultGenerator;
import org.jkiss.dbeaver.model.data.DBDValueHandler; import org.jkiss.dbeaver.model.data.DBDValueHandler;
import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose;
import org.jkiss.dbeaver.model.exec.DBCSession;
import org.jkiss.dbeaver.model.runtime.AbstractJob; import org.jkiss.dbeaver.model.runtime.AbstractJob;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.VoidProgressMonitor;
import org.jkiss.dbeaver.runtime.DBWorkbench; import org.jkiss.dbeaver.runtime.DBWorkbench;
import org.jkiss.dbeaver.tools.transfer.IDataTransferProducer; import org.jkiss.dbeaver.tools.transfer.IDataTransferProducer;
import org.jkiss.dbeaver.tools.transfer.database.DatabaseTransferProducer; import org.jkiss.dbeaver.tools.transfer.database.DatabaseTransferProducer;
...@@ -251,8 +254,10 @@ public class ResultSetHandlerMain extends AbstractHandler { ...@@ -251,8 +254,10 @@ public class ResultSetHandlerMain extends AbstractHandler {
} else if (actionId.equals(CMD_CELL_SET_DEFAULT)) { } else if (actionId.equals(CMD_CELL_SET_DEFAULT)) {
DBDValueHandler valueHandler = valueController.getValueHandler(); DBDValueHandler valueHandler = valueController.getValueHandler();
if (valueHandler instanceof DBDValueDefaultGenerator) { if (valueHandler instanceof DBDValueDefaultGenerator) {
Object defValue = ((DBDValueDefaultGenerator) valueHandler).generateDefaultValue(valueController.getValueType()); try (DBCSession session = rsv.getExecutionContext().openSession(new VoidProgressMonitor(), DBCExecutionPurpose.UTIL, "Generate default value")) {
valueController.updateValue(defValue, false); Object defValue = ((DBDValueDefaultGenerator) valueHandler).generateDefaultValue(session, valueController.getValueType());
valueController.updateValue(defValue, false);
}
} }
} else { } else {
rsv.getModel().resetCellValue(attr, row); rsv.getModel().resetCellValue(attr, row);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册