/** * Answer a platform correct string representation of a Calendar, suitable for SQL generation. * The date is printed in the ODBC platform independent format {d'YYYY-MM-DD'}. */ protected void appendCalendar(Calendar calendar, Writer writer) throws IOException { if (usesNativeSQL()) { appendSybaseCalendar(calendar, writer); } else { super.appendCalendar(calendar, writer); } }
/** * Answer a platform correct string representation of a Timestamp, suitable for SQL generation. * The date is printed in the ODBC platform independent format {d'YYYY-MM-DD'}. */ protected void appendTimestamp(java.sql.Timestamp timestamp, Writer writer) throws IOException { if (usesNativeSQL()) { appendSybaseTimestamp(timestamp, writer); } else { super.appendTimestamp(timestamp, writer); } }
@Override public String getCreationInOutputProcedureToken() { return getInOutputProcedureToken(); }
protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(operatorOuterJoin()); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Today, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentDate, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentTime, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Length, "CHAR_LENGTH")); addOperator(ExpressionOperator.sybaseLocateOperator()); addOperator(ExpressionOperator.sybaseLocate2Operator()); addOperator(ExpressionOperator.simpleThreeArgumentFunction(ExpressionOperator.Substring, "SUBSTRING")); addOperator(singleArgumentSubstringOperator()); addOperator(ExpressionOperator.addDate()); addOperator(ExpressionOperator.dateName()); addOperator(ExpressionOperator.datePart()); addOperator(ExpressionOperator.dateDifference()); addOperator(ExpressionOperator.difference()); addOperator(ExpressionOperator.charIndex()); addOperator(ExpressionOperator.charLength()); addOperator(ExpressionOperator.reverse()); addOperator(ExpressionOperator.replicate()); addOperator(ExpressionOperator.right()); addOperator(ExpressionOperator.cot()); addOperator(ExpressionOperator.sybaseAtan2Operator()); addOperator(ExpressionOperator.sybaseAddMonthsOperator()); addOperator(ExpressionOperator.sybaseInStringOperator()); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "ISNULL"));
addOperator(operatorOuterJoin()); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Today, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentDate, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentTime, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Length, "CHAR_LENGTH")); addOperator(ExpressionOperator.sybaseLocateOperator()); addOperator(ExpressionOperator.simpleThreeArgumentFunction(ExpressionOperator.Substring, "SUBSTRING")); addOperator(singleArgumentSubstringOperator()); addOperator(ExpressionOperator.addDate()); addOperator(ExpressionOperator.dateName()); addOperator(ExpressionOperator.datePart()); addOperator(ExpressionOperator.dateDifference()); addOperator(ExpressionOperator.difference()); addOperator(ExpressionOperator.charIndex()); addOperator(ExpressionOperator.charLength()); addOperator(ExpressionOperator.reverse()); addOperator(ExpressionOperator.replicate()); addOperator(ExpressionOperator.right()); addOperator(ExpressionOperator.cot()); addOperator(ExpressionOperator.sybaseAtan2Operator()); addOperator(ExpressionOperator.sybaseAddMonthsOperator()); addOperator(ExpressionOperator.sybaseInStringOperator()); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "ISNULL")); addOperator(ExpressionOperator.sybaseToNumberOperator()); addOperator(ExpressionOperator.sybaseToDateToStringOperator()); addOperator(ExpressionOperator.sybaseToDateOperator());
/** * INTERNAL: */ @Override public void writeUpdateOriginalFromTempTableSql(Writer writer, DatabaseTable table, Collection pkFields, Collection assignedFields) throws IOException { writer.write("UPDATE "); String tableName = table.getQualifiedNameDelimited(this); writer.write(tableName); String tempTableName = getTempTableForTable(table).getQualifiedNameDelimited(this); writeAutoAssignmentSetClause(writer, null, tempTableName, assignedFields, this); writer.write(" FROM "); writer.write(tableName); writer.write(", "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, tableName, tempTableName, pkFields, this); } }
/** * INTERNAL: */ public DatabaseTable getTempTableForTable(DatabaseTable table) { return new DatabaseTable("#" + table.getName(), table.getTableQualifier(), table.shouldUseDelimiters(), getStartDelimiter(), getEndDelimiter()); }
/** * PUBLIC: * Set the database platform to be Sybase. */ public void useSybase() { if (getPlatform().isSybase()) { return; } DatabasePlatform newPlatform = new SybasePlatform(); getPlatform().copyInto(newPlatform); setPlatform(newPlatform); }
@Override protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BIT", false)); return fieldTypeMapping; }
public String getCreationOutputProcedureToken() { return getOutputProcedureToken(); }
protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(operatorOuterJoin()); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Today, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentDate, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.CurrentTime, "GETDATE")); addOperator(ExpressionOperator.simpleFunction(ExpressionOperator.Length, "CHAR_LENGTH")); addOperator(ExpressionOperator.sybaseLocateOperator()); addOperator(ExpressionOperator.sybaseLocate2Operator()); addOperator(ExpressionOperator.simpleThreeArgumentFunction(ExpressionOperator.Substring, "SUBSTRING")); addOperator(singleArgumentSubstringOperator()); addOperator(ExpressionOperator.addDate()); addOperator(ExpressionOperator.dateName()); addOperator(ExpressionOperator.datePart()); addOperator(ExpressionOperator.dateDifference()); addOperator(ExpressionOperator.difference()); addOperator(ExpressionOperator.charIndex()); addOperator(ExpressionOperator.charLength()); addOperator(ExpressionOperator.reverse()); addOperator(ExpressionOperator.replicate()); addOperator(ExpressionOperator.right()); addOperator(ExpressionOperator.cot()); addOperator(ExpressionOperator.sybaseAtan2Operator()); addOperator(ExpressionOperator.sybaseAddMonthsOperator()); addOperator(ExpressionOperator.sybaseInStringOperator()); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Nvl, "ISNULL"));
/** * INTERNAL: */ public void writeUpdateOriginalFromTempTableSql(Writer writer, DatabaseTable table, Collection pkFields, Collection assignedFields) throws IOException { writer.write("UPDATE "); String tableName = table.getQualifiedNameDelimited(this); writer.write(tableName); String tempTableName = getTempTableForTable(table).getQualifiedNameDelimited(this); writeAutoAssignmentSetClause(writer, null, tempTableName, assignedFields, this); writer.write(" FROM "); writer.write(tableName); writer.write(", "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, tableName, tempTableName, pkFields, this); } }
/** * INTERNAL: */ @Override public DatabaseTable getTempTableForTable(DatabaseTable table) { return new DatabaseTable("#" + table.getName(), table.getTableQualifier(), table.shouldUseDelimiters(), getStartDelimiter(), getEndDelimiter()); }
/** * PUBLIC: * Set the database platform to be Sybase. */ public void useSybase() { if (getPlatform().isSybase()) { return; } DatabasePlatform newPlatform = new SybasePlatform(); getPlatform().copyInto(newPlatform); setPlatform(newPlatform); }
@Override protected Hashtable buildFieldTypes() { Hashtable fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BIT", false)); return fieldTypeMapping; }
@Override public String getCreationOutputProcedureToken() { return getOutputProcedureToken(); }
/** * INTERNAL: */ @Override public void writeUpdateOriginalFromTempTableSql(Writer writer, DatabaseTable table, Collection pkFields, Collection assignedFields) throws IOException { writer.write("UPDATE "); String tableName = table.getQualifiedNameDelimited(this); writer.write(tableName); String tempTableName = getTempTableForTable(table).getQualifiedNameDelimited(this); writeAutoAssignmentSetClause(writer, null, tempTableName, assignedFields, this); writer.write(" FROM "); writer.write(tableName); writer.write(", "); writer.write(tempTableName); writeAutoJoinWhereClause(writer, tableName, tempTableName, pkFields, this); } }
/** * INTERNAL: */ @Override public DatabaseTable getTempTableForTable(DatabaseTable table) { return new DatabaseTable("#" + table.getName(), table.getTableQualifier(), table.shouldUseDelimiters(), getStartDelimiter(), getEndDelimiter()); }
/** * Answer a platform correct string representation of a Calendar, suitable for SQL generation. * The date is printed in the ODBC platform independent format {d'YYYY-MM-DD'}. */ @Override protected void appendCalendar(Calendar calendar, Writer writer) throws IOException { if (usesNativeSQL()) { appendSybaseCalendar(calendar, writer); } else { super.appendCalendar(calendar, writer); } }
/** * Answer a platform correct string representation of a Timestamp, suitable for SQL generation. * The date is printed in the ODBC platform independent format {d'YYYY-MM-DD'}. */ @Override protected void appendTimestamp(java.sql.Timestamp timestamp, Writer writer) throws IOException { if (usesNativeSQL()) { appendSybaseTimestamp(timestamp, writer); } else { super.appendTimestamp(timestamp, writer); } }