InformixPlatform that fixes many EclipseLink bugs
related to Informix support.
| Modifier and Type | Field and Description |
|---|---|
| private static final long | serialVersionUID
The version of this class for serialization purposes. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected void | appendBoolean(final Boolean
a non- booleanValue, final Writer null Boolean to appenda non- writer)null Writer to append the
literal value toOverrides org. 't' or 'f'—with single quotes— instead of 1 or
0.
|
| protected ExpressionOperator | currentDateOperator()
Fixes EclipseLink
bug 402953 by returning the result of running the following
code: |
| protected ExpressionOperator | currentTimeOperator()
Fixes EclipseLink
bug 402953 by returning the result of running the following
code: |
| protected ExpressionOperator | distinctOperator()
Fixes EclipseLink
bug 402600 by making sure that the |
| public boolean | Returns: true when invokedtrue when invoked to indicate that parameter
binding must not be used when working with temporary
tables as part of an UPDATE query.
|
| protected String | Returns: CREATE TEMP TABLE when invokedOverrides org. CREATE TEMP TABLE when invoked, per
the Informix
11.70 Information Center documentation.
|
| protected String | Returns: WITH NO LOG when invokedOverrides org. WITH NO LOG when invoked, per the Informix
11.70 Information Center documentation, since transactions
are not needed on temp tables for the purposes for which
EclipseLink uses them.
|
| public Object | getObjectFromResultSet(final ResultSet resultSet, final int
the columnNumber, final int jdbcType, final AbstractSession 1-based column number indicating
the column to usean session)AbstractSession that, when used at all,
is passed to the superclass implementation of this method; may be
nullOverrides org. org. so that if the supplied jdbcType is equal to Types#LONGVARCHAR, then the ResultSet#getString(int) method (instead of the ResultSet#getObject(int) method) is used to fetch the "raw"
value of the column indicated by the supplied columnNumber from the supplied ResultSet.
|
| public DatabaseTable | getTempTableForTable(final DatabaseTable table)
Overrides org. DatabaseTable with no DatabaseTable#getTableQualifier().
|
| protected void | initializePlatformOperators()
Overrides org. Distinct ExpressionOperator is set to print as DISTINCT (no parentheses, one trailing space), and fixes
EclipseLink
bug 402953 by adding
platform operators for current date and current time.
|
| public boolean | Returns: false when invokedOverrides org. false,
indicating that ANSI OUTER JOIN syntax should be used,
since all modern versions of Informix support it.
|
| public boolean | Returns: true in all casestrue when invoked to force Informix to use
temporary storage when constructing bulk UPDATE
statements.
|
| public boolean | Returns: true when invokedOverrides org. true when invoked to indicate that Informix does
indeed support local temporary tables.
|
| public void | writeUpdateOriginalFromTempTableSql(final Writer
the writer, final DatabaseTable Writer that will be writing SQL; must
not be nullthe table, final Collection<DatabaseField> DatabaseTable to be updated; must not be
nulla pkFields, final Collection<DatabaseField> assignedFields)Collection of DatabaseFields
each of which is a primary key of the table to be updated; must
not be nullOverrides org. org. to ensure that a SET clause that is supposed to set a value for only one column
does not wrap that column name in parentheses.
|
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID The version of this class for serialization purposes.
| |
| Informix11Platform | back to summary |
|---|---|
| public Informix11Platform() Creates a new
| |
| appendBoolean | back to summary |
|---|---|
| protected void appendBoolean(final Boolean booleanValue, final Writer writer) throws IOException Overrides org. Fixes EclipseLink
bug 401746 by writing out either
| |
| currentDateOperator | back to summary |
|---|---|
| protected ExpressionOperator currentDateOperator() Fixes EclipseLink
bug 402953 by returning the result of running the following
code:
| |
| currentTimeOperator | back to summary |
|---|---|
| protected ExpressionOperator currentTimeOperator() Fixes EclipseLink
bug 402953 by returning the result of running the following
code:
| |
| distinctOperator | back to summary |
|---|---|
| protected ExpressionOperator distinctOperator() Fixes EclipseLink
bug 402600 by making sure that the
| |
| dontBindUpdateAllQueryUsingTempTables | back to summary |
|---|---|
| public boolean dontBindUpdateAllQueryUsingTempTables() Returns Parsing the English is a little difficult in this method name. It means: "Do not bind parameters in queries that are part of an overall 'update all' operation where temporary tables are being used."
| |
| getCreateTempTableSqlPrefix | back to summary |
|---|---|
| protected String getCreateTempTableSqlPrefix() Overrides org. Returns While Informix 11.70 supports an additional
| |
| getCreateTempTableSqlSuffix | back to summary |
|---|---|
| protected String getCreateTempTableSqlSuffix() Overrides org. Returns
| |
| getObjectFromResultSet | back to summary |
|---|---|
| public Object getObjectFromResultSet(final ResultSet resultSet, final int columnNumber, final int jdbcType, final AbstractSession session) throws SQLException Overrides org. Overrides This works around an issue with the Informix JDBC driver,
version 3.70.JC7 and earlier, where a
| |
| getTempTableForTable | back to summary |
|---|---|
| public DatabaseTable getTempTableForTable(final DatabaseTable table) Overrides org. Overrides the superclass implementation to return a new
| |
| initializePlatformOperators | back to summary |
|---|---|
| protected void initializePlatformOperators() Overrides org. Fixes EclipseLink
bug 402600 by making sure that the
| |
| isInformixOuterJoin | back to summary |
|---|---|
| public boolean isInformixOuterJoin() Overrides org. Overrides the default behavior to return
| |
| shouldAlwaysUseTempStorageForModifyAll | back to summary |
|---|---|
| public boolean shouldAlwaysUseTempStorageForModifyAll() Returns
| |
| supportsLocalTempTables | back to summary |
|---|---|
| public boolean supportsLocalTempTables() Overrides org. Returns local is defined by EclipseLink in "Local" means that several threads may create
temporary tables with the same name.
Local temporary table is created in the beginning of
| |
| writeUpdateOriginalFromTempTableSql | back to summary |
|---|---|
| public void writeUpdateOriginalFromTempTableSql(final Writer writer, final DatabaseTable table, final Collection<DatabaseField> pkFields, final Collection<DatabaseField> assignedFields) throws IOException Overrides org. Overrides The code for this method is identical to that of the stock
| |