List of usage examples for org.hibernate.dialect.function PositionSubstringFunction PositionSubstringFunction
PositionSubstringFunction
From source file:com.syndiceo.PostgreSQLDialect.java
License:Open Source License
public PostgreSQLDialect() { super();/*from www. j av a 2 s.com*/ registerColumnType(Types.BIT, "bool"); registerColumnType(Types.BIGINT, "int8"); registerColumnType(Types.SMALLINT, "int2"); registerColumnType(Types.TINYINT, "int2"); registerColumnType(Types.INTEGER, "int4"); registerColumnType(Types.CHAR, "char(1)"); registerColumnType(Types.VARCHAR, "varchar($l)"); registerColumnType(Types.FLOAT, "float4"); registerColumnType(Types.DOUBLE, "float8"); registerColumnType(Types.DATE, "date"); registerColumnType(Types.TIME, "time"); registerColumnType(Types.TIMESTAMP, "timestamp"); registerColumnType(Types.VARBINARY, "bytea"); registerColumnType(Types.BINARY, "bytea"); registerColumnType(Types.LONGVARCHAR, "text"); registerColumnType(Types.LONGVARBINARY, "bytea"); registerColumnType(Types.CLOB, "text"); registerColumnType(Types.BLOB, "oid"); registerColumnType(Types.NUMERIC, "numeric($p, $s)"); registerColumnType(Types.OTHER, "uuid"); 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("ln", new StandardSQLFunction("ln", StandardBasicTypes.DOUBLE)); registerFunction("log", new StandardSQLFunction("log", StandardBasicTypes.DOUBLE)); registerFunction("sin", new StandardSQLFunction("sin", StandardBasicTypes.DOUBLE)); registerFunction("sqrt", new StandardSQLFunction("sqrt", StandardBasicTypes.DOUBLE)); registerFunction("cbrt", new StandardSQLFunction("cbrt", StandardBasicTypes.DOUBLE)); registerFunction("tan", new StandardSQLFunction("tan", StandardBasicTypes.DOUBLE)); registerFunction("radians", new StandardSQLFunction("radians", StandardBasicTypes.DOUBLE)); registerFunction("degrees", new StandardSQLFunction("degrees", StandardBasicTypes.DOUBLE)); registerFunction("stddev", new StandardSQLFunction("stddev", StandardBasicTypes.DOUBLE)); registerFunction("variance", new StandardSQLFunction("variance", StandardBasicTypes.DOUBLE)); registerFunction("random", new NoArgSQLFunction("random", 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("lower", new StandardSQLFunction("lower")); registerFunction("upper", new StandardSQLFunction("upper")); registerFunction("substr", new StandardSQLFunction("substr", StandardBasicTypes.STRING)); registerFunction("initcap", new StandardSQLFunction("initcap")); registerFunction("to_ascii", new StandardSQLFunction("to_ascii")); registerFunction("quote_ident", new StandardSQLFunction("quote_ident", StandardBasicTypes.STRING)); registerFunction("quote_literal", new StandardSQLFunction("quote_literal", StandardBasicTypes.STRING)); registerFunction("md5", new StandardSQLFunction("md5")); registerFunction("ascii", new StandardSQLFunction("ascii", StandardBasicTypes.INTEGER)); registerFunction("char_length", new StandardSQLFunction("char_length", StandardBasicTypes.LONG)); registerFunction("bit_length", new StandardSQLFunction("bit_length", StandardBasicTypes.LONG)); registerFunction("octet_length", new StandardSQLFunction("octet_length", StandardBasicTypes.LONG)); registerFunction("age", new StandardSQLFunction("age")); registerFunction("current_date", new NoArgSQLFunction("current_date", StandardBasicTypes.DATE, false)); registerFunction("current_time", new NoArgSQLFunction("current_time", StandardBasicTypes.TIME, false)); registerFunction("current_timestamp", new NoArgSQLFunction("current_timestamp", StandardBasicTypes.TIMESTAMP, false)); registerFunction("date_trunc", new StandardSQLFunction("date_trunc", StandardBasicTypes.TIMESTAMP)); registerFunction("localtime", new NoArgSQLFunction("localtime", StandardBasicTypes.TIME, false)); registerFunction("localtimestamp", new NoArgSQLFunction("localtimestamp", StandardBasicTypes.TIMESTAMP, false)); registerFunction("now", new NoArgSQLFunction("now", StandardBasicTypes.TIMESTAMP)); registerFunction("timeofday", new NoArgSQLFunction("timeofday", StandardBasicTypes.STRING)); registerFunction("current_user", new NoArgSQLFunction("current_user", StandardBasicTypes.STRING, false)); registerFunction("session_user", new NoArgSQLFunction("session_user", StandardBasicTypes.STRING, false)); registerFunction("user", new NoArgSQLFunction("user", StandardBasicTypes.STRING, false)); registerFunction("current_database", new NoArgSQLFunction("current_database", StandardBasicTypes.STRING, true)); registerFunction("current_schema", new NoArgSQLFunction("current_schema", StandardBasicTypes.STRING, true)); registerFunction("to_char", new StandardSQLFunction("to_char", StandardBasicTypes.STRING)); registerFunction("to_date", new StandardSQLFunction("to_date", StandardBasicTypes.DATE)); registerFunction("to_timestamp", new StandardSQLFunction("to_timestamp", StandardBasicTypes.TIMESTAMP)); registerFunction("to_number", new StandardSQLFunction("to_number", StandardBasicTypes.BIG_DECIMAL)); registerFunction("concat", new VarArgsSQLFunction(StandardBasicTypes.STRING, "(", "||", ")")); registerFunction("locate", new PositionSubstringFunction()); registerFunction("str", new SQLFunctionTemplate(StandardBasicTypes.STRING, "cast(?1 as varchar)")); getDefaultProperties().setProperty(Environment.STATEMENT_BATCH_SIZE, DEFAULT_BATCH_SIZE); getDefaultProperties().setProperty(Environment.NON_CONTEXTUAL_LOB_CREATION, "true"); }