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

Defautl format generator fix (use session)


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