MYSQL_to_XOPEN |
= |
{ "TINYINT" => [SQL_TINYINT, 1, nil], "SMALLINT" => [SQL_SMALLINT, 6, nil], "MEDIUMINT" => [SQL_SMALLINT, 6, nil], "INT" => [SQL_INTEGER, 11, nil], "INTEGER" => [SQL_INTEGER, 11, nil], "BIGINT" => [SQL_BIGINT, 25, nil], "INT24" => [SQL_BIGINT, 25, nil], "REAL" => [SQL_REAL, 12, nil], "FLOAT" => [SQL_FLOAT, 12, nil], "DECIMAL" => [SQL_DECIMAL, 12, nil], "NUMERIC" => [SQL_NUMERIC, 12, nil], "DOUBLE" => [SQL_DOUBLE, 22, nil], "CHAR" => [SQL_CHAR, 1, nil], "VARCHAR" => [SQL_VARCHAR, 255, nil], "DATE" => [SQL_DATE, 10, nil], "TIME" => [SQL_TIME, 8, nil], "TIMESTAMP" => [SQL_TIMESTAMP, 19, nil], "DATETIME" => [SQL_TIMESTAMP, 19, nil], "TINYBLOB" => [SQL_BINARY, 255, nil], "BLOB" => [SQL_VARBINARY, 16277215, nil], "MEDIUMBLOB" => [SQL_VARBINARY, 2147483657, nil], "LONGBLOB" => [SQL_LONGVARBINARY, 2147483657, nil], "TINYTEXT" => [SQL_VARCHAR, 255, nil], "TEXT" => [SQL_LONGVARCHAR, 65535, nil], "MEDIUMTEXT" => [SQL_LONGVARCHAR, 16277215, nil], "ENUM" => [SQL_CHAR, 255, nil], "SET" => [SQL_CHAR, 255, nil], nil => [SQL_OTHER, nil, nil] |
|
Eli Green:
The hope is that we don't ever need to just assume the default values. However,
in some cases (notably floats and doubles), I have seen "show fields from table"
return absolutely zero information about size and precision. Sigh.
I probably should have made a struct to store this info in ... but I didn't.
|