The eXtremeSQL Metatable is a system maintained table that contains information about all database objects (tables, fields, indexes) defined for a given database.
It can be accessed through the SQL select
statement. For example the following command displays the data for a simple table Account with three fields userid, name
and lastlog
:
XSQL>select * from Metatable; TableName FieldNo FieldName FieldTypeName FieldType FieldSize AutoGenerated ReferencedTable Nullable Precision Width ElementType ElementTypeName ------------------------------------------------------------------------------ Account 1 userid Int4 6 0 false null false -1 -1 0 Null Account 2 name String 15 0 false null true -1 -1 0 Null Account 3 lastlog DateTime 12 0 false null true -1 -1 0 Null Selected records: 3
The following table shows the correlation between SQL Data Types and their names in the Metatable. For more detailed information use the link for the data type of interest.
SQL type | eXtremeSQL Metatable name |
---|---|
BINARY(dim) | tpBinary |
VARBINARY | tpBinary |
BLOB | Blob |
BOOLEAN | Bool |
BIT | Bool |
TINYINT, INT[EGER](1) | Int1 |
SMALLINT, INT[EGER](2) | Int2 |
INT[EGER](4) | Int4 |
BIGINT, LONGINT INT[EGER](8) | Int8 |
UNSIGNED[(dim)] | Uint1, Uint2, Uint4, Uint8 |
FLOAT | Real4 |
REAL, DOUBLE | Real8 |
DECIMAL[(w,p)] | Numeric |
NUMERIC[(w,p)] | Numeric |
CHAR(n) | String |
CHAR, VARCHAR, LONGVARCHAR, STRING | String |
UNICODE(n) | Unicode |
UNICODE | Unicode |
DATE | DateTime |
TIME | DateTime |
TIMESTAMP | DateTime |