Class FirebirdPlatform

    • Constructor Detail

      • FirebirdPlatform

        public FirebirdPlatform()
    • Method Detail

      • 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
      • getMaxForeignKeyNameSize

        public int getMaxForeignKeyNameSize()
        INTERNAL: returns the maximum number of characters that can be used in a foreign key name on this platform.
        Overrides:
        getMaxForeignKeyNameSize in class DatabasePlatform
      • getMaxUniqueKeyNameSize

        public int getMaxUniqueKeyNameSize()
        INTERNAL: returns the maximum number of characters that can be used in a unique key name on this platform.
        Overrides:
        getMaxUniqueKeyNameSize in class DatabasePlatform
      • isAlterSequenceObjectSupported

        public boolean isAlterSequenceObjectSupported()
        Description copied from class: DatabasePlatform
        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
      • buildSequenceObjectCreationWriter

        public java.io.Writer buildSequenceObjectCreationWriter​(java.io.Writer writer,
                                                                java.lang.String fullSeqName,
                                                                int increment,
                                                                int start)
                                                         throws java.io.IOException
        INTERNAL: Returns sql used to create sequence object in the database.
        Overrides:
        buildSequenceObjectCreationWriter in class DatabasePlatform
        Throws:
        java.io.IOException
      • buildSequenceObjectDeletionWriter

        public java.io.Writer buildSequenceObjectDeletionWriter​(java.io.Writer writer,
                                                                java.lang.String fullSeqName)
                                                         throws java.io.IOException
        INTERNAL: Returns sql used to delete sequence object from the database.
        Overrides:
        buildSequenceObjectDeletionWriter in class DatabasePlatform
        Throws:
        java.io.IOException
      • buildSelectQueryForSequenceObject

        public ValueReadQuery buildSelectQueryForSequenceObject​(java.lang.String seqName,
                                                                java.lang.Integer size)
        Description copied from class: DatasourcePlatform
        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.
        Overrides:
        buildSelectQueryForSequenceObject in class DatasourcePlatform
      • supportsSequenceObjects

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

        protected ExpressionOperator substring()
        INTERNAL: Build FB equivalent to SUBSTR(x, y) FB: SUBSTRING(x FROM y)
      • substring2

        protected ExpressionOperator substring2()
        INTERNAL: Build FB equivalent to SUBSTR(x, y, z) FB: SUBSTRING(x FROM y FOR z)
      • greatest

        protected ExpressionOperator greatest()
        INTERNAL: Build FB equivalent to GREATEST(x, y) FB: CASE WHEN x >= y THEN x ELSE y END
      • leftTrim

        protected ExpressionOperator leftTrim()
        INTERNAL: Build FB equivalent to LTRIM(string_exp). FB: TRIM(LEADING FROM string_exp)
      • rightTrim

        protected ExpressionOperator rightTrim()
        INTERNAL: Build FB equivalent to LTRIM(string_exp). FB: TRIM(LEADING FROM string_exp)
      • rightTrim2

        protected ExpressionOperator rightTrim2()
        INTERNAL: Build FB equivalent to RTRIM(string_exp, character). FB: TRIM(TRAILING character FROM string_exp)
      • toNumberOperator

        public static ExpressionOperator toNumberOperator()
        INTERNAL: Use CONVERT function for toNumber.
      • monthsBetweenOperator

        public static ExpressionOperator monthsBetweenOperator()
        INTERNAL: Use MONTH function for MONTH_BETWEEN.
      • isDynamicSQLRequiredForFunctions

        public boolean isDynamicSQLRequiredForFunctions()
        INTERNAL Firebird has some issues with using parameters on certain functions and relations. This allows statements to disable binding only in these cases.
        Overrides:
        isDynamicSQLRequiredForFunctions in class DatabasePlatform