@Override protected SQLTemplates build(char escape, boolean quote) { return new HSQLDBTemplates(escape, quote); } };
public HSQLDBTemplates(char escape, boolean quote) { super("\"", escape, quote); setLimitRequired(true); setAutoIncrement(" identity"); setDefaultValues("\ndefault values"); setFunctionJoinsWrapped(true); setPrecedence(Precedence.ARITH_HIGH, Ops.CONCAT); setPrecedence(Precedence.ARITH_LOW + 1, Ops.NOT); setPrecedence(Precedence.COMPARISON, Ops.EQ, Ops.EQ_IGNORE_CASE, Ops.NE); setPrecedence(Precedence.COMPARISON + 1, Ops.IS_NULL, Ops.IS_NOT_NULL, Ops.LIKE, Ops.LIKE_ESCAPE, Ops.BETWEEN, Ops.IN, Ops.NOT_IN, Ops.EXISTS); setPrecedence(Precedence.COMPARISON + 1, OTHER_LIKE_CASES); add(Ops.TRIM, "trim(both from {0})"); add(Ops.NEGATE, "{0} * -1", Precedence.ARITH_HIGH); add(SQLOps.NEXTVAL, "next value for {0s}"); add(Ops.MathOps.ROUND, "round({0},0)"); add(Ops.MathOps.LN, "log({0})"); add(Ops.MathOps.LOG, "(log({0}) / log({1}))"); add(Ops.MathOps.COSH, "(exp({0}) + exp({0} * -1)) / 2"); add(Ops.MathOps.COTH, "(exp({0} * 2) + 1) / (exp({0} * 2) - 1)"); add(Ops.MathOps.SINH, "(exp({0}) - exp({0} * -1)) / 2"); add(Ops.MathOps.TANH, "(exp({0} * 2) - 1) / (exp({0} * 2) + 1)"); add(Ops.DateTimeOps.WEEK, "extract(week_of_year from {0})"); add(Ops.DateTimeOps.YEAR_WEEK, "extract(year from {0}) * 100 + extract(week_of_year from {0})", Precedence.ARITH_LOW);
return HSQLDBTemplates.builder();
sqlTemplate = DerbyTemplates.builder(); } else if (SQLTemplatesConstants.DB_PRODUCT_NAME_HSQLDB.equals(dbType)) { sqlTemplate = HSQLDBTemplates.builder(); } else if (SQLTemplatesConstants.DB_PRODUCT_NAME_SQLITE.equals(dbType)) { sqlTemplate = SQLiteTemplates.builder();
public static Builder builder() { return new Builder() { @Override protected SQLTemplates build(char escape, boolean quote) { return new HSQLDBTemplates(escape, quote); } }; }
private static SQLTemplates.Builder findDialectBuilder(final DatabaseConfig databaseConfig) { if (databaseConfig.isMySql()) { return MySQLTemplates.builder(); } if (databaseConfig.isPostgres()) { return PostgresTemplates.builder(); } if (databaseConfig.isOracle()) { return OracleTemplates.builder(); } if (databaseConfig.isSqlServer()) { return SQLServerTemplates.builder(); } if (databaseConfig.isH2()) { return H2Templates.builder(); } // should be removed in 8.0; only required during migration of 6.x HSQL installation to 7.x H2 if (databaseConfig.isHSql()) { return HSQLDBTemplates.builder(); } throw new IllegalStateException("Unrecognised database dialect '" + databaseConfig.getDatabaseType() + "'."); }
public static SQLTemplates getSQLTemplates() { switch (target.get()) { case CUBRID:return new CUBRIDTemplates(); case DERBY: return new DerbyTemplates(); case H2: return new H2Templates(); case HSQLDB:return new HSQLDBTemplates(); case SQLSERVER: return new SQLServerTemplates(); case MYSQL: return new MySQLTemplates(); case ORACLE:return new OracleTemplates(); case POSTGRES: return new PostgresTemplates(); case SQLITE:return new SQLiteTemplates(); case TERADATA: return new TeradataTemplates(); } throw new IllegalStateException("Unknown mode " + mode); }
@Override @Before public void setUp() throws ClassNotFoundException, SQLException{ super.setUp(); // create schema statement.execute("drop table person if exists"); statement.execute("create table person(" + "id INT, " + "firstname VARCHAR(50), " + "gender VARCHAR(50), " + "securedId VARCHAR(50), " + "CONSTRAINT PK_person PRIMARY KEY (id) " + ")"); // create configuration configuration = new Configuration(new HSQLDBTemplates()); // configuration.setJavaType(Types.DATE, java.util.Date.class); configuration.register(new UtilDateType()); configuration.register("PERSON", "SECUREDID", new EncryptedString()); configuration.register("PERSON", "GENDER", new EnumByNameType<Gender>(Gender.class)); configuration.register(new StringType()); }