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 |