Purpose: Provides HSQL specific behavior. Support HSQL functionality as of 1.8.1.
Includes:
| Access | Constructor and Description |
|---|---|
| public |
| HSQLPlatform | back to summary |
|---|---|
| public HSQLPlatform() | |
| allowBindingForSelectClause | back to summary |
|---|---|
| public boolean allowBindingForSelectClause() Overrides org.
| |
| buildFieldTypes | back to summary |
|---|---|
| protected Hashtable Overrides org. Doc from org. Return the mapping of class types to database types for the schema framework.
| |
| buildSelectQueryForIdentity | back to summary |
|---|---|
| public ValueReadQuery buildSelectQueryForIdentity() Overrides org. Doc from org. INTERNAL: Returns query used to read back the value generated by Identity. This method is called when identity NativeSequence is connected, the returned query used until the sequence is disconnected. If the platform supportsIdentity then (at least) one of buildSelectQueryForIdentity methods should return non-null query.
Alternatively, if the platform supports
| |
| buildSelectQueryForSequenceObject | back to summary |
|---|---|
| public ValueReadQuery buildSelectQueryForSequenceObject(String seqName, Integer size) Overrides org. Doc from org. INTERNAL: Returns query used to read value generated by sequence object (like Oracle sequence). In case the other version of this method (taking no parameters) returns null, this method is called every time sequence object NativeSequence reads. If the platform supportsSequenceObjects then (at least) one of buildSelectQueryForSequenceObject methods should return non-null query.
| |
| buildSequenceObjectCreationWriter | back to summary |
|---|---|
| public Writer buildSequenceObjectCreationWriter(Writer writer, String fullSeqName, int increment, int start) throws IOException Overrides org. INTERNAL: HSQL requires START WITH first.
| |
| computeMaxRowsForSQL | back to summary |
|---|---|
| public int computeMaxRowsForSQL(int firstResultIndex, int maxResults) Overrides org. INTERNAL: Use the JDBC maxResults and firstResultIndex setting to compute a value to use when limiting the results of a query in SQL. These limits tend to be used in two ways. 1. MaxRows is the index of the last row to be returned (like JDBC maxResults) 2. MaxRows is the number of rows to be returned HSQL uses case #2 and therefore the maxResults has to be altered based on the firstResultIndex.
| |
| getCreateTempTableSqlPrefix | back to summary |
|---|---|
| protected String getCreateTempTableSqlPrefix() Overrides org. Doc from org. INTERNAL: Override this method if the platform supports temporary tables. This should contain the beginning of sql string for creating temporary table - the sql statement name, for instance: "CREATE GLOBAL TEMPORARY TABLE ". Don't forget to end it with a space.
| |
| getTimestampQuery | back to summary |
|---|---|
| public ValueReadQuery getTimestampQuery() Overrides org. Implements org. Doc from org. This method can be overridden by subclasses to return a query that will return the timestamp from the server. return null if the time should be the local time.
| |
| greatest | back to summary |
|---|---|
| protected ExpressionOperator greatest() INTERNAL: Build HSQL equivalent to GREATEST(x, y) HSQL: CASE WHEN x >= y THEN x ELSE y | |
| initializePlatformOperators | back to summary |
|---|---|
| protected void initializePlatformOperators() Overrides org. Doc from org. Initialize any platform-specific operators
| |
| isAlterSequenceObjectSupported | back to summary |
|---|---|
| public boolean isAlterSequenceObjectSupported() Overrides org. Doc from org. INTERNAL: Override this method if the platform supports sequence objects and it's possible to alter sequence object's increment in the database.
| |
| isDynamicSQLRequiredForFunctions | back to summary |
|---|---|
| public boolean isDynamicSQLRequiredForFunctions() Overrides org. INTERNAL HSQL has some issues with using parameters on certain functions and relations. This allows statements to disable binding only in these cases.
| |
| isHSQL | back to summary |
|---|---|
| public boolean isHSQL() Overrides org. Implements org.
| |
| printFieldIdentityClause | back to summary |
|---|---|
| public void printFieldIdentityClause(Writer writer) throws ValidationException Overrides org. Doc from org. Append the receiver's field 'identity' constraint clause to a writer.
| |
| printSQLSelectStatement | back to summary |
|---|---|
| public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter printer, SQLSelectStatement statement) Overrides org. Print the pagination SQL using HSQL syntax "SELECT LIMIT <first> <max>".
| |
| rightTrim2 | back to summary |
|---|---|
| protected ExpressionOperator rightTrim2() INTERNAL: Build HSQL equivalent to RTRIM(string_exp, character). HSQL: TRIM(TRAILING character FROM string_exp) | |
| shouldUseJDBCOuterJoinSyntax | back to summary |
|---|---|
| public boolean shouldUseJDBCOuterJoinSyntax() Overrides org. JDBC escape syntax for outer joins is not supported (not required).
| |
| supportsGlobalTempTables | back to summary |
|---|---|
| public boolean supportsGlobalTempTables() Overrides org. Doc from org. INTERNAL: Indicates whether the platform supports global temporary tables. "Global" means that an attempt to create temporary table with the same name for the second time results in exception. EclipseLink attempts to create global temporary table in the beginning of UpdateAllQuery, execution and assumes that it already exists in case SQLException results. In the end of UpdateAllQuery execution all rows are removed from the temporary table - it is necessary in case the same temporary table will be used by another UpdateAllQuery in the same transaction. Override this method if the platform supports global temporary tables. Note that this method is ignored in case supportsLocalTempTables() returns true.
| |
| supportsIdentity | back to summary |
|---|---|
| public boolean supportsIdentity() Overrides org. Doc from org. INTERNAL: Indicates whether the platform supports identity. This method is to be used *ONLY* by sequencing classes
| |
| supportsNestingOuterJoins | back to summary |
|---|---|
| public boolean supportsNestingOuterJoins() Overrides org. Does not allow nesting outer joins, i.e. each join must be followed by the ON clause.
| |
| supportsSequenceObjects | back to summary |
|---|---|
| public boolean supportsSequenceObjects() Overrides org. Doc from org. INTERNAL: Indicates whether the platform supports sequence objects. This method is to be used *ONLY* by sequencing classes
| |
| supportsUniqueColumns | back to summary |
|---|---|
| public boolean supportsUniqueColumns() Overrides org. HSQL (1.8.1) does not support the UNIQUE key word in a column, but does support unique constraints defined separately. This allows the column setting to be generated as a constraint.
| |
| toNumberOperator | back to summary |
|---|---|
| public static ExpressionOperator toNumberOperator() INTERNAL: Use CONVERT function for toNumber. | |
| trimOperator | back to summary |
|---|---|
| public static ExpressionOperator trimOperator() INTERNAL: Use TRIM(FROM ?) function for trim. | |