Hi Lukas,

do you think you can integrate this request for ddl generation on firebird 
database (problem with length) ?

SELECT
    TRIM(
        "r" . "RDB$FIELD_NAME"
    ) ,
    "r" . "RDB$DESCRIPTION" ,
    "r" . "RDB$DEFAULT_VALUE" ,
    CASE
        WHEN "r" . "RDB$NULL_FLAG" IS NOT NULL
        THEN "r" . "RDB$NULL_FLAG"
        ELSE 0
    END ,
    "r" . "RDB$DEFAULT_SOURCE" ,
    "r" . "RDB$FIELD_POSITION" ,
    CASE
        "f" . "RDB$FIELD_TYPE" WHEN 261
        THEN 0
        ELSE iif("RDB$BYTES_PER_CHARACTER" is not null,"f" . 
"RDB$FIELD_LENGTH" / "CH" . "RDB$BYTES_PER_CHARACTER", "f" . 
"RDB$FIELD_LENGTH")
    END "FIELD_LENGTH" ,
    "f" . "RDB$FIELD_PRECISION" ,
    -(
        "f" . "RDB$FIELD_SCALE"
    ) "FIELD_SCALE" ,
    CASE
        "f" . "RDB$FIELD_TYPE" WHEN 7
        THEN CASE
            WHEN "f" . "RDB$FIELD_SUB_TYPE" = 1
            THEN 'NUMERIC' WHEN(
                "f" . "RDB$FIELD_SUB_TYPE" = 0
                AND "f" . "RDB$FIELD_SCALE" < 0
            )
            THEN 'NUMERIC' WHEN "f" . "RDB$FIELD_SUB_TYPE" = 2
            THEN 'DECIMAL'
            ELSE 'SMALLINT'
        END WHEN 8
        THEN CASE
            WHEN "f" . "RDB$FIELD_SUB_TYPE" = 1
            THEN 'NUMERIC' WHEN(
                "f" . "RDB$FIELD_SUB_TYPE" = 0
                AND "f" . "RDB$FIELD_SCALE" < 0
            )
            THEN 'NUMERIC' WHEN "f" . "RDB$FIELD_SUB_TYPE" = 2
            THEN 'DECIMAL'
            ELSE 'INTEGER'
        END WHEN 9
        THEN 'QUAD' WHEN 10
        THEN 'FLOAT' WHEN 11
        THEN 'D_FLOAT' WHEN 12
        THEN 'DATE' WHEN 13
        THEN 'TIME' WHEN 14
        THEN 'CHAR' WHEN 16
        THEN CASE
            WHEN "f" . "RDB$FIELD_SUB_TYPE" = 1
            THEN 'NUMERIC' WHEN(
                "f" . "RDB$FIELD_SUB_TYPE" = 0
                AND "f" . "RDB$FIELD_SCALE" < 0
            )
            THEN 'NUMERIC' WHEN "f" . "RDB$FIELD_SUB_TYPE" = 2
            THEN 'DECIMAL'
            ELSE 'BIGINT'
        END WHEN 27
        THEN 'DOUBLE' WHEN 35
        THEN 'TIMESTAMP' WHEN 37
        THEN 'VARCHAR' WHEN 40
        THEN 'CSTRING' WHEN 261
        THEN CASE
            "f" . "RDB$FIELD_SUB_TYPE" WHEN 0
            THEN 'BLOB' WHEN 1
            THEN 'BLOB SUB_TYPE TEXT'
            ELSE 'BLOB'
        END
        ELSE 'UNKNOWN'
    END "FIELD_TYPE" ,
    "f" . "RDB$FIELD_SUB_TYPE"
FROM
    "RDB$RELATION_FIELDS" "r" LEFT OUTER JOIN "RDB$FIELDS" "f"
        ON "r" . "RDB$FIELD_SOURCE" = "f" . "RDB$FIELD_NAME"
    LEFT OUTER JOIN RDB$CHARACTER_SETS "CH" ON ("CH"."RDB$CHARACTER_SET_ID" 
= "f"."RDB$CHARACTER_SET_ID")
WHERE
    "r" . "RDB$RELATION_NAME" = 'BUPDATERLINKS'
ORDER BY
    "r" . "RDB$FIELD_POSITION" ASC


-- 
You received this message because you are subscribed to the Google Groups "jOOQ 
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to