@Override protected SQLTemplates build(char escape, boolean quote) { return new DerbyTemplates(escape, quote); } };
public DerbyTemplates(char escape, boolean quote) { super("\"", escape, quote); setDummyTable("sysibm.sysdummy1"); setAutoIncrement(" generated always as identity"); setFunctionJoinsWrapped(true); setDefaultValues("\nvalues (default)"); setPrecedence(Precedence.COMPARISON, Ops.EQ, Ops.EQ_IGNORE_CASE, Ops.NE, Ops.EXISTS); add(Ops.CONCAT, "varchar({0} || {1})", -1); add(SQLOps.NEXTVAL, "next value for {0s}"); add(Ops.CASE_EQ, "case {1} end"); add(Ops.CASE_EQ_WHEN, "when {0} = {1} then {2} {3}"); add(Ops.CASE_EQ_ELSE, "else {0}"); add(Ops.MathOps.RANDOM, "random()"); add(Ops.MathOps.ROUND, "floor({0})"); // FIXME add(Ops.MathOps.POWER, "exp({1} * log({0}))"); add(Ops.MathOps.LN, "log({0})"); add(Ops.MathOps.LOG, "(log({0}) / log({1}))"); add(Ops.MathOps.COTH, "(exp({0} * 2) + 1) / (exp({0} * 2) - 1)"); add(Ops.DateTimeOps.SECOND, "second({0})"); add(Ops.DateTimeOps.MINUTE, "minute({0})"); add(Ops.DateTimeOps.HOUR, "hour({0})"); add(Ops.DateTimeOps.WEEK, "week({0})"); add(Ops.DateTimeOps.MONTH, "month({0})"); add(Ops.DateTimeOps.YEAR, "year({0})");
sqlTemplate = CUBRIDTemplates.builder(); } else if (SQLTemplatesConstants.DB_PRODUCT_NAME_DERBY.equals(dbType)) { sqlTemplate = DerbyTemplates.builder(); } else if (SQLTemplatesConstants.DB_PRODUCT_NAME_HSQLDB.equals(dbType)) { sqlTemplate = HSQLDBTemplates.builder();
return DerbyTemplates.builder();
public static Builder builder() { return new Builder() { @Override protected SQLTemplates build(char escape, boolean quote) { return new DerbyTemplates(escape, quote); } }; }
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); }