@Override protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(ExpressionOperator.simpleMath(ExpressionOperator.Concat, "||")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Ceil, "CEILING")); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "IFNULL")); addOperator(toNumberOperator()); addOperator(monthsBetweenOperator()); }
public H2Platform() { super(); setPingSQL("SELECT 1"); }
@Override public void setParameterValueInDatabaseCall(Object parameter, PreparedStatement statement, int index, AbstractSession session) throws SQLException { if (parameter instanceof TimestampWithTimeZone) { OffsetDateTime timestampWithTimeZone = TimestampWithTimeZoneConverter.timestampWithTimeZoneToOffsetDateTime((TimestampWithTimeZone) parameter); statement.setObject(index, timestampWithTimeZone); } else { super.setParameterValueInDatabaseCall(parameter, statement, index, session); } }
writer.write("("); writeFieldsList(writer, assignedFields, this); if (assignedFields.size() > 1) { writer.write(")"); writeFieldsList(writer, assignedFields, this); writer.write(" FROM "); String tempTableName = getTempTableForTable(table).getQualifiedNameDelimited(this); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(") WHERE EXISTS(SELECT "); writer.write(((DatabaseField)pkFields.iterator().next()).getNameDelimited(this)); writer.write(" FROM "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(")");
/** * Print the pagination SQL using H2 syntax " LIMIT <max> OFFSET <first>". */ @Override public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter printer, SQLSelectStatement statement) { int max = 0; if (statement.getQuery() != null) { max = statement.getQuery().getMaxRows(); } if (max <= 0 || !(this.shouldUseRownumFiltering())) { super.printSQLSelectStatement(call, printer, statement); return; } statement.setUseUniqueFieldAliases(true); call.setFields(statement.printSQL(printer)); printer.printString(" LIMIT "); printer.printParameter(DatabaseCall.MAXROW_FIELD); printer.printString(" OFFSET "); printer.printParameter(DatabaseCall.FIRSTRESULT_FIELD); call.setIgnoreFirstRowMaxResultsSettings(true); }
writer.write("("); writeFieldsList(writer, assignedFields, this); if (assignedFields.size() > 1) { writer.write(")"); writeFieldsList(writer, assignedFields, this); writer.write(" FROM "); String tempTableName = getTempTableForTable(table).getQualifiedNameDelimited(this); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(") WHERE EXISTS(SELECT "); writer.write(((DatabaseField)pkFields.iterator().next()).getNameDelimited(this)); writer.write(" FROM "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(")");
/** * Print the pagination SQL using H2 syntax " LIMIT {@literal <max> OFFSET <first>}". */ @Override public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter printer, SQLSelectStatement statement) { int max = 0; if (statement.getQuery() != null) { max = statement.getQuery().getMaxRows(); } if (max <= 0 || !(this.shouldUseRownumFiltering())) { super.printSQLSelectStatement(call, printer, statement); return; } statement.setUseUniqueFieldAliases(true); call.setFields(statement.printSQL(printer)); printer.printString(" LIMIT "); printer.printParameter(DatabaseCall.MAXROW_FIELD); printer.printString(" OFFSET "); printer.printParameter(DatabaseCall.FIRSTRESULT_FIELD); call.setIgnoreFirstRowSetting(true); call.setIgnoreMaxResultsSetting(true); }
@Override protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(ExpressionOperator.simpleMath(ExpressionOperator.Concat, "||")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Ceil, "CEILING")); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "IFNULL")); addOperator(toNumberOperator()); addOperator(monthsBetweenOperator()); }
writer.write("("); writeFieldsList(writer, assignedFields, this); if (assignedFields.size() > 1) { writer.write(")"); writeFieldsList(writer, assignedFields, this); writer.write(" FROM "); String tempTableName = getTempTableForTable(table).getQualifiedNameDelimited(this); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(") WHERE EXISTS(SELECT "); writer.write(((DatabaseField)pkFields.iterator().next()).getNameDelimited(this)); writer.write(" FROM "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(")");
public H2Platform() { super(); setPingSQL("SELECT 1"); }
/** * Print the pagination SQL using H2 syntax " LIMIT {@literal <max> OFFSET <first>}". */ @Override public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter printer, SQLSelectStatement statement) { int max = 0; if (statement.getQuery() != null) { max = statement.getQuery().getMaxRows(); } if (max <= 0 || !(this.shouldUseRownumFiltering())) { super.printSQLSelectStatement(call, printer, statement); return; } statement.setUseUniqueFieldAliases(true); call.setFields(statement.printSQL(printer)); printer.printString(" LIMIT "); printer.printParameter(DatabaseCall.MAXROW_FIELD); printer.printString(" OFFSET "); printer.printParameter(DatabaseCall.FIRSTRESULT_FIELD); call.setIgnoreFirstRowSetting(true); call.setIgnoreMaxResultsSetting(true); }
@Override protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(ExpressionOperator.simpleMath(ExpressionOperator.Concat, "||")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Ceil, "CEILING")); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "IFNULL")); addOperator(toNumberOperator()); addOperator(monthsBetweenOperator()); }
public H2Platform() { super(); setPingSQL("SELECT 1"); }