hsql-1.8.1: DB/HSQL/Type.hs
module DB.HSQL.Type where
{-| Differentiation of data types used in DBs.
-}
data SqlType
-- numeric:
= SqlInteger -- ODBC, MySQL, PostgreSQL, MSI
| SqlBigInt -- ODBC, MySQL, PostgreSQL, MSI
| SqlSmallInt -- ODBC, MySQL, PostgreSQL
| SqlTinyInt -- ODBC, MySQL, PostgreSQL
| SqlMedInt -- , MySQL,
| SqlDecimal Int Int -- ODBC, MySQL, PostgreSQL
| SqlNumeric Int Int -- ODBC, MySQL, PostgreSQL
| SqlReal -- ODBC, MySQL, PostgreSQL
| SqlDouble -- ODBC, MySQL, PostgreSQL
| SqlFloat -- ODBC
-- monetary:
| SqlMoney -- , , PostgreSQL
-- character:
| SqlChar Int -- ODBC, MySQL, PostgreSQL
| SqlVarChar Int -- ODBC, MySQL, PostgreSQL, MSI
| SqlLongVarChar Int -- ODBC
| SqlText -- , , PostgreSQL, MSI
| SqlWChar Int -- ODBC
| SqlWVarChar Int -- ODBC
| SqlWLongVarChar Int -- ODBC
-- date / time:
| SqlDate -- ODBC, MySQL, PostgreSQL
| SqlTime -- ODBC, MySQL, PostgreSQL
| SqlTimeTZ -- , , PostgreSQL
| SqlAbsTime -- , , PostgreSQL
| SqlRelTime -- , , PostgreSQL
| SqlTimeInterval -- , , PostgreSQL
| SqlAbsTimeInterval -- , , PostgreSQL
| SqlTimeStamp -- ODBC, MySQL
| SqlDateTime -- , MySQL
| SqlDateTimeTZ -- , MySQL, PostgreSQL
| SqlYear -- , MySQL
-- booleans:
| SqlBit -- ODBC, , PostgreSQL
-- enums:
| SqlENUM -- , MySQL
-- geometric types:
| SqlPoint -- , , PostgreSQL
| SqlLSeg -- , , PostgreSQL
| SqlPath -- , , PostgreSQL
| SqlBox -- , , PostgreSQL
| SqlPolygon -- , , PostgreSQL
| SqlLine -- , , PostgreSQL
| SqlCircle -- , , PostgreSQL
-- network addresses:
| SqlINetAddr -- , , PostgreSQL
| SqlCIDRAddr -- , , PostgreSQL
| SqlMacAddr -- , , PostgreSQL
-- bit strings:
| SqlBinary Int -- ODBC, , PostgreSQL
| SqlVarBinary Int -- ODBC, , PostgreSQL
| SqlLongVarBinary Int -- ODBC
-- collections:
| SqlSET -- , MySQL
-- lobs:
| SqlBLOB -- , MySQL, , MSI
-- unknown:
| SqlUnknown Int -- ^ HSQL returns @SqlUnknown tp@ for all
-- columns for which it cannot determine
-- the right type. The @tp@ here is the
-- internal type code returned from the
-- backend library
deriving (Eq, Show)