Class InformixPlatform

    • Constructor Detail

      • InformixPlatform

        public InformixPlatform()
    • Method Detail

      • initializeConnectionData

        public void initializeConnectionData​(java.sql.Connection connection)
                                      throws java.sql.SQLException
        Description copied from class: DatabasePlatform
        INTERNAL: Allow initialization from the connection.
        Overrides:
        initializeConnectionData in class DatabasePlatform
        Throws:
        java.sql.SQLException
      • appendDate

        protected void appendDate​(java.sql.Date date,
                                  java.io.Writer writer)
                           throws java.io.IOException
        Answer a platform correct string representation of a Date, suitable for SQL generation. Native format: 'yyyy-mm-dd
        Overrides:
        appendDate in class DatabasePlatform
        Throws:
        java.io.IOException
      • appendInformixTimestamp

        protected void appendInformixTimestamp​(java.sql.Timestamp timestamp,
                                               java.io.Writer writer)
                                        throws java.io.IOException
        Write a timestamp in Informix specific format (yyyy-mm-dd hh:mm:ss.fff).
        Throws:
        java.io.IOException
      • appendCalendar

        protected void appendCalendar​(java.util.Calendar calendar,
                                      java.io.Writer writer)
                               throws java.io.IOException
        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'}.
        Overrides:
        appendCalendar in class DatabasePlatform
        Throws:
        java.io.IOException
      • appendInformixCalendar

        protected void appendInformixCalendar​(java.util.Calendar calendar,
                                              java.io.Writer writer)
                                       throws java.io.IOException
        Write a timestamp in Informix specific format ( yyyy-mm-dd hh:mm:ss.fff)
        Throws:
        java.io.IOException
      • appendTime

        protected void appendTime​(java.sql.Time time,
                                  java.io.Writer writer)
                           throws java.io.IOException
        Answer a platform correct string representation of a Time, suitable for SQL generation. The time is printed in the ODBC platform independent format {t'hh:mm:ss'}.
        Overrides:
        appendTime in class DatabasePlatform
        Throws:
        java.io.IOException
      • appendTimestamp

        protected void appendTimestamp​(java.sql.Timestamp timestamp,
                                       java.io.Writer writer)
                                throws java.io.IOException
        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'}.
        Overrides:
        appendTimestamp in class DatabasePlatform
        Throws:
        java.io.IOException
      • buildFieldTypes

        protected java.util.Hashtable buildFieldTypes()
        Description copied from class: DatabasePlatform
        Return the mapping of class types to database types for the schema framework.
        Overrides:
        buildFieldTypes in class DatabasePlatform
      • getMaxFieldNameSize

        public int getMaxFieldNameSize()
        INTERNAL: returns the maximum number of characters that can be used in a field name on this platform.
        Overrides:
        getMaxFieldNameSize in class DatabasePlatform
      • getSelectForUpdateString

        public java.lang.String getSelectForUpdateString()
        Informix seems to like this syntax instead of the OF * syntax.
        Overrides:
        getSelectForUpdateString in class DatabasePlatform
      • isInformixOuterJoin

        public boolean isInformixOuterJoin()
        Some database require outer joins to be given in the where clause, others require it in the from clause. Informix requires it in the from clause with no ON expression.
        Overrides:
        isInformixOuterJoin in class DatabasePlatform
      • maximumNumericValues

        public java.util.Hashtable maximumNumericValues()
        Builds a table of maximum numeric values keyed on java class. This is used for type testing but might also be useful to end users attempting to sanitize values.

        NOTE: BigInteger & BigDecimal maximums are dependent upon their precision & Scale

        Overrides:
        maximumNumericValues in class DatabasePlatform
      • minimumNumericValues

        public java.util.Hashtable minimumNumericValues()
        Builds a table of minimum numeric values keyed on java class. This is used for type testing but might also be useful to end users attempting to sanitize values.

        NOTE: BigInteger & BigDecimal minimums are dependent upon their precision & Scale

        Overrides:
        minimumNumericValues in class DatabasePlatform
      • printFieldTypeSize

        public void printFieldTypeSize​(java.io.Writer writer,
                                       FieldDefinition field,
                                       FieldTypeDefinition fieldType,
                                       boolean shouldPrintFieldIdentityClause)
                                throws java.io.IOException
        Append the field type to a writer unless the field uses an Identity strategy to generate its value. In this case, the field type 'SERIAL' will be appended later.
        Overrides:
        printFieldTypeSize in class DatabasePlatform
        Throws:
        java.io.IOException
      • supportsIdentity

        public boolean supportsIdentity()
        INTERNAL: Indicates whether the platform supports identity. Informix does this through SERIAL field types. This method is to be used *ONLY* by sequencing classes
        Overrides:
        supportsIdentity in class DatasourcePlatform
      • supportsSequenceObjects

        public boolean supportsSequenceObjects()
        INTERNAL: Indicates whether the platform supports sequence objects. This method is to be used *ONLY* by sequencing classes
        Overrides:
        supportsSequenceObjects in class DatasourcePlatform
      • buildSelectQueryForSequenceObject

        public ValueReadQuery buildSelectQueryForSequenceObject​(java.lang.String qualifiedSeqName,
                                                                java.lang.Integer size)
        INTERNAL: Returns query used to read value generated by sequence object (like Oracle sequence). This method is called when sequence object NativeSequence is connected, the returned query used until the sequence is disconnected. If the platform supportsSequenceObjects then (at least) one of buildSelectQueryForSequenceObject methods should return non-null query.
        Overrides:
        buildSelectQueryForSequenceObject in class DatasourcePlatform
      • isAlterSequenceObjectSupported

        public boolean isAlterSequenceObjectSupported()
        INTERNAL: Override this method if the platform supports sequence objects and it's possible to alter sequence object's increment in the database.
        Overrides:
        isAlterSequenceObjectSupported in class DatabasePlatform