this.storageEngine = getDefaultMySQLStorageEngine(); registerColumnType( Types.BIT, "bit" ); registerColumnType( Types.BIGINT, "bigint" ); registerColumnType( Types.SMALLINT, "smallint" ); registerColumnType( Types.TINYINT, "tinyint" ); registerColumnType( Types.INTEGER, "integer" ); registerColumnType( Types.CHAR, "char(1)" ); registerColumnType( Types.FLOAT, "float" ); registerColumnType( Types.DOUBLE, "double precision" ); registerColumnType( Types.BOOLEAN, "bit" ); // HHH-6935 registerColumnType( Types.DATE, "date" ); registerColumnType( Types.TIME, "time" ); registerColumnType( Types.TIMESTAMP, "datetime" ); registerColumnType( Types.VARBINARY, "longblob" ); registerColumnType( Types.VARBINARY, 16777215, "mediumblob" ); registerColumnType( Types.VARBINARY, 65535, "blob" ); registerColumnType( Types.VARBINARY, 255, "tinyblob" ); registerColumnType( Types.BINARY, "binary($l)" ); registerColumnType( Types.LONGVARBINARY, "longblob" ); registerColumnType( Types.LONGVARBINARY, 16777215, "mediumblob" ); registerColumnType( Types.NUMERIC, "decimal($p,$s)" ); registerColumnType( Types.BLOB, "longblob" ); registerColumnType( Types.CLOB, "longtext" ); registerColumnType( Types.NCLOB, "longtext" ); registerVarcharTypes();
@Override public String getCastTypeName(int code) { switch ( code ) { case Types.BOOLEAN: return "char"; case Types.INTEGER: case Types.BIGINT: case Types.SMALLINT: return smallIntegerCastTarget(); case Types.FLOAT: case Types.REAL: { return floatingPointNumberCastTarget(); } case Types.NUMERIC: return fixedPointNumberCastTarget(); case Types.VARCHAR: return "char"; case Types.VARBINARY: return "binary"; default: return super.getCastTypeName( code ); } }
@Override public String getTableTypeString() { return storageEngine.getTableTypeString( getEngineKeyword()); }
public MySQLDialect() { super(); registerColumnType( Types.BIT, "bit" ); registerColumnType( Types.BIGINT, "bigint" ); registerColumnType( Types.SMALLINT, "smallint" ); registerColumnType( Types.TINYINT, "tinyint" ); registerColumnType( Types.INTEGER, "integer" ); registerColumnType( Types.CHAR, "char(1)" ); registerColumnType( Types.VARCHAR, "longtext" ); registerColumnType( Types.VARCHAR, 16777215, "mediumtext" ); registerColumnType( Types.VARCHAR, 65535, "text" ); registerColumnType( Types.VARCHAR, 255, "varchar($l)" ); registerColumnType( Types.FLOAT, "float" ); registerColumnType( Types.DOUBLE, "double precision" ); registerColumnType( Types.DATE, "date" ); registerColumnType( Types.TIME, "time" ); registerColumnType( Types.TIMESTAMP, "datetime" ); registerColumnType( Types.VARBINARY, "longblob" ); registerColumnType( Types.VARBINARY, 16777215, "mediumblob" ); registerColumnType( Types.VARBINARY, 65535, "blob" ); registerColumnType( Types.VARBINARY, 255, "tinyblob" ); registerColumnType( Types.NUMERIC, "numeric($p,$s)" ); registerColumnType( Types.BLOB, "longblob" ); registerColumnType( Types.BLOB, 16777215, "mediumblob" ); registerColumnType( Types.BLOB, 65535, "blob" ); registerColumnType( Types.CLOB, "longtext" ); registerColumnType( Types.CLOB, 16777215, "mediumtext" ); registerColumnType( Types.CLOB, 65535, "text" ); registerFunction("ascii", new StandardSQLFunction("ascii", Hibernate.INTEGER) );
@Override public Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); if ( "MySQL".equals( databaseName ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion < 5 ) { return new MySQLDialect(); } else if ( majorVersion == 5 ) { if ( minorVersion < 5 ) { return new MySQL5Dialect(); } else if ( minorVersion < 7 ) { return new MySQL55Dialect(); } else { return new MySQL57Dialect(); } } return latestDialectInstance( this ); } return null; } },
protected void registerVarcharTypes() { registerColumnType( Types.VARCHAR, "longtext" ); // registerColumnType( Types.VARCHAR, 16777215, "mediumtext" ); // registerColumnType( Types.VARCHAR, 65535, "text" ); registerColumnType( Types.VARCHAR, 255, "varchar($l)" ); registerColumnType( Types.LONGVARCHAR, "longtext" ); }
/** * Determine the cast target for {@link Types#FLOAT} and {@link Types#REAL} (DOUBLE) * * @return The proper cast target type. */ protected String floatingPointNumberCastTarget() { // MySQL does not allow casting to DOUBLE nor FLOAT, so we have to cast these as DECIMAL. // MariaDB does allow casting to DOUBLE, although not FLOAT. return fixedPointNumberCastTarget(); }
public MySql5DatabasePlatform() { super(new MySQLDialect(), "jdbc:mysql://<host>[:<port>][/<database>]"); }
protected void registerVarcharTypes() { registerColumnType( Types.VARCHAR, "longtext" ); // registerColumnType( Types.VARCHAR, 16777215, "mediumtext" ); // registerColumnType( Types.VARCHAR, 65535, "text" ); registerColumnType( Types.VARCHAR, 255, "varchar($l)" ); registerColumnType( Types.LONGVARCHAR, "longtext" ); }
/** * Determine the cast target for {@link Types#FLOAT} and {@link Types#REAL} (DOUBLE) * * @return The proper cast target type. */ protected String floatingPointNumberCastTarget() { // MySQL does not allow casting to DOUBLE nor FLOAT, so we have to cast these as DECIMAL. // MariaDB does allow casting to DOUBLE, although not FLOAT. return fixedPointNumberCastTarget(); }
this.storageEngine = getDefaultMySQLStorageEngine(); registerColumnType( Types.BIT, "bit" ); registerColumnType( Types.BIGINT, "bigint" ); registerColumnType( Types.SMALLINT, "smallint" ); registerColumnType( Types.TINYINT, "tinyint" ); registerColumnType( Types.INTEGER, "integer" ); registerColumnType( Types.CHAR, "char(1)" ); registerColumnType( Types.FLOAT, "float" ); registerColumnType( Types.DOUBLE, "double precision" ); registerColumnType( Types.BOOLEAN, "bit" ); // HHH-6935 registerColumnType( Types.DATE, "date" ); registerColumnType( Types.TIME, "time" ); registerColumnType( Types.TIMESTAMP, "datetime" ); registerColumnType( Types.VARBINARY, "longblob" ); registerColumnType( Types.VARBINARY, 16777215, "mediumblob" ); registerColumnType( Types.VARBINARY, 65535, "blob" ); registerColumnType( Types.VARBINARY, 255, "tinyblob" ); registerColumnType( Types.BINARY, "binary($l)" ); registerColumnType( Types.LONGVARBINARY, "longblob" ); registerColumnType( Types.LONGVARBINARY, 16777215, "mediumblob" ); registerColumnType( Types.NUMERIC, "decimal($p,$s)" ); registerColumnType( Types.BLOB, "longblob" ); registerColumnType( Types.CLOB, "longtext" ); registerColumnType( Types.NCLOB, "longtext" ); registerVarcharTypes();
public MySql5DatabasePlatform() { super(new MySQLDialect(), "jdbc:mysql://<host>[:<port>][/<database>]"); }
protected void registerVarcharTypes() { registerColumnType( Types.VARCHAR, "longtext" ); // registerColumnType( Types.VARCHAR, 16777215, "mediumtext" ); // registerColumnType( Types.VARCHAR, 65535, "text" ); registerColumnType( Types.VARCHAR, 255, "varchar($l)" ); registerColumnType( Types.LONGVARCHAR, "longtext" ); }
@Override public String getCastTypeName(int code) { switch ( code ) { case Types.BOOLEAN: return "char"; case Types.INTEGER: case Types.BIGINT: case Types.SMALLINT: return smallIntegerCastTarget(); case Types.FLOAT: case Types.REAL: { return floatingPointNumberCastTarget(); } case Types.NUMERIC: return fixedPointNumberCastTarget(); case Types.VARCHAR: return "char"; case Types.VARBINARY: return "binary"; default: return super.getCastTypeName( code ); } }
@Override public String getTableTypeString() { return storageEngine.getTableTypeString( getEngineKeyword()); }
public MySQLDialect() { super(); registerColumnType( Types.BIT, "bit" ); registerColumnType( Types.BIGINT, "bigint" ); registerColumnType( Types.SMALLINT, "smallint" ); registerColumnType( Types.TINYINT, "tinyint" ); registerColumnType( Types.INTEGER, "integer" ); registerColumnType( Types.CHAR, "char(1)" ); registerColumnType( Types.FLOAT, "float" ); registerColumnType( Types.DOUBLE, "double precision" ); registerColumnType( Types.DATE, "date" ); registerColumnType( Types.TIME, "time" ); registerColumnType( Types.TIMESTAMP, "datetime" ); registerColumnType( Types.VARBINARY, "longblob" ); registerColumnType( Types.VARBINARY, 16777215, "mediumblob" ); registerColumnType( Types.VARBINARY, 65535, "blob" ); registerColumnType( Types.VARBINARY, 255, "tinyblob" ); registerColumnType( Types.NUMERIC, "numeric($p,$s)" ); registerColumnType( Types.BLOB, "longblob" ); registerColumnType( Types.BLOB, 16777215, "mediumblob" ); registerColumnType( Types.BLOB, 65535, "blob" ); registerColumnType( Types.CLOB, "longtext" ); registerColumnType( Types.CLOB, 16777215, "mediumtext" ); registerColumnType( Types.CLOB, 65535, "text" ); registerVarcharTypes(); registerFunction("ascii", new StandardSQLFunction("ascii", Hibernate.INTEGER) ); registerFunction("bin", new StandardSQLFunction("bin", Hibernate.STRING) ); registerFunction("char_length", new StandardSQLFunction("char_length", Hibernate.LONG) ); registerFunction("character_length", new StandardSQLFunction("character_length", Hibernate.LONG) );
public GoogleCloudSQLDatabasePlatform() { super(new MySQLDialect(), "jdbc:google:rdbms://<instance-name>/<database>"); try { DriverManager.registerDriver((Driver) Class.forName("com.google.cloud.sql.Driver").newInstance()); } catch (Exception e) { logger.debug("The driver to connect to Google Cloud SQL from a non-GAE application was not found", e); } }
protected void registerVarcharTypes() { registerColumnType( Types.VARCHAR, "longtext" ); // registerColumnType( Types.VARCHAR, 16777215, "mediumtext" ); // registerColumnType( Types.VARCHAR, 65535, "text" ); registerColumnType( Types.VARCHAR, 255, "varchar($l)" ); registerColumnType( Types.LONGVARCHAR, "longtext" ); }
public MySQLDialect() { super(); registerColumnType( Types.BIT, "bit" ); registerColumnType( Types.BIGINT, "bigint" ); registerColumnType( Types.SMALLINT, "smallint" ); registerColumnType( Types.TINYINT, "tinyint" ); registerColumnType( Types.INTEGER, "integer" ); registerColumnType( Types.CHAR, "char(1)" ); registerColumnType( Types.FLOAT, "float" ); registerColumnType( Types.DOUBLE, "double precision" ); registerColumnType( Types.DATE, "date" ); registerColumnType( Types.TIME, "time" ); registerColumnType( Types.TIMESTAMP, "datetime" ); registerColumnType( Types.VARBINARY, "longblob" ); registerColumnType( Types.VARBINARY, 16777215, "mediumblob" ); registerColumnType( Types.VARBINARY, 65535, "blob" ); registerColumnType( Types.VARBINARY, 255, "tinyblob" ); registerColumnType( Types.BINARY, "binary($l)" ); registerColumnType( Types.LONGVARBINARY, "longblob" ); registerColumnType( Types.LONGVARBINARY, 16777215, "mediumblob" ); registerColumnType( Types.NUMERIC, "decimal($p,$s)" ); registerColumnType( Types.BLOB, "longblob" ); registerColumnType( Types.CLOB, "longtext" ); registerVarcharTypes(); registerFunction("ascii", new StandardSQLFunction("ascii", StandardBasicTypes.INTEGER) ); registerFunction("bin", new StandardSQLFunction("bin", StandardBasicTypes.STRING) ); registerFunction("char_length", new StandardSQLFunction("char_length", StandardBasicTypes.LONG) );
@Override public Dialect resolveDialect(DialectResolutionInfo info) { final String databaseName = info.getDatabaseName(); if ( "MySQL".equals( databaseName ) ) { final int majorVersion = info.getDatabaseMajorVersion(); final int minorVersion = info.getDatabaseMinorVersion(); if ( majorVersion < 5 ) { return new MySQLDialect(); } else if ( majorVersion == 5 ) { if ( minorVersion < 5 ) { return new MySQL5Dialect(); } else if ( minorVersion < 7 ) { return new MySQL55Dialect(); } else { return new MySQL57Dialect(); } } return latestDialectInstance( this ); } return null; } },