/** * Constructs a SQLServerDialect */ public SQLServerDialect() { registerColumnType( Types.VARBINARY, "image" ); registerColumnType( Types.VARBINARY, 8000, "varbinary($l)" ); registerColumnType( Types.LONGVARBINARY, "image" ); registerColumnType( Types.LONGVARCHAR, "text" ); registerColumnType( Types.BOOLEAN, "bit" ); registerFunction( "second", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "datepart(second, ?1)" ) ); registerFunction( "minute", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "datepart(minute, ?1)" ) ); registerFunction( "hour", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "datepart(hour, ?1)" ) ); registerFunction( "locate", new StandardSQLFunction( "charindex", StandardBasicTypes.INTEGER ) ); registerFunction( "extract", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "datepart(?1, ?3)" ) ); registerFunction( "mod", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "?1 % ?2" ) ); registerFunction( "bit_length", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "datalength(?1) * 8" ) ); registerFunction( "trim", new AnsiTrimEmulationFunction() ); registerKeyword( "top" ); }
/** * Constructs a PostgresPlusDialect */ public PostgresPlusDialect() { super(); registerFunction( "ltrim", new StandardSQLFunction( "ltrim" ) ); registerFunction( "rtrim", new StandardSQLFunction( "rtrim" ) ); registerFunction( "soundex", new StandardSQLFunction( "soundex" ) ); registerFunction( "sysdate", new NoArgSQLFunction( "sysdate", StandardBasicTypes.DATE, false ) ); registerFunction( "rowid", new NoArgSQLFunction( "rowid", StandardBasicTypes.LONG, false ) ); registerFunction( "rownum", new NoArgSQLFunction( "rownum", StandardBasicTypes.LONG, false ) ); registerFunction( "instr", new StandardSQLFunction( "instr", StandardBasicTypes.INTEGER ) ); registerFunction( "lpad", new StandardSQLFunction( "lpad", StandardBasicTypes.STRING ) ); registerFunction( "replace", new StandardSQLFunction( "replace", StandardBasicTypes.STRING ) ); registerFunction( "rpad", new StandardSQLFunction( "rpad", StandardBasicTypes.STRING ) ); registerFunction( "translate", new StandardSQLFunction( "translate", StandardBasicTypes.STRING ) ); registerFunction( "substring", new StandardSQLFunction( "substr", StandardBasicTypes.STRING ) ); registerFunction( "coalesce", new NvlFunction() ); registerFunction( "atan2", new StandardSQLFunction( "atan2", StandardBasicTypes.FLOAT ) ); registerFunction( "mod", new StandardSQLFunction( "mod", StandardBasicTypes.INTEGER ) ); registerFunction( "nvl", new StandardSQLFunction( "nvl" ) ); registerFunction( "nvl2", new StandardSQLFunction( "nvl2" ) ); registerFunction( "power", new StandardSQLFunction( "power", StandardBasicTypes.FLOAT ) ); registerFunction( "add_months", new StandardSQLFunction( "add_months", StandardBasicTypes.DATE ) ); registerFunction( "months_between", new StandardSQLFunction( "months_between", StandardBasicTypes.FLOAT ) ); registerFunction( "next_day", new StandardSQLFunction( "next_day", StandardBasicTypes.DATE ) ); }
public SQLServerDialect() { registerColumnType( Types.VARBINARY, "image" ); registerColumnType( Types.VARBINARY, 8000, "varbinary($l)" ); registerFunction( "second", new SQLFunctionTemplate(Hibernate.INTEGER, "datepart(second, ?1)") ); registerFunction( "minute", new SQLFunctionTemplate(Hibernate.INTEGER, "datepart(minute, ?1)") ); registerFunction( "hour", new SQLFunctionTemplate(Hibernate.INTEGER, "datepart(hour, ?1)") ); registerFunction( "locate", new StandardSQLFunction("charindex", Hibernate.INTEGER) ); registerFunction( "extract", new SQLFunctionTemplate( Hibernate.INTEGER, "datepart(?1, ?3)" ) ); registerFunction( "mod", new SQLFunctionTemplate( Hibernate.INTEGER, "?1 % ?2" ) ); registerFunction( "bit_length", new SQLFunctionTemplate( Hibernate.INTEGER, "datalength(?1) * 8" ) ); registerFunction( "trim", new AnsiTrimEmulationFunction() ); registerKeyword("top"); }
public SQLiteDialect() { registerColumnType(Types.BIT, "integer"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "timestamp"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); // registerColumnType(Types.NULL, "null"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "integer"); registerFunction("concat", new VarArgsSQLFunction(StringType.INSTANCE, "", "||", "")); registerFunction("mod", new SQLFunctionTemplate(StringType.INSTANCE, "?1 % ?2")); registerFunction("substr", new StandardSQLFunction("substr", StringType.INSTANCE)); registerFunction("substring", new StandardSQLFunction("substr", StringType.INSTANCE)); }
public SqliteDialect() { super(); registerColumnType(Types.BIT, "integer"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "timestamp"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "integer"); registerFunction("concat", new VarArgsSQLFunction(StringType.INSTANCE, "", "||", "")); registerFunction("mod", new SQLFunctionTemplate(IntegerType.INSTANCE, "?1 % ?2")); registerFunction("substr", new StandardSQLFunction("substr", StringType.INSTANCE)); registerFunction("substring", new StandardSQLFunction("substr", StringType.INSTANCE)); }
/** * Constructs a TimesTenDialect */ public TimesTenDialect() { super(); registerColumnType( Types.BIT, "TINYINT" ); registerColumnType( Types.BIGINT, "BIGINT" ); registerColumnType( Types.SMALLINT, "SMALLINT" ); registerColumnType( Types.TINYINT, "TINYINT" ); registerColumnType( Types.INTEGER, "INTEGER" ); registerColumnType( Types.CHAR, "CHAR(1)" ); registerColumnType( Types.VARCHAR, "VARCHAR($l)" ); registerColumnType( Types.FLOAT, "FLOAT" ); registerColumnType( Types.DOUBLE, "DOUBLE" ); registerColumnType( Types.DATE, "DATE" ); registerColumnType( Types.TIME, "TIME" ); registerColumnType( Types.TIMESTAMP, "TIMESTAMP" ); registerColumnType( Types.VARBINARY, "VARBINARY($l)" ); registerColumnType( Types.NUMERIC, "DECIMAL($p, $s)" ); // TimesTen has no BLOB/CLOB support, but these types may be suitable // for some applications. The length is limited to 4 million bytes. registerColumnType( Types.BLOB, "VARBINARY(4000000)" ); registerColumnType( Types.CLOB, "VARCHAR(4000000)" ); getDefaultProperties().setProperty( Environment.USE_STREAMS_FOR_BINARY, "true" ); getDefaultProperties().setProperty( Environment.STATEMENT_BATCH_SIZE, DEFAULT_BATCH_SIZE ); registerFunction( "lower", new StandardSQLFunction( "lower" ) ); registerFunction( "upper", new StandardSQLFunction( "upper" ) ); registerFunction( "rtrim", new StandardSQLFunction( "rtrim" ) ); registerFunction( "concat", new StandardSQLFunction( "concat", StandardBasicTypes.STRING ) ); registerFunction( "mod", new StandardSQLFunction( "mod" ) ); registerFunction( "to_char", new StandardSQLFunction( "to_char", StandardBasicTypes.STRING ) ); registerFunction( "to_date", new StandardSQLFunction( "to_date", StandardBasicTypes.TIMESTAMP ) ); registerFunction( "sysdate", new NoArgSQLFunction( "sysdate", StandardBasicTypes.TIMESTAMP, false ) ); registerFunction( "getdate", new NoArgSQLFunction( "getdate", StandardBasicTypes.TIMESTAMP, false ) ); registerFunction( "nvl", new StandardSQLFunction( "nvl" ) ); }
/** * Constructs a MckoiDialect */ public MckoiDialect() { 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, "varchar($l)" ); registerColumnType( Types.FLOAT, "float" ); registerColumnType( Types.DOUBLE, "double" ); registerColumnType( Types.DATE, "date" ); registerColumnType( Types.TIME, "time" ); registerColumnType( Types.TIMESTAMP, "timestamp" ); registerColumnType( Types.VARBINARY, "varbinary" ); registerColumnType( Types.NUMERIC, "numeric" ); registerColumnType( Types.BLOB, "blob" ); registerColumnType( Types.CLOB, "clob" ); registerFunction( "upper", new StandardSQLFunction("upper") ); registerFunction( "lower", new StandardSQLFunction("lower") ); registerFunction( "sqrt", new StandardSQLFunction("sqrt", StandardBasicTypes.DOUBLE) ); registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "sign", new StandardSQLFunction( "sign", StandardBasicTypes.INTEGER ) ); registerFunction( "round", new StandardSQLFunction( "round", StandardBasicTypes.INTEGER ) ); registerFunction( "mod", new StandardSQLFunction( "mod", StandardBasicTypes.INTEGER ) ); registerFunction( "least", new StandardSQLFunction("least") ); registerFunction( "greatest", new StandardSQLFunction("greatest") ); registerFunction( "user", new StandardSQLFunction( "user", StandardBasicTypes.STRING ) ); registerFunction( "concat", new StandardSQLFunction( "concat", StandardBasicTypes.STRING ) ); getDefaultProperties().setProperty( Environment.STATEMENT_BATCH_SIZE, NO_BATCH ); }
public static void addBitwiseOperationsToDialect() { SessionFactoryImplementor hibSessionFactory = (SessionFactoryImplementor)new _RootDAO().getSession().getSessionFactory(); Dialect dialect = hibSessionFactory.getDialect(); if (!dialect.getFunctions().containsKey("bit_and")) { if (isOracle()) dialect.getFunctions().put("bit_and", new StandardSQLFunction("bitand", IntegerType.INSTANCE)); else dialect.getFunctions().put("bit_and", new SQLFunctionTemplate(IntegerType.INSTANCE, "?1 & ?2")); } }
public SQLiteDialect() { super(); registerColumnType(Types.BIT, "integer"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "timestamp"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); // registerColumnType(Types.NULL, "null"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "integer"); registerFunction("concat", new VarArgsSQLFunction(new StringType(), "", "||", "")); registerFunction("mod", new SQLFunctionTemplate(new IntegerType(), "?1 % ?2")); registerFunction("substr", new StandardSQLFunction("substr", new StringType())); registerFunction("substring", new StandardSQLFunction("substr", new StringType())); }
private void registerSQLFunctions() { OBDal.getInstance().registerSQLFunction("ad_org_getcalendarowner", new StandardSQLFunction("ad_org_getcalendarowner", new StringType())); OBDal.getInstance().registerSQLFunction("ad_org_getperiodcontrolallow", new StandardSQLFunction("ad_org_getperiodcontrolallow", new StringType())); OBDal.getInstance().registerSQLFunction("m_isparent_ch_value", new StandardSQLFunction("m_isparent_ch_value", new StringType())); }
@Override public void initialize() { OBDal.getInstance().registerSQLFunction("ad_message_get2", new StandardSQLFunction("ad_message_get2", StandardBasicTypes.STRING)); OBDal.getInstance().registerSQLFunction("hqlagg", new SQLFunctionTemplate(StandardBasicTypes.STRING, getAggregationSQL())); OBDal.getInstance().registerSQLFunction("get_uuid", new StandardSQLFunction("get_uuid", StandardBasicTypes.STRING)); }
public OBOracle10gDialect() { super(); registerHibernateType(Types.NUMERIC, StandardBasicTypes.LONG.getName()); registerHibernateType(Types.NVARCHAR, StandardBasicTypes.STRING.getName()); registerHibernateType(Types.NCHAR, StandardBasicTypes.STRING.getName()); registerColumnType(Types.VARCHAR, 4000, "nvarchar2($l)"); registerColumnType(Types.VARCHAR, 100, "varchar2($l)"); registerColumnType(Types.VARCHAR, 5, "char($l)"); registerFunction("to_number", new StandardSQLFunction("to_number", StandardBasicTypes.BIG_DECIMAL)); log.debug("Created Openbravo specific Oracle DIalect"); }
/** * https://issues.openbravo.com/view.php?id=18688 */ @Test public void test18688() { final Session session = OBDal.getInstance().getSession(); OBDal.getInstance().registerSQLFunction("ad_column_identifier_std", new StandardSQLFunction("ad_column_identifier_std", StandardBasicTypes.STRING)); final String qryStr = "select bc.id, ad_column_identifier_std('C_BP_Group', bc.id) from " + Category.ENTITY_NAME + " bc"; final Query qry = session.createQuery(qryStr); for (Object o : qry.list()) { final Object[] os = (Object[]) o; assertTrue(os[1] instanceof String && os[1].toString().length() > 0); } }
public SQLiteDialect() { super(); registerColumnType(Types.BIT, "integer"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "timestamp"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); // registerColumnType(Types.NULL, "null"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "integer"); registerFunction("concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "", "||", "")); registerFunction("mod", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "?1 % ?2")); registerFunction("substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING)); registerFunction("substring", new StandardSQLFunction("substr", StandardBasicTypes.STRING)); }
public SQLiteDialect() { registerColumnType(Types.BIT, "integer"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "timestamp"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); // registerColumnType(Types.NULL, "null"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "integer"); registerFunction( "concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "", "||", "") ); registerFunction( "mod", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "?1 % ?2" ) ); registerFunction( "substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING) ); registerFunction( "substring", new StandardSQLFunction( "substr", StandardBasicTypes.STRING ) ); }
public TimesTenDialect() { super(); registerColumnType( Types.BIT, "TINYINT" ); registerColumnType( Types.BIGINT, "BIGINT" ); registerColumnType( Types.SMALLINT, "SMALLINT" ); registerColumnType( Types.TINYINT, "TINYINT" ); registerColumnType( Types.INTEGER, "INTEGER" ); registerColumnType( Types.CHAR, "CHAR(1)" ); registerColumnType( Types.VARCHAR, "VARCHAR($l)" ); registerColumnType( Types.FLOAT, "FLOAT" ); registerColumnType( Types.DOUBLE, "DOUBLE" ); registerColumnType( Types.DATE, "DATE" ); registerColumnType( Types.TIME, "TIME" ); registerColumnType( Types.TIMESTAMP, "TIMESTAMP" ); registerColumnType( Types.VARBINARY, "VARBINARY($l)" ); registerColumnType( Types.NUMERIC, "DECIMAL($p, $s)" ); // TimesTen has no BLOB/CLOB support, but these types may be suitable // for some applications. The length is limited to 4 million bytes. registerColumnType( Types.BLOB, "VARBINARY(4000000)" ); registerColumnType( Types.CLOB, "VARCHAR(4000000)" ); getDefaultProperties().setProperty(Environment.USE_STREAMS_FOR_BINARY, "true"); getDefaultProperties().setProperty(Environment.STATEMENT_BATCH_SIZE, DEFAULT_BATCH_SIZE); registerFunction( "lower", new StandardSQLFunction("lower") ); registerFunction( "upper", new StandardSQLFunction("upper") ); registerFunction( "rtrim", new StandardSQLFunction("rtrim") ); registerFunction( "concat", new StandardSQLFunction("concat", Hibernate.STRING) ); registerFunction( "mod", new StandardSQLFunction("mod") ); registerFunction( "to_char", new StandardSQLFunction("to_char",Hibernate.STRING) ); registerFunction( "to_date", new StandardSQLFunction("to_date",Hibernate.TIMESTAMP) ); registerFunction( "sysdate", new NoArgSQLFunction("sysdate", Hibernate.TIMESTAMP, false) ); registerFunction( "getdate", new NoArgSQLFunction("getdate", Hibernate.TIMESTAMP, false) ); registerFunction( "nvl", new StandardSQLFunction("nvl") ); }
public MckoiDialect() { 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, "varchar($l)" ); registerColumnType( Types.FLOAT, "float" ); registerColumnType( Types.DOUBLE, "double" ); registerColumnType( Types.DATE, "date" ); registerColumnType( Types.TIME, "time" ); registerColumnType( Types.TIMESTAMP, "timestamp" ); registerColumnType( Types.VARBINARY, "varbinary" ); registerColumnType( Types.NUMERIC, "numeric" ); registerColumnType( Types.BLOB, "blob" ); registerColumnType( Types.CLOB, "clob" ); registerFunction( "upper", new StandardSQLFunction("upper") ); registerFunction( "lower", new StandardSQLFunction("lower") ); registerFunction( "sqrt", new StandardSQLFunction("sqrt", Hibernate.DOUBLE) ); registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "sign", new StandardSQLFunction( "sign", Hibernate.INTEGER ) ); registerFunction( "length", new StandardSQLFunction( "length", Hibernate.INTEGER ) ); registerFunction( "round", new StandardSQLFunction( "round", Hibernate.INTEGER ) ); registerFunction( "mod", new StandardSQLFunction( "mod", Hibernate.INTEGER ) ); registerFunction( "least", new StandardSQLFunction("least") ); registerFunction( "greatest", new StandardSQLFunction("greatest") ); registerFunction( "user", new StandardSQLFunction( "user", Hibernate.STRING ) ); registerFunction( "concat", new StandardSQLFunction( "concat", Hibernate.STRING ) ); getDefaultProperties().setProperty(Environment.STATEMENT_BATCH_SIZE, NO_BATCH); }
public SQLiteDialect() { registerColumnType(Types.BIT, "integer"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "timestamp"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); // registerColumnType(Types.NULL, "null"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "integer"); registerFunction("concat", new VarArgsSQLFunction(StringType.INSTANCE, "", "||", "")); registerFunction("mod", new SQLFunctionTemplate(IntegerType.INSTANCE, "?1 % ?2")); registerFunction("substr", new StandardSQLFunction("substr", StringType.INSTANCE)); registerFunction("substring", new StandardSQLFunction("substr", StringType.INSTANCE)); }
/** * @see org.tools.hqlbuilder.service.ConfigurationPostProcessor#postProcessConfiguration(org.hibernate.cfg.Configuration) */ @Override public void postProcessConfiguration(Configuration config) { for (Map.Entry<String, String> simpleSqlFunction : standardSQLFunctions.entrySet()) { String name = simpleSqlFunction.getKey(); String type = simpleSqlFunction.getValue(); if (type == null || "null".equals(type)) { type = "object"; } config.addSqlFunction(name.toLowerCase(), new StandardSQLFunction(name, getTypes().get(simpleSqlFunction.getValue()))); } }
public SQLiteDialect() { registerColumnType(Types.BIT, "boolean"); //registerColumnType(Types.TINYINT, "tinyint"); //registerColumnType(Types.SMALLINT, "smallint"); //registerColumnType(Types.INTEGER, "integer"); //registerColumnType(Types.BIGINT, "bigint"); //registerColumnType(Types.FLOAT, "float"); //registerColumnType(Types.REAL, "real"); //registerColumnType(Types.DOUBLE, "double"); //registerColumnType(Types.NUMERIC, "numeric($p, $s)"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar($l)"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); //registerColumnType(Types.DATE, "date"); //registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "datetime"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); //registerColumnType(Types.BLOB, "blob"); //registerColumnType(Types.CLOB, "clob"); //registerColumnType(Types.BOOLEAN, "boolean"); registerFunction( "concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "", "||", "") ); registerFunction( "mod", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "?1 % ?2" ) ); registerFunction( "quote", new StandardSQLFunction("quote", StandardBasicTypes.STRING) ); registerFunction( "random", new NoArgSQLFunction("random", StandardBasicTypes.INTEGER) ); registerFunction( "round", new StandardSQLFunction("round") ); registerFunction( "substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING) );}
public SQLiteDialect() { super(); registerColumnType(Types.BIT, "integer"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "timestamp"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); // registerColumnType(Types.NULL, "null"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "integer"); registerFunction( "concat", new VarArgsSQLFunction(Hibernate.STRING, "", "||", "") ); registerFunction( "mod", new SQLFunctionTemplate( Hibernate.INTEGER, "?1 % ?2" ) ); registerFunction( "substr", new StandardSQLFunction("substr", Hibernate.STRING) ); registerFunction( "substring", new StandardSQLFunction( "substr", Hibernate.STRING ) ); }
public SQLiteDialect() { registerColumnType(Types.BIT, "boolean"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric($p, $s)"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar($l)"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "datetime"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "boolean"); registerFunction("concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "", "||", "")); registerFunction("mod", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "?1 % ?2")); registerFunction("quote", new StandardSQLFunction("quote", StandardBasicTypes.STRING)); registerFunction("random", new NoArgSQLFunction("random", StandardBasicTypes.INTEGER)); registerFunction("round", new StandardSQLFunction("round")); registerFunction("substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING)); registerFunction("trim", new AbstractAnsiTrimEmulationFunction() { protected SQLFunction resolveBothSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1)"); } protected SQLFunction resolveBothSpaceTrimFromFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?2)"); } protected SQLFunction resolveLeadingSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1)"); } protected SQLFunction resolveTrailingSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1)"); } protected SQLFunction resolveBothTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1, ?2)"); } protected SQLFunction resolveLeadingTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1, ?2)"); } protected SQLFunction resolveTrailingTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1, ?2)"); } }); }
protected void registerFunctions() { registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "sign", new StandardSQLFunction("sign", StandardBasicTypes.INTEGER) ); registerFunction( "acos", new StandardSQLFunction("acos", StandardBasicTypes.DOUBLE) ); registerFunction( "asin", new StandardSQLFunction("asin", StandardBasicTypes.DOUBLE) ); registerFunction( "atan", new StandardSQLFunction("atan", StandardBasicTypes.DOUBLE) ); registerFunction( "bitand", new StandardSQLFunction("bitand") ); registerFunction( "cos", new StandardSQLFunction("cos", StandardBasicTypes.DOUBLE) ); registerFunction( "cosh", new StandardSQLFunction("cosh", StandardBasicTypes.DOUBLE) ); registerFunction( "exp", new StandardSQLFunction("exp", StandardBasicTypes.DOUBLE) ); registerFunction( "ln", new StandardSQLFunction("ln", StandardBasicTypes.DOUBLE) ); registerFunction( "sin", new StandardSQLFunction("sin", StandardBasicTypes.DOUBLE) ); registerFunction( "sinh", new StandardSQLFunction("sinh", StandardBasicTypes.DOUBLE) ); registerFunction( "stddev", new StandardSQLFunction("stddev", StandardBasicTypes.DOUBLE) ); registerFunction( "sqrt", new StandardSQLFunction("sqrt", StandardBasicTypes.DOUBLE) ); registerFunction( "tan", new StandardSQLFunction("tan", StandardBasicTypes.DOUBLE) ); registerFunction( "tanh", new StandardSQLFunction("tanh", StandardBasicTypes.DOUBLE) ); registerFunction( "variance", new StandardSQLFunction("variance", StandardBasicTypes.DOUBLE) ); registerFunction( "round", new StandardSQLFunction("round") ); registerFunction( "trunc", new StandardSQLFunction("trunc") ); registerFunction( "ceil", new StandardSQLFunction("ceil") ); registerFunction( "floor", new StandardSQLFunction("floor") ); registerFunction( "chr", new StandardSQLFunction("chr", StandardBasicTypes.CHARACTER) ); registerFunction( "initcap", new StandardSQLFunction("initcap") ); registerFunction( "lower", new StandardSQLFunction("lower") ); registerFunction( "ltrim", new StandardSQLFunction("ltrim") ); registerFunction( "rtrim", new StandardSQLFunction("rtrim") ); registerFunction( "soundex", new StandardSQLFunction("soundex") ); registerFunction( "upper", new StandardSQLFunction("upper") ); registerFunction( "ascii", new StandardSQLFunction("ascii", StandardBasicTypes.INTEGER) ); registerFunction( "to_char", new StandardSQLFunction("to_char", StandardBasicTypes.STRING) ); registerFunction( "to_date", new StandardSQLFunction("to_date", StandardBasicTypes.TIMESTAMP) ); registerFunction( "current_date", new NoArgSQLFunction("current_date", StandardBasicTypes.DATE, false) ); registerFunction( "current_time", new NoArgSQLFunction("current_timestamp", StandardBasicTypes.TIME, false) ); registerFunction( "current_timestamp", new NoArgSQLFunction("current_timestamp", StandardBasicTypes.TIMESTAMP, false) ); registerFunction( "last_day", new StandardSQLFunction("last_day", StandardBasicTypes.DATE) ); registerFunction( "sysdate", new NoArgSQLFunction("sysdate", StandardBasicTypes.DATE, false) ); registerFunction( "systimestamp", new NoArgSQLFunction("systimestamp", StandardBasicTypes.TIMESTAMP, false) ); registerFunction( "uid", new NoArgSQLFunction("uid", StandardBasicTypes.INTEGER, false) ); registerFunction( "user", new NoArgSQLFunction("user", StandardBasicTypes.STRING, false) ); registerFunction( "rowid", new NoArgSQLFunction("rowid", StandardBasicTypes.LONG, false) ); registerFunction( "rownum", new NoArgSQLFunction("rownum", StandardBasicTypes.LONG, false) ); // Multi-param string dialect functions... registerFunction( "concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "", "||", "") ); registerFunction( "instr", new StandardSQLFunction("instr", StandardBasicTypes.INTEGER) ); registerFunction( "instrb", new StandardSQLFunction("instrb", StandardBasicTypes.INTEGER) ); registerFunction( "lpad", new StandardSQLFunction("lpad", StandardBasicTypes.STRING) ); registerFunction( "replace", new StandardSQLFunction("replace", StandardBasicTypes.STRING) ); registerFunction( "rpad", new StandardSQLFunction("rpad", StandardBasicTypes.STRING) ); registerFunction( "substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING) ); registerFunction( "substrb", new StandardSQLFunction("substrb", StandardBasicTypes.STRING) ); registerFunction( "translate", new StandardSQLFunction("translate", StandardBasicTypes.STRING) ); registerFunction( "substring", new StandardSQLFunction( "substr", StandardBasicTypes.STRING ) ); registerFunction( "locate", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "instr(?2,?1)" ) ); registerFunction( "bit_length", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "vsize(?1)*8" ) ); registerFunction( "coalesce", new NvlFunction() ); // Multi-param numeric dialect functions... registerFunction( "atan2", new StandardSQLFunction("atan2", StandardBasicTypes.FLOAT) ); registerFunction( "log", new StandardSQLFunction("log", StandardBasicTypes.INTEGER) ); registerFunction( "mod", new StandardSQLFunction("mod", StandardBasicTypes.INTEGER) ); registerFunction( "nvl", new StandardSQLFunction("nvl") ); registerFunction( "nvl2", new StandardSQLFunction("nvl2") ); registerFunction( "power", new StandardSQLFunction("power", StandardBasicTypes.FLOAT) ); // Multi-param date dialect functions... registerFunction( "add_months", new StandardSQLFunction("add_months", StandardBasicTypes.DATE) ); registerFunction( "months_between", new StandardSQLFunction("months_between", StandardBasicTypes.FLOAT) ); registerFunction( "next_day", new StandardSQLFunction("next_day", StandardBasicTypes.DATE) ); registerFunction( "str", new StandardSQLFunction("to_char", StandardBasicTypes.STRING) ); }
public FirebirdDialect() { super(); registerFunction( "replace", new StandardSQLFunction( "replace", StandardBasicTypes.STRING ) ); }
public AbstractTransactSQLDialect() { super(); registerColumnType( Types.BINARY, "binary($l)" ); registerColumnType( Types.BIT, "tinyint" ); registerColumnType( Types.BIGINT, "numeric(19,0)" ); registerColumnType( Types.SMALLINT, "smallint" ); registerColumnType( Types.TINYINT, "smallint" ); registerColumnType( Types.INTEGER, "int" ); registerColumnType( Types.CHAR, "char(1)" ); registerColumnType( Types.VARCHAR, "varchar($l)" ); registerColumnType( Types.FLOAT, "float" ); registerColumnType( Types.DOUBLE, "double precision" ); registerColumnType( Types.DATE, "datetime" ); registerColumnType( Types.TIME, "datetime" ); registerColumnType( Types.TIMESTAMP, "datetime" ); registerColumnType( Types.VARBINARY, "varbinary($l)" ); registerColumnType( Types.NUMERIC, "numeric($p,$s)" ); registerColumnType( Types.BLOB, "image" ); registerColumnType( Types.CLOB, "text" ); registerFunction( "ascii", new StandardSQLFunction( "ascii", StandardBasicTypes.INTEGER ) ); registerFunction( "char", new StandardSQLFunction( "char", StandardBasicTypes.CHARACTER ) ); registerFunction( "len", new StandardSQLFunction( "len", StandardBasicTypes.LONG ) ); registerFunction( "lower", new StandardSQLFunction( "lower" ) ); registerFunction( "upper", new StandardSQLFunction( "upper" ) ); registerFunction( "str", new StandardSQLFunction( "str", StandardBasicTypes.STRING ) ); registerFunction( "ltrim", new StandardSQLFunction( "ltrim" ) ); registerFunction( "rtrim", new StandardSQLFunction( "rtrim" ) ); registerFunction( "reverse", new StandardSQLFunction( "reverse" ) ); registerFunction( "space", new StandardSQLFunction( "space", StandardBasicTypes.STRING ) ); registerFunction( "user", new NoArgSQLFunction( "user", StandardBasicTypes.STRING ) ); registerFunction( "current_timestamp", new NoArgSQLFunction( "getdate", StandardBasicTypes.TIMESTAMP ) ); registerFunction( "current_time", new NoArgSQLFunction( "getdate", StandardBasicTypes.TIME ) ); registerFunction( "current_date", new NoArgSQLFunction( "getdate", StandardBasicTypes.DATE ) ); registerFunction( "getdate", new NoArgSQLFunction( "getdate", StandardBasicTypes.TIMESTAMP ) ); registerFunction( "getutcdate", new NoArgSQLFunction( "getutcdate", StandardBasicTypes.TIMESTAMP ) ); registerFunction( "day", new StandardSQLFunction( "day", StandardBasicTypes.INTEGER ) ); registerFunction( "month", new StandardSQLFunction( "month", StandardBasicTypes.INTEGER ) ); registerFunction( "year", new StandardSQLFunction( "year", StandardBasicTypes.INTEGER ) ); registerFunction( "datename", new StandardSQLFunction( "datename", StandardBasicTypes.STRING ) ); registerFunction( "abs", new StandardSQLFunction( "abs" ) ); registerFunction( "sign", new StandardSQLFunction( "sign", StandardBasicTypes.INTEGER ) ); registerFunction( "acos", new StandardSQLFunction( "acos", StandardBasicTypes.DOUBLE ) ); registerFunction( "asin", new StandardSQLFunction( "asin", StandardBasicTypes.DOUBLE ) ); registerFunction( "atan", new StandardSQLFunction( "atan", StandardBasicTypes.DOUBLE ) ); registerFunction( "cos", new StandardSQLFunction( "cos", StandardBasicTypes.DOUBLE ) ); registerFunction( "cot", new StandardSQLFunction( "cot", StandardBasicTypes.DOUBLE ) ); registerFunction( "exp", new StandardSQLFunction( "exp", StandardBasicTypes.DOUBLE ) ); registerFunction( "log", new StandardSQLFunction( "log", StandardBasicTypes.DOUBLE ) ); registerFunction( "log10", new StandardSQLFunction( "log10", StandardBasicTypes.DOUBLE ) ); registerFunction( "sin", new StandardSQLFunction( "sin", StandardBasicTypes.DOUBLE ) ); registerFunction( "sqrt", new StandardSQLFunction( "sqrt", StandardBasicTypes.DOUBLE ) ); registerFunction( "tan", new StandardSQLFunction( "tan", StandardBasicTypes.DOUBLE ) ); registerFunction( "pi", new NoArgSQLFunction( "pi", StandardBasicTypes.DOUBLE ) ); registerFunction( "square", new StandardSQLFunction( "square" ) ); registerFunction( "rand", new StandardSQLFunction( "rand", StandardBasicTypes.FLOAT ) ); registerFunction( "radians", new StandardSQLFunction( "radians", StandardBasicTypes.DOUBLE ) ); registerFunction( "degrees", new StandardSQLFunction( "degrees", StandardBasicTypes.DOUBLE ) ); registerFunction( "round", new StandardSQLFunction( "round" ) ); registerFunction( "ceiling", new StandardSQLFunction( "ceiling" ) ); registerFunction( "floor", new StandardSQLFunction( "floor" ) ); registerFunction( "isnull", new StandardSQLFunction( "isnull" ) ); registerFunction( "concat", new VarArgsSQLFunction( StandardBasicTypes.STRING, "(", "+", ")" ) ); registerFunction( "length", new StandardSQLFunction( "len", StandardBasicTypes.INTEGER ) ); registerFunction( "trim", new SQLFunctionTemplate( StandardBasicTypes.STRING, "ltrim(rtrim(?1))" ) ); registerFunction( "locate", new CharIndexFunction() ); getDefaultProperties().setProperty( Environment.STATEMENT_BATCH_SIZE, NO_BATCH ); }
public SQLiteDialect() { registerColumnType(Types.BIT, "boolean"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric($p, $s)"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar($l)"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "datetime"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "boolean"); //registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "", "||", "") ); //registerFunction( "length", new StandardSQLFunction("length", StandardBasicTypes.LONG) ); //registerFunction( "lower", new StandardSQLFunction("lower") ); registerFunction( "mod", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "?1 % ?2" ) ); registerFunction( "quote", new StandardSQLFunction("quote", StandardBasicTypes.STRING) ); registerFunction( "random", new NoArgSQLFunction("random", StandardBasicTypes.INTEGER) ); registerFunction( "round", new StandardSQLFunction("round") ); registerFunction( "substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING) ); registerFunction( "substring", new SQLFunctionTemplate( StandardBasicTypes.STRING, "substr(?1, ?2, ?3)" ) ); registerFunction( "trim", new AbstractAnsiTrimEmulationFunction() { protected SQLFunction resolveBothSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1)"); } protected SQLFunction resolveBothSpaceTrimFromFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?2)"); } protected SQLFunction resolveLeadingSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1)"); } protected SQLFunction resolveTrailingSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1)"); } protected SQLFunction resolveBothTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1, ?2)"); } protected SQLFunction resolveLeadingTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1, ?2)"); } protected SQLFunction resolveTrailingTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1, ?2)"); } } ); //registerFunction( "upper", new StandardSQLFunction("upper") ); }
public SQLiteDialect() { registerColumnType(Types.BIT, "boolean"); registerColumnType(Types.TINYINT, "tinyint"); registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.BIGINT, "bigint"); registerColumnType(Types.FLOAT, "float"); registerColumnType(Types.REAL, "real"); registerColumnType(Types.DOUBLE, "double"); registerColumnType(Types.NUMERIC, "numeric($p, $s)"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar($l)"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "datetime"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); registerColumnType(Types.BLOB, "blob"); registerColumnType(Types.CLOB, "clob"); registerColumnType(Types.BOOLEAN, "boolean"); registerFunction( "concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "", "||", "") ); registerFunction( "mod", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "?1 % ?2" ) ); registerFunction( "quote", new StandardSQLFunction("quote", StandardBasicTypes.STRING) ); registerFunction( "random", new NoArgSQLFunction("random", StandardBasicTypes.INTEGER) ); registerFunction( "round", new StandardSQLFunction("round") ); registerFunction( "substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING) ); registerFunction( "trim", new AbstractAnsiTrimEmulationFunction() { protected SQLFunction resolveBothSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1)"); } protected SQLFunction resolveBothSpaceTrimFromFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?2)"); } protected SQLFunction resolveLeadingSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1)"); } protected SQLFunction resolveTrailingSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1)"); } protected SQLFunction resolveBothTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1, ?2)"); } protected SQLFunction resolveLeadingTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1, ?2)"); } protected SQLFunction resolveTrailingTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1, ?2)"); } } ); uniqueDelegate = new SQLiteUniqueDelegate( this ); }
public SQLiteDialect() { registerColumnType(Types.BIT, "boolean"); // registerColumnType(Types.TINYINT, "tinyint"); // registerColumnType(Types.SMALLINT, "smallint"); // registerColumnType(Types.INTEGER, "integer"); // registerColumnType(Types.BIGINT, "bigint"); // registerColumnType(Types.FLOAT, "float"); // registerColumnType(Types.REAL, "real"); // registerColumnType(Types.DOUBLE, "double"); // registerColumnType(Types.NUMERIC, "numeric($p, $s)"); registerColumnType(Types.DECIMAL, "decimal"); registerColumnType(Types.CHAR, "char"); registerColumnType(Types.VARCHAR, "varchar($l)"); registerColumnType(Types.LONGVARCHAR, "longvarchar"); // registerColumnType(Types.DATE, "date"); // registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "datetime"); registerColumnType(Types.BINARY, "blob"); registerColumnType(Types.VARBINARY, "blob"); registerColumnType(Types.LONGVARBINARY, "blob"); // registerColumnType(Types.BLOB, "blob"); // registerColumnType(Types.CLOB, "clob"); // registerColumnType(Types.BOOLEAN, "boolean"); registerFunction("concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "", "||", "")); registerFunction("mod", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "?1 % ?2")); registerFunction("quote", new StandardSQLFunction("quote", StandardBasicTypes.STRING)); registerFunction("random", new NoArgSQLFunction("random", StandardBasicTypes.INTEGER)); registerFunction("round", new StandardSQLFunction("round")); registerFunction("substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING)); registerFunction("trim", new AbstractAnsiTrimEmulationFunction() { @Override protected SQLFunction resolveBothSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1)"); } @Override protected SQLFunction resolveBothSpaceTrimFromFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?2)"); } @Override protected SQLFunction resolveLeadingSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1)"); } @Override protected SQLFunction resolveTrailingSpaceTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1)"); } @Override protected SQLFunction resolveBothTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "trim(?1, ?2)"); } @Override protected SQLFunction resolveLeadingTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "ltrim(?1, ?2)"); } @Override protected SQLFunction resolveTrailingTrimFunction() { return new SQLFunctionTemplate(StandardBasicTypes.STRING, "rtrim(?1, ?2)"); } }); uniqueDelegate = new SQLiteUniqueDelegate(this); }
public GemFireXDDialect() { super(); LOG.info("GemFireXDDialect for Hibernate 4.0 initialized."); registerFunction("concat", new DerbyConcatFunction()); registerFunction("trim", new AnsiTrimFunction()); registerFunction("value", new StandardSQLFunction("coalesce")); registerFunction("nvl", new NvlFunction()); registerFunction("groups", new StandardSQLFunction("GROUPS", StandardBasicTypes.STRING)); registerFunction("dsid", new StandardSQLFunction("DSID", StandardBasicTypes.STRING)); registerFunction("groupsintersection", new StandardSQLFunction( "GROUPSINTERSECTION", StandardBasicTypes.STRING)); registerFunction("groupsintersect", new StandardSQLFunction( "GROUPSINTERSECT", StandardBasicTypes.BOOLEAN)); registerFunction("groupsunion", new StandardSQLFunction("GROUPSUNION", StandardBasicTypes.STRING)); registerFunction("longint", new StandardSQLFunction("bigint", StandardBasicTypes.LONG)); registerFunction("int", new StandardSQLFunction("integer", StandardBasicTypes.INTEGER)); registerFunction("pi", new StandardSQLFunction("pi", StandardBasicTypes.DOUBLE)); registerFunction("random", new NoArgSQLFunction("random", StandardBasicTypes.DOUBLE)); registerFunction("rand", new StandardSQLFunction("rand", StandardBasicTypes.DOUBLE));// override registerFunction("sinh", new StandardSQLFunction("sinh", StandardBasicTypes.DOUBLE)); registerFunction("cosh", new StandardSQLFunction("cosh", StandardBasicTypes.DOUBLE)); registerFunction("tanh", new StandardSQLFunction("tanh", StandardBasicTypes.DOUBLE)); registerFunction("user", new NoArgSQLFunction("USER", StandardBasicTypes.STRING, false)); registerFunction("current_user", new NoArgSQLFunction("CURRENT_USER", StandardBasicTypes.STRING, false)); registerFunction("session_user", new NoArgSQLFunction("SESSION_USER", StandardBasicTypes.STRING, false)); registerFunction("current isolation", new NoArgSQLFunction( "CURRENT ISOLATION", StandardBasicTypes.STRING, false)); registerFunction("current_role", new NoArgSQLFunction("CURRENT_ROLE", StandardBasicTypes.STRING, false)); registerFunction("current schema", new NoArgSQLFunction( "CURRENT SCHEMA", StandardBasicTypes.STRING, false)); registerFunction("current sqlid", new NoArgSQLFunction("CURRENT SQLID", StandardBasicTypes.STRING, false)); registerFunction("xmlexists", new StandardSQLFunction("XMLEXISTS", StandardBasicTypes.NUMERIC_BOOLEAN)); registerFunction("xmlparse", new StandardSQLFunction("XMLPARSE", StandardBasicTypes.TEXT)); registerFunction("xmlquery", new StandardSQLFunction("XMLQUERY", StandardBasicTypes.STRING)); registerFunction("xmlserialize", new StandardSQLFunction( "XMLSERIALIZE", StandardBasicTypes.STRING)); registerFunction("get_current_connection", new NoArgSQLFunction( "GET_CURRENT_CONNECTION", StandardBasicTypes.BINARY, true)); registerFunction("identity_val_local", new NoArgSQLFunction( "IDENTITY_VAL_LOCAL", StandardBasicTypes.BINARY, true)); }
public GemFireXDDialect() { super(); LOG.info("GemFireXDDialect for Hibernate 4 initialized."); registerFunction("concat", new DerbyConcatFunction()); registerFunction("trim", new AnsiTrimFunction()); registerFunction("value", new StandardSQLFunction("coalesce")); registerFunction("nvl", new NvlFunction()); registerFunction("groups", new StandardSQLFunction("GROUPS", StandardBasicTypes.STRING)); registerFunction("dsid", new StandardSQLFunction("DSID", StandardBasicTypes.STRING)); registerFunction("groupsintersection", new StandardSQLFunction( "GROUPSINTERSECTION", StandardBasicTypes.STRING)); registerFunction("groupsintersect", new StandardSQLFunction( "GROUPSINTERSECT", StandardBasicTypes.BOOLEAN)); registerFunction("groupsunion", new StandardSQLFunction("GROUPSUNION", StandardBasicTypes.STRING)); registerFunction("longint", new StandardSQLFunction("bigint", StandardBasicTypes.LONG)); registerFunction("int", new StandardSQLFunction("integer", StandardBasicTypes.INTEGER)); registerFunction("pi", new StandardSQLFunction("pi", StandardBasicTypes.DOUBLE)); registerFunction("random", new NoArgSQLFunction("random", StandardBasicTypes.DOUBLE)); registerFunction("rand", new StandardSQLFunction("rand", StandardBasicTypes.DOUBLE));// override registerFunction("sinh", new StandardSQLFunction("sinh", StandardBasicTypes.DOUBLE)); registerFunction("cosh", new StandardSQLFunction("cosh", StandardBasicTypes.DOUBLE)); registerFunction("tanh", new StandardSQLFunction("tanh", StandardBasicTypes.DOUBLE)); registerFunction("user", new NoArgSQLFunction("USER", StandardBasicTypes.STRING, false)); registerFunction("current_user", new NoArgSQLFunction("CURRENT_USER", StandardBasicTypes.STRING, false)); registerFunction("session_user", new NoArgSQLFunction("SESSION_USER", StandardBasicTypes.STRING, false)); registerFunction("current isolation", new NoArgSQLFunction( "CURRENT ISOLATION", StandardBasicTypes.STRING, false)); registerFunction("current_role", new NoArgSQLFunction("CURRENT_ROLE", StandardBasicTypes.STRING, false)); registerFunction("current schema", new NoArgSQLFunction( "CURRENT SCHEMA", StandardBasicTypes.STRING, false)); registerFunction("current sqlid", new NoArgSQLFunction("CURRENT SQLID", StandardBasicTypes.STRING, false)); registerFunction("xmlexists", new StandardSQLFunction("XMLEXISTS", StandardBasicTypes.NUMERIC_BOOLEAN)); registerFunction("xmlparse", new StandardSQLFunction("XMLPARSE", StandardBasicTypes.TEXT)); registerFunction("xmlquery", new StandardSQLFunction("XMLQUERY", StandardBasicTypes.STRING)); registerFunction("xmlserialize", new StandardSQLFunction( "XMLSERIALIZE", StandardBasicTypes.STRING)); registerFunction("get_current_connection", new NoArgSQLFunction( "GET_CURRENT_CONNECTION", StandardBasicTypes.BINARY, true)); registerFunction("identity_val_local", new NoArgSQLFunction( "IDENTITY_VAL_LOCAL", StandardBasicTypes.BINARY, true)); }
public GemFireXDDialect() { super(); LOG.info("GemFireXDDialect for Hibernate 3.6 initialized."); registerFunction("trim", new AnsiTrimFunction()); registerFunction("concat", new DerbyConcatFunction()); registerFunction("value", new StandardSQLFunction("coalesce")); registerFunction("nvl", new NvlFunction()); registerFunction("groups", new StandardSQLFunction("GROUPS", StandardBasicTypes.STRING)); registerFunction("dsid", new StandardSQLFunction("DSID", StandardBasicTypes.STRING)); registerFunction("groupsintersection", new StandardSQLFunction( "GROUPSINTERSECTION", StandardBasicTypes.STRING)); registerFunction("groupsintersect", new StandardSQLFunction( "GROUPSINTERSECT", StandardBasicTypes.BOOLEAN)); registerFunction("groupsunion", new StandardSQLFunction("GROUPSUNION", StandardBasicTypes.STRING)); registerFunction("longint", new StandardSQLFunction("bigint", StandardBasicTypes.LONG)); registerFunction("int", new StandardSQLFunction("integer", StandardBasicTypes.INTEGER)); registerFunction("pi", new StandardSQLFunction("pi", StandardBasicTypes.DOUBLE)); registerFunction("random", new NoArgSQLFunction("random", StandardBasicTypes.DOUBLE)); registerFunction("rand", new StandardSQLFunction("rand", StandardBasicTypes.DOUBLE));// override registerFunction("sinh", new StandardSQLFunction("sinh", StandardBasicTypes.DOUBLE)); registerFunction("cosh", new StandardSQLFunction("cosh", StandardBasicTypes.DOUBLE)); registerFunction("tanh", new StandardSQLFunction("tanh", StandardBasicTypes.DOUBLE)); registerFunction("user", new NoArgSQLFunction("USER", StandardBasicTypes.STRING, false)); registerFunction("current_user", new NoArgSQLFunction("CURRENT_USER", StandardBasicTypes.STRING, false)); registerFunction("session_user", new NoArgSQLFunction("SESSION_USER", StandardBasicTypes.STRING, false)); registerFunction("current isolation", new NoArgSQLFunction( "CURRENT ISOLATION", StandardBasicTypes.STRING, false)); registerFunction("current_role", new NoArgSQLFunction("CURRENT_ROLE", StandardBasicTypes.STRING, false)); registerFunction("current schema", new NoArgSQLFunction("CURRENT SCHEMA", StandardBasicTypes.STRING, false)); registerFunction("current sqlid", new NoArgSQLFunction("CURRENT SQLID", StandardBasicTypes.STRING, false)); registerFunction("xmlexists", new StandardSQLFunction("XMLEXISTS", StandardBasicTypes.NUMERIC_BOOLEAN)); registerFunction("xmlparse", new StandardSQLFunction("XMLPARSE", StandardBasicTypes.TEXT)); registerFunction("xmlquery", new StandardSQLFunction("XMLQUERY", StandardBasicTypes.STRING)); registerFunction("xmlserialize", new StandardSQLFunction("XMLSERIALIZE", StandardBasicTypes.STRING)); registerFunction("get_current_connection", new NoArgSQLFunction( "GET_CURRENT_CONNECTION", StandardBasicTypes.BINARY, true)); registerFunction("identity_val_local", new NoArgSQLFunction( "IDENTITY_VAL_LOCAL", StandardBasicTypes.BINARY, true)); }
public GemFireXDDialect() { super(); LOG.info("GemFireXDDialect for Hibernate 3 initialized."); /* registerFunction("trim", new AnsiTrimFunction()); registerFunction("concat", new DerbyConcatFunction());*/ registerFunction("value", new StandardSQLFunction("coalesce")); registerFunction("nvl", new NvlFunction()); registerFunction("groups", new StandardSQLFunction("GROUPS", Hibernate.STRING)); registerFunction("dsid", new StandardSQLFunction("DSID", Hibernate.STRING)); registerFunction("groupsintersection", new StandardSQLFunction( "GROUPSINTERSECTION", Hibernate.STRING)); registerFunction("groupsintersect", new StandardSQLFunction( "GROUPSINTERSECT", Hibernate.BOOLEAN)); registerFunction("groupsunion", new StandardSQLFunction("GROUPSUNION", Hibernate.STRING)); registerFunction("longint", new StandardSQLFunction("bigint", Hibernate.LONG)); registerFunction("int", new StandardSQLFunction("integer", Hibernate.INTEGER)); registerFunction("pi", new StandardSQLFunction("pi", Hibernate.DOUBLE)); registerFunction("random", new NoArgSQLFunction("random", Hibernate.DOUBLE)); registerFunction("rand", new StandardSQLFunction("rand", Hibernate.DOUBLE));// override registerFunction("sinh", new StandardSQLFunction("sinh", Hibernate.DOUBLE)); registerFunction("cosh", new StandardSQLFunction("cosh", Hibernate.DOUBLE)); registerFunction("tanh", new StandardSQLFunction("tanh", Hibernate.DOUBLE)); registerFunction("user", new NoArgSQLFunction("USER", Hibernate.STRING, false)); registerFunction("current_user", new NoArgSQLFunction("CURRENT_USER", Hibernate.STRING, false)); registerFunction("session_user", new NoArgSQLFunction("SESSION_USER", Hibernate.STRING, false)); registerFunction("current isolation", new NoArgSQLFunction( "CURRENT ISOLATION", Hibernate.STRING, false)); registerFunction("current_role", new NoArgSQLFunction("CURRENT_ROLE", Hibernate.STRING, false)); registerFunction("current schema", new NoArgSQLFunction("CURRENT SCHEMA", Hibernate.STRING, false)); registerFunction("current sqlid", new NoArgSQLFunction("CURRENT SQLID", Hibernate.STRING, false)); registerFunction("xmlexists", new StandardSQLFunction("XMLEXISTS", Hibernate.BOOLEAN)); registerFunction("xmlparse", new StandardSQLFunction("XMLPARSE", Hibernate.TEXT)); registerFunction("xmlquery", new StandardSQLFunction("XMLQUERY", Hibernate.STRING)); registerFunction("xmlserialize", new StandardSQLFunction("XMLSERIALIZE", Hibernate.STRING)); registerFunction("get_current_connection", new NoArgSQLFunction( "GET_CURRENT_CONNECTION", Hibernate.BINARY, true)); registerFunction("identity_val_local", new NoArgSQLFunction( "IDENTITY_VAL_LOCAL", Hibernate.BINARY, true)); }
protected void registerFunctions() { registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "sign", new StandardSQLFunction("sign", Hibernate.INTEGER) ); registerFunction( "acos", new StandardSQLFunction("acos", Hibernate.DOUBLE) ); registerFunction( "asin", new StandardSQLFunction("asin", Hibernate.DOUBLE) ); registerFunction( "atan", new StandardSQLFunction("atan", Hibernate.DOUBLE) ); registerFunction( "cos", new StandardSQLFunction("cos", Hibernate.DOUBLE) ); registerFunction( "cosh", new StandardSQLFunction("cosh", Hibernate.DOUBLE) ); registerFunction( "exp", new StandardSQLFunction("exp", Hibernate.DOUBLE) ); registerFunction( "ln", new StandardSQLFunction("ln", Hibernate.DOUBLE) ); registerFunction( "sin", new StandardSQLFunction("sin", Hibernate.DOUBLE) ); registerFunction( "sinh", new StandardSQLFunction("sinh", Hibernate.DOUBLE) ); registerFunction( "stddev", new StandardSQLFunction("stddev", Hibernate.DOUBLE) ); registerFunction( "sqrt", new StandardSQLFunction("sqrt", Hibernate.DOUBLE) ); registerFunction( "tan", new StandardSQLFunction("tan", Hibernate.DOUBLE) ); registerFunction( "tanh", new StandardSQLFunction("tanh", Hibernate.DOUBLE) ); registerFunction( "variance", new StandardSQLFunction("variance", Hibernate.DOUBLE) ); registerFunction( "round", new StandardSQLFunction("round") ); registerFunction( "trunc", new StandardSQLFunction("trunc") ); registerFunction( "ceil", new StandardSQLFunction("ceil") ); registerFunction( "floor", new StandardSQLFunction("floor") ); registerFunction( "chr", new StandardSQLFunction("chr", Hibernate.CHARACTER) ); registerFunction( "initcap", new StandardSQLFunction("initcap") ); registerFunction( "lower", new StandardSQLFunction("lower") ); registerFunction( "ltrim", new StandardSQLFunction("ltrim") ); registerFunction( "rtrim", new StandardSQLFunction("rtrim") ); registerFunction( "soundex", new StandardSQLFunction("soundex") ); registerFunction( "upper", new StandardSQLFunction("upper") ); registerFunction( "ascii", new StandardSQLFunction("ascii", Hibernate.INTEGER) ); registerFunction( "length", new StandardSQLFunction("length", Hibernate.LONG) ); registerFunction( "to_char", new StandardSQLFunction("to_char", Hibernate.STRING) ); registerFunction( "to_date", new StandardSQLFunction("to_date", Hibernate.TIMESTAMP) ); registerFunction( "current_date", new NoArgSQLFunction("current_date", Hibernate.DATE, false) ); registerFunction( "current_time", new NoArgSQLFunction("current_timestamp", Hibernate.TIME, false) ); registerFunction( "current_timestamp", new NoArgSQLFunction("current_timestamp", Hibernate.TIMESTAMP, false) ); registerFunction( "lastday", new StandardSQLFunction("lastday", Hibernate.DATE) ); registerFunction( "sysdate", new NoArgSQLFunction("sysdate", Hibernate.DATE, false) ); registerFunction( "systimestamp", new NoArgSQLFunction("systimestamp", Hibernate.TIMESTAMP, false) ); registerFunction( "uid", new NoArgSQLFunction("uid", Hibernate.INTEGER, false) ); registerFunction( "user", new NoArgSQLFunction("user", Hibernate.STRING, false) ); registerFunction( "rowid", new NoArgSQLFunction("rowid", Hibernate.LONG, false) ); registerFunction( "rownum", new NoArgSQLFunction("rownum", Hibernate.LONG, false) ); // Multi-param string dialect functions... registerFunction( "concat", new VarArgsSQLFunction(Hibernate.STRING, "", "||", "") ); registerFunction( "instr", new StandardSQLFunction("instr", Hibernate.INTEGER) ); registerFunction( "instrb", new StandardSQLFunction("instrb", Hibernate.INTEGER) ); registerFunction( "lpad", new StandardSQLFunction("lpad", Hibernate.STRING) ); registerFunction( "replace", new StandardSQLFunction("replace", Hibernate.STRING) ); registerFunction( "rpad", new StandardSQLFunction("rpad", Hibernate.STRING) ); registerFunction( "substr", new StandardSQLFunction("substr", Hibernate.STRING) ); registerFunction( "substrb", new StandardSQLFunction("substrb", Hibernate.STRING) ); registerFunction( "translate", new StandardSQLFunction("translate", Hibernate.STRING) ); registerFunction( "substring", new StandardSQLFunction( "substr", Hibernate.STRING ) ); registerFunction( "locate", new SQLFunctionTemplate( Hibernate.INTEGER, "instr(?2,?1)" ) ); registerFunction( "bit_length", new SQLFunctionTemplate( Hibernate.INTEGER, "vsize(?1)*8" ) ); registerFunction( "coalesce", new NvlFunction() ); // Multi-param numeric dialect functions... registerFunction( "atan2", new StandardSQLFunction("atan2", Hibernate.FLOAT) ); registerFunction( "log", new StandardSQLFunction("log", Hibernate.INTEGER) ); registerFunction( "mod", new StandardSQLFunction("mod", Hibernate.INTEGER) ); registerFunction( "nvl", new StandardSQLFunction("nvl") ); registerFunction( "nvl2", new StandardSQLFunction("nvl2") ); registerFunction( "power", new StandardSQLFunction("power", Hibernate.FLOAT) ); // Multi-param date dialect functions... registerFunction( "add_months", new StandardSQLFunction("add_months", Hibernate.DATE) ); registerFunction( "months_between", new StandardSQLFunction("months_between", Hibernate.FLOAT) ); registerFunction( "next_day", new StandardSQLFunction("next_day", Hibernate.DATE) ); registerFunction( "str", new StandardSQLFunction("to_char", Hibernate.STRING) ); }
public SybaseDialect() { super(); registerColumnType( Types.BIT, "tinyint" ); //Sybase BIT type does not support null values registerColumnType( Types.BIGINT, "numeric(19,0)" ); registerColumnType( Types.SMALLINT, "smallint" ); registerColumnType( Types.TINYINT, "tinyint" ); registerColumnType( Types.INTEGER, "int" ); registerColumnType( Types.CHAR, "char(1)" ); registerColumnType( Types.VARCHAR, "varchar($l)" ); registerColumnType( Types.FLOAT, "float" ); registerColumnType( Types.DOUBLE, "double precision" ); registerColumnType( Types.DATE, "datetime" ); registerColumnType( Types.TIME, "datetime" ); registerColumnType( Types.TIMESTAMP, "datetime" ); registerColumnType( Types.VARBINARY, "varbinary($l)" ); registerColumnType( Types.NUMERIC, "numeric($p,$s)" ); registerColumnType( Types.BLOB, "image" ); registerColumnType( Types.CLOB, "text" ); registerFunction( "ascii", new StandardSQLFunction("ascii", Hibernate.INTEGER) ); registerFunction( "char", new StandardSQLFunction("char", Hibernate.CHARACTER) ); registerFunction( "len", new StandardSQLFunction("len", Hibernate.LONG) ); registerFunction( "lower", new StandardSQLFunction("lower") ); registerFunction( "upper", new StandardSQLFunction("upper") ); registerFunction( "str", new StandardSQLFunction("str", Hibernate.STRING) ); registerFunction( "ltrim", new StandardSQLFunction("ltrim") ); registerFunction( "rtrim", new StandardSQLFunction("rtrim") ); registerFunction( "reverse", new StandardSQLFunction("reverse") ); registerFunction( "space", new StandardSQLFunction("space", Hibernate.STRING) ); registerFunction( "user", new NoArgSQLFunction("user", Hibernate.STRING) ); registerFunction( "current_timestamp", new NoArgSQLFunction("getdate", Hibernate.TIMESTAMP) ); registerFunction( "current_time", new NoArgSQLFunction("getdate", Hibernate.TIME) ); registerFunction( "current_date", new NoArgSQLFunction("getdate", Hibernate.DATE) ); registerFunction( "getdate", new NoArgSQLFunction("getdate", Hibernate.TIMESTAMP) ); registerFunction( "getutcdate", new NoArgSQLFunction("getutcdate", Hibernate.TIMESTAMP) ); registerFunction( "day", new StandardSQLFunction("day", Hibernate.INTEGER) ); registerFunction( "month", new StandardSQLFunction("month", Hibernate.INTEGER) ); registerFunction( "year", new StandardSQLFunction("year", Hibernate.INTEGER) ); registerFunction( "datename", new StandardSQLFunction("datename", Hibernate.STRING) ); registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "sign", new StandardSQLFunction("sign", Hibernate.INTEGER) ); registerFunction( "acos", new StandardSQLFunction("acos", Hibernate.DOUBLE) ); registerFunction( "asin", new StandardSQLFunction("asin", Hibernate.DOUBLE) ); registerFunction( "atan", new StandardSQLFunction("atan", Hibernate.DOUBLE) ); registerFunction( "cos", new StandardSQLFunction("cos", Hibernate.DOUBLE) ); registerFunction( "cot", new StandardSQLFunction("cot", Hibernate.DOUBLE) ); registerFunction( "exp", new StandardSQLFunction("exp", Hibernate.DOUBLE) ); registerFunction( "log", new StandardSQLFunction( "log", Hibernate.DOUBLE) ); registerFunction( "log10", new StandardSQLFunction("log10", Hibernate.DOUBLE) ); registerFunction( "sin", new StandardSQLFunction("sin", Hibernate.DOUBLE) ); registerFunction( "sqrt", new StandardSQLFunction("sqrt", Hibernate.DOUBLE) ); registerFunction( "tan", new StandardSQLFunction("tan", Hibernate.DOUBLE) ); registerFunction( "pi", new NoArgSQLFunction("pi", Hibernate.DOUBLE) ); registerFunction( "square", new StandardSQLFunction("square") ); registerFunction( "rand", new StandardSQLFunction("rand", Hibernate.FLOAT) ); registerFunction("radians", new StandardSQLFunction("radians", Hibernate.DOUBLE) ); registerFunction("degrees", new StandardSQLFunction("degrees", Hibernate.DOUBLE) ); registerFunction( "round", new StandardSQLFunction("round") ); registerFunction( "ceiling", new StandardSQLFunction("ceiling") ); registerFunction( "floor", new StandardSQLFunction("floor") ); registerFunction( "isnull", new StandardSQLFunction("isnull") ); registerFunction( "concat", new VarArgsSQLFunction( Hibernate.STRING, "(","+",")" ) ); registerFunction( "length", new StandardSQLFunction( "len", Hibernate.INTEGER ) ); registerFunction( "trim", new SQLFunctionTemplate( Hibernate.STRING, "ltrim(rtrim(?1))") ); registerFunction( "locate", new CharIndexFunction() ); getDefaultProperties().setProperty(Environment.STATEMENT_BATCH_SIZE, NO_BATCH); }
protected Dialect() { log.info( "Using dialect: " + this ); sqlFunctions.putAll( STANDARD_AGGREGATE_FUNCTIONS ); // standard sql92 functions (can be overridden by subclasses) registerFunction( "substring", new SQLFunctionTemplate( Hibernate.STRING, "substring(?1, ?2, ?3)" ) ); registerFunction( "locate", new SQLFunctionTemplate( Hibernate.INTEGER, "locate(?1, ?2, ?3)" ) ); registerFunction( "trim", new SQLFunctionTemplate( Hibernate.STRING, "trim(?1 ?2 ?3 ?4)" ) ); registerFunction( "length", new StandardSQLFunction( "length", Hibernate.INTEGER ) ); registerFunction( "bit_length", new StandardSQLFunction( "bit_length", Hibernate.INTEGER ) ); registerFunction( "coalesce", new StandardSQLFunction( "coalesce" ) ); registerFunction( "nullif", new StandardSQLFunction( "nullif" ) ); registerFunction( "abs", new StandardSQLFunction( "abs" ) ); registerFunction( "mod", new StandardSQLFunction( "mod", Hibernate.INTEGER) ); registerFunction( "sqrt", new StandardSQLFunction( "sqrt", Hibernate.DOUBLE) ); registerFunction( "upper", new StandardSQLFunction("upper") ); registerFunction( "lower", new StandardSQLFunction("lower") ); registerFunction( "cast", new CastFunction() ); registerFunction( "extract", new SQLFunctionTemplate(Hibernate.INTEGER, "extract(?1 ?2 ?3)") ); //map second/minute/hour/day/month/year to ANSI extract(), override on subclasses registerFunction( "second", new SQLFunctionTemplate(Hibernate.INTEGER, "extract(second from ?1)") ); registerFunction( "minute", new SQLFunctionTemplate(Hibernate.INTEGER, "extract(minute from ?1)") ); registerFunction( "hour", new SQLFunctionTemplate(Hibernate.INTEGER, "extract(hour from ?1)") ); registerFunction( "day", new SQLFunctionTemplate(Hibernate.INTEGER, "extract(day from ?1)") ); registerFunction( "month", new SQLFunctionTemplate(Hibernate.INTEGER, "extract(month from ?1)") ); registerFunction( "year", new SQLFunctionTemplate(Hibernate.INTEGER, "extract(year from ?1)") ); registerFunction( "str", new SQLFunctionTemplate(Hibernate.STRING, "cast(?1 as char)") ); // register hibernate types for default use in scalar sqlquery type auto detection registerHibernateType( Types.BIGINT, Hibernate.BIG_INTEGER.getName() ); registerHibernateType( Types.BINARY, Hibernate.BINARY.getName() ); registerHibernateType( Types.BIT, Hibernate.BOOLEAN.getName() ); registerHibernateType( Types.CHAR, Hibernate.CHARACTER.getName() ); registerHibernateType( Types.DATE, Hibernate.DATE.getName() ); registerHibernateType( Types.DOUBLE, Hibernate.DOUBLE.getName() ); registerHibernateType( Types.FLOAT, Hibernate.FLOAT.getName() ); registerHibernateType( Types.INTEGER, Hibernate.INTEGER.getName() ); registerHibernateType( Types.SMALLINT, Hibernate.SHORT.getName() ); registerHibernateType( Types.TINYINT, Hibernate.BYTE.getName() ); registerHibernateType( Types.TIME, Hibernate.TIME.getName() ); registerHibernateType( Types.TIMESTAMP, Hibernate.TIMESTAMP.getName() ); registerHibernateType( Types.VARCHAR, Hibernate.STRING.getName() ); registerHibernateType( Types.VARBINARY, Hibernate.BINARY.getName() ); registerHibernateType( Types.NUMERIC, Hibernate.BIG_DECIMAL.getName() ); registerHibernateType( Types.DECIMAL, Hibernate.BIG_DECIMAL.getName() ); registerHibernateType( Types.BLOB, Hibernate.BLOB.getName() ); registerHibernateType( Types.CLOB, Hibernate.CLOB.getName() ); registerHibernateType( Types.REAL, Hibernate.FLOAT.getName() ); }