/** * INTERNAL: Initialize any platform-specific operators */ @Override protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(ExpressionOperator.simpleLogicalNoParens(ExpressionOperator.Concat, "||")); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "COALESCE")); addOperator(operatorLocate()); addOperator(operatorLocate2()); addOperator(toNumberOperator()); addOperator(regexpOperator()); }
@Override protected Map<String, Class> buildClassTypes() { Map<String, Class> classTypeMapping = super.buildClassTypes(); log.info("Generating ClassTypes for PostgreSQL specific network data types"); // Key the Map the other way for table creation. classTypeMapping.put("INET", Network.class); classTypeMapping.put("CIDR", Network.class); classTypeMapping.put("MACADDR", MACADDR); return classTypeMapping; }
writer.write(" SET "); String tempTableName = getTempTableForTable(table).getQualifiedNameDelimited(this); boolean isFirst = true; Iterator itFields = assignedFields.iterator(); writer.write(" FROM "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(")"); writer.write(" FROM "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(")");
/** * Print the pagination SQL using Postgres 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(" SET "); String tempTableName = getTempTableForTable(table).getQualifiedNameDelimited(this); boolean isFirst = true; Iterator itFields = assignedFields.iterator(); writer.write(" FROM "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(")"); writer.write(" FROM "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(")");
/** * Print the pagination SQL using Postgres 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); }
/** * INTERNAL: Initialize any platform-specific operators */ @Override protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(ExpressionOperator.simpleLogicalNoParens(ExpressionOperator.Concat, "||")); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "COALESCE")); addOperator(operatorLocate()); addOperator(operatorLocate2()); addOperator(toNumberOperator()); addOperator(regexpOperator()); }
writer.write(" SET "); String tempTableName = getTempTableForTable(table).getQualifiedNameDelimited(this); boolean isFirst = true; Iterator itFields = assignedFields.iterator(); writer.write(" FROM "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(")"); writer.write(" FROM "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, null, tableName, pkFields, this); writer.write(")");
/** * Print the pagination SQL using Postgres 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); }
/** * INTERNAL: Initialize any platform-specific operators */ @Override protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(ExpressionOperator.simpleLogicalNoParens(ExpressionOperator.Concat, "||")); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "COALESCE")); addOperator(operatorLocate()); addOperator(operatorLocate2()); addOperator(toNumberOperator()); }