提交 5b9228e9 编写于 作者: S serge-rider

MySQL: year data type edit support

上级 8941bdb4
...@@ -196,6 +196,7 @@ public class MySQLConstants { ...@@ -196,6 +196,7 @@ public class MySQLConstants {
public static final String TYPE_VARCHAR = "varchar"; public static final String TYPE_VARCHAR = "varchar";
public static final String TYPE_JSON = "json"; public static final String TYPE_JSON = "json";
public static final String TYPE_GEOMETRY = "geometry"; public static final String TYPE_GEOMETRY = "geometry";
public static final String TYPE_YEAR = "year";
public static final String BIN_FOLDER = "bin"; public static final String BIN_FOLDER = "bin";
public static final String ENV_VARIABLE_MYSQL_PWD = "MYSQL_PWD"; public static final String ENV_VARIABLE_MYSQL_PWD = "MYSQL_PWD";
......
...@@ -18,6 +18,7 @@ package org.jkiss.dbeaver.ext.mysql.data; ...@@ -18,6 +18,7 @@ package org.jkiss.dbeaver.ext.mysql.data;
import org.jkiss.code.NotNull; import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable; import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.ext.mysql.MySQLConstants;
import org.jkiss.dbeaver.model.data.DBDDataFormatterProfile; import org.jkiss.dbeaver.model.data.DBDDataFormatterProfile;
import org.jkiss.dbeaver.model.data.DBDDisplayFormat; import org.jkiss.dbeaver.model.data.DBDDisplayFormat;
import org.jkiss.dbeaver.model.exec.DBCException; import org.jkiss.dbeaver.model.exec.DBCException;
...@@ -31,6 +32,7 @@ import org.jkiss.dbeaver.model.struct.DBSTypedObject; ...@@ -31,6 +32,7 @@ import org.jkiss.dbeaver.model.struct.DBSTypedObject;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Types; import java.sql.Types;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
/** /**
...@@ -69,6 +71,20 @@ public class MySQLDateTimeValueHandler extends JDBCDateTimeValueHandler { ...@@ -69,6 +71,20 @@ public class MySQLDateTimeValueHandler extends JDBCDateTimeValueHandler {
catch (SQLException e) { catch (SQLException e) {
throw new DBCException(ModelMessages.model_jdbc_exception_could_not_bind_statement_parameter, e); throw new DBCException(ModelMessages.model_jdbc_exception_could_not_bind_statement_parameter, e);
} }
} else if (MySQLConstants.TYPE_YEAR.equals(type.getTypeName())) {
try {
JDBCPreparedStatement dbStat = (JDBCPreparedStatement)statement;
if (value instanceof Number) {
dbStat.setInt(index + 1, ((Number) value).intValue());
} else if (value instanceof Date) {
Calendar cal = Calendar.getInstance();
cal.setTime((Date) value);
dbStat.setInt(index + 1, cal.get(Calendar.YEAR));
}
}
catch (SQLException e) {
throw new DBCException(ModelMessages.model_jdbc_exception_could_not_bind_statement_parameter, e);
}
} else { } else {
super.bindValueObject(session, statement, type, index, value); super.bindValueObject(session, statement, type, index, value);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册