![]() |
|
Home | Contents | Index | Master Index | New Book | ![]() |
![]() |
Structure of the System CatalogThe following system catalog tables describe the structure a database on an Informix database server.Do not confuse the system catalog tables of a database with the tables in the sysmaster database of Universal Server. The system catalog tables give information regarding a particular database on any Informix database server, while the sysmaster tables contain information about an entire Informix database server, which might manage many individual databases. The information in the sysmaster tables is primarily useful for Universal Server DBAs. For more information about the sysmaster tables, see the INFORMIX-Universal Server Administrator's Guide.
This manual assumes that the locale has code-set collation
and lists character columns with the CHAR data type.
If your locale has localized collation, these character columns are NCHAR.
For more information on collation orders, see Chapter 1 of the Guide
to GLS Functionality. For information about NCHAR
and CHAR data types, see Chapter 3 of the Guide
to GLS Functionality and Chapter 2
of this guide.
For information regarding access method functions, see the Virtual-Table Interface Programmer's Manual. The composite index for the am_name and am_owner columns in this table allows only unique values.
The two indexes on the extended_id column and the xtd_type_id column, respectively, allow duplicate values. The composite index on extended_id and seqno columns allows only unique values.
A composite index for the tabid and colno columns allows only unique values. For information about location and size of chunks of blobspaces, dbspaces, and sbspaces locations of TEXT, BYTE, BLOB, and CLOB columns, see the syschunks sysmaster table in INFORMIX-Universal Server Administrator's Guide.
If routine_name and routine_owner have null values, it indicates that the cast is defined without a routine. The index on columns argument_type, argument_xid, result_type, and result_xid allows only unique values. The index on columns argument_type and argument_xid allows duplicate values.
A composite index for the constrid, type, and seqno columns allows only unique values.
The text in the checktext column associated with Each check constraint described in the syschecks system catalog table also has its own row in the sysconstraints system catalog table.
The syscolattribs system catalog table shows the following columns.
If the colauth privilege code is uppercase (for example, A composite index for the tabid, grantor, grantee, and colno columns allows only unique values. A composite index for the tabid and grantee columns allows duplicate values.
A composite index for the constrid, tabid, and colno columns allows only unique values. A composite index for the tabid and colno columns allows duplicate values.
The coltype A composite index for the tabid and colno columns allows only unique values.
The next sections provide the following additional information about information in the syscolumns system catalog table:
Storing Column Data TypeThe database server stores the column data type as an integer value. For a list of the column data-type values, see the description of the coltype column in the preceding table. The following sections provide additional information on data-type values.The following data types are implemented by the database server as built-in opaque types:
A built-in opaque data type is one for which the database server provides the type definition. Because these data types are built-in opaque types, they do not have a unique coltype value. Instead, they have one of the coltype values for opaque types: The following table summarizes the coltype values for the predefined data types.
The database server stores a SERIAL data type as an INTEGER value and a SERIAL8 data type as an INT8 value. Therefore, SERIAL has the same length as INTEGER (4 bytes) and SERIAL8 has the same length as INT8 (8 bytes).
Length of Varying-Length Character ColumnsFor columns of type VARCHAR, the max_size and min_space values are encoded in the collength column using one of the following formulas:
![]()
The length is the physical length of the DATETIME or INTERVAL field, and largest_qualifier and smallest_qualifier have the values shown in the following table.
For example, if a DATETIME YEAR TO MINUTE column has a length of
Reserved for future use |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
langinitfunc | Reserved for future use |
SYSSYNONYMS
The syssynonyms system catalog table lists the synonyms for each table or view. It contains a row for every synonym defined in the database. The syssynonyms system catalog table shows the following columns.
Column Name | Type | Explanation |
---|---|---|
owner | CHAR(8) | User name of owner |
synname | CHAR(18) | Synonym identifier |
created | DATE | Date synonym created |
tabid | INTEGER | Table identifier |
A composite index for the owner and synname columns allows only unique values. The tabid column is indexed and allows duplicate values.
![]() | Important: Informix Version 4.0 or later products no longer use this table; however, any syssynonyms entries made before Version 4.0 remain in this table. |
S
. The syssyntable system catalog table shows the following columns.
Column Name | Type | Explanation |
---|---|---|
tabid | INTEGER | Table identifier |
servername | CHAR(18) | Server name |
dbname | CHAR(18) | Database name |
owner | CHAR(8) | User name of owner |
tabname | CHAR(18) | Name of table |
btabid | INTEGER | Table identifier of base table or view |
If you define a synonym for a table that is in your current database, only the tabid and btabid columns are used. If you define a synonym for a table that is external to your current database, the btabid column is not used; but the tabid, servername, dbname, owner, and tabname columns are used.
The tabid column maps to the tabid column in systables. With the tabid information, you can determine additional facts about the synonym from systables.
An index for the tabid column allows only unique values. The btabid column is indexed to allow duplicate values.
SYSTABAUTH
The systabauth system catalog table describes each set of privileges that are granted in a table. It contains one row for each set of table privileges that are granted in the database. The systabauth system catalog table shows the following columns.
Column Name | Type | Explanation | |
---|---|---|---|
grantor | CHAR(8) | Grantor of privilege |
|
grantee | CHAR(8) | Grantee (receiver) of privilege |
|
tabid | INTEGER | Table identifier |
|
tabauth | CHAR(8) | 8-byte pattern that specifies table privileges. Upper case letters indicate permission to grantee to grant that privilege to others: |
|
|
|
| ' |
|
|
| ' |
|
|
| '*' = Column-level authority |
|
|
| ' |
|
|
| ' |
|
|
| ' |
|
|
|
|
|
|
| ' |
If the tabauth privilege code is uppercase (for example, S
for select), a user who has this privilege also can grant it to others. If the tabauth privilege code is lowercase (for example, s
for select), the user who has this privilege cannot grant it to others.
A composite index for the tabid, grantor, and grantee columns allows only unique values. The composite index for the tabid and grantee columns allows duplicate values.
SYSTABLES
The systables system catalog table describes each table in the database. It contains one row for each table, view, or synonym that is defined in the database. This includes all database tables and the system catalog tables. The systables system catalog table shows the following columns.
Column Name | Type | Explanation | |
---|---|---|---|
tabname | CHAR(18) | Name of table, view, or synonym |
|
owner | CHAR(8) | Owner of table (user informix for system catalog tables and user name for database tables) |
|
partnum | INTEGER | Tblspace identifier (similar to tabid) |
|
tabid | SERIAL | System-assigned sequential ID number (system tables: 1 through 24, user tables: 100 through nnn) |
|
rowsize | SMALLINT | Row size |
|
ncols | SMALLINT | Number of columns |
|
nindexes | SMALLINT | Number of indexes |
|
nrows | INTEGER | Number of rows |
|
created | DATE | Date created |
|
version | INTEGER | Number that changes when table is altered |
|
tabtype | CHAR(1) | Table type: |
|
|
|
| ' |
|
|
| ' |
|
|
| ' |
|
|
| ' |
|
|
| ' |
locklevel | CHAR(1) | Lock mode for a table: |
|
|
|
| ' |
|
|
| ' |
|
|
| ' |
npused | INTEGER | Number of data pages in use |
|
fextsize | INTEGER | Size of initial extent (in kilobytes) |
|
nextsize | INTEGER | Size of all subsequent extents (in kilobytes) |
|
flags | Reserved for future use |
||
site | Reserved for future use (used to store database collation and C type information) |
||
dbname | Reserved for future use |
||
type_xid | INTEGER | Data type of table, if the table is a typed table |
|
am_id | INTEGER | Access method identifier. A primary access method can be specified when the table is created. A value of null or zero indicates that the built-in storage manager is being used. This is the am_id in the sysams system catalog |
Each table recorded in the systables system catalog table is assigned a tabid, a system-assigned sequential ID number that uniquely identifies each table in the database. The first tabid numbers up to 99 are reserved for system catalog tables, and the user-created tables receive tabid numbers beginning with 100
.
The tabid column is indexed and must contain unique values. A composite index for the tabname and owner columns allows only unique values. The version column contains an encoded number that is put into the systables system catalog table when the table is created. Portions of the encoded value are incremented when data-definition statements, such as ALTER INDEX, ALTER TABLE, DROP INDEX, and CREATE INDEX, are performed. When a prepared statement is executed, the version number is checked to make sure that nothing has changed since the statement was prepared. If the version number has changed, your statement does not execute and you must prepare your statement again.
The npused column does not reflect blob data used. The tabid column is indexed and must contain unique values. A composite index for the tabname and owner columns allows only unique values.
GLS |
90
, and GL_CTYPE with a tabid of 91
. Enter the following SELECT statement to view these rows:
SYSTRACECLASSES
The systraceclasses system catalog table contains the names and identifiers of trace classes. A trace class is a category of trace messages that may be used in the development and testing of new DataBlade modules and user-defined routines. Developers use the tracing facility by calling the appropriate DataBlade API routines within their code.
To create a new trace class, insert a row directly into the systraceclasses system catalog table. By default, all users can view this table, but only users with the DBA privilege can modify it.
A unique index on the name column ensures that each trace class has a unique name. The database server also assigns each class a sequential identifier. Therefore, the index on the classid column also allows only unique values.
The systraceclasses system catalog table shows the following columns.
Column Name | Type | Explanation | |
---|---|---|---|
name | CHAR(18) | Name of the class of trace messages |
|
classid | SERIAL | Trace class identifier |
SYSTRACEMSGS
The systracemsgs system catalog table stores internationalized trace messages that may be used in the debugging of user-defined routines. DataBlade module developers create a trace message by inserting a row directly into the systracemsgs system catalog table. Once a message is created, the development team can specify it either by name or by ID, using trace statements provided by the DataBlade API.
To create a trace message, you must specify its name, locale, and text. By default, all users can view the systracemsgs table, but only users with the DBA privilege can modify it.
The systracemsgs system catalog table shows the following columns.
Column Name | Type | Explanation | |
---|---|---|---|
name | CHAR(18) | The name of the message |
|
msgid | SERIAL | The message template identifier |
|
locale | CHAR(36) | The locale with which this version of the message is associated (for example, en_us.8859-1) |
|
seqno | Reserved for future use |
||
message | NVARCHAR(255) | The message text |
A unique index defined on columns name and locale. A unique index is also on the msgid column.
SYSTRIGBODY
The systrigbody system catalog table contains the English text of the trigger definition and the linearized code for the trigger. Linearized code is binary data and code that is represented in text format.
![]() | Warning: The database server uses the linearized code that is stored in systrigbody. You must not alter the content of rows that contain linearized code. |
Column Name | Type | Explanation | |
---|---|---|---|
trigid | INTEGER | Trigger identifier |
|
datakey | CHAR | Type of data: |
|
|
|
| ' |
|
|
| ' |
|
|
| ' |
|
|
| ' |
|
|
| ' |
seqno | INTEGER | Sequence number |
|
data | CHAR(256) | English text or linearized code |
A composite index for the trigid, datakey, and seqno columns allows only unique values.
SYSTRIGGERS
The systriggers system catalog table contains miscellaneous information about the SQL triggers in the database. This information includes the trigger event and the correlated reference specification for the trigger. The systriggers system catalog table shows the following columns.
Column Name | Type | Explanation | |
---|---|---|---|
trigid | SERIAL | Trigger identifier |
|
trigname | CHAR(18) | Trigger name |
|
owner | CHAR(8) | Owner of trigger |
|
tabid | INT | Identifier of the triggering table |
|
event | CHAR(1) | Triggering event: |
|
|
|
| ' |
|
|
| ' |
|
|
| ' |
old | CHAR(18) | Name of value before update |
|
new | CHAR(18) | Name of value after update |
|
mode | Reserved for future use |
A composite index for the trigname and owner columns allows only unique values. The trigid column is indexed and must contain unique values. An index for the tabid column allows duplicate values.
SYSUSERS
The sysusers system catalog table describes each set of privileges that are granted in the database. It contains one row for each user who has privileges in the database. The sysusers system catalog table shows the following columns.
Column Name | Type | Explanation | |
---|---|---|---|
username | CHAR(8) | Name of the database user or role |
|
usertype | CHAR(1) | Specifies database-level privileges: |
|
| ' |
||
| ' |
||
| ' |
||
| ' |
||
priority | Reserved for future use |
||
password | Reserved for future use |
The username column is indexed and allows only unique values. The username can be the name of a role.
SYSVIEWS
The sysviews system catalog table describes each view that is defined in the database. Because the sysviews system catalog table stores the SELECT statement that you use to create the view, it can contain multiple rows for each view into the database. The sysviews system catalog table shows the following columns.
Column Name | Type | Explanation |
---|---|---|
tabid | INTEGER | Table identifier |
seqno | SMALLINT | Line number of the SELECT statement |
viewtext | CHAR(64) | Actual SELECT statement used to create the view |
A composite index for the tabid and seqno columns allows only unique values.
SYSVIOLATIONS
The sysviolations system catalog table stores information about the violations and diagnostics tables for base tables. Every table in the database that has a violations and diagnostics table associated with it has a corresponding row in the sysviolations table. The sysviolations system catalog table shows the following columns.
Column Name | Type | Explanation |
---|---|---|
targettid | INTEGER | Table identifier of the target table. The target table is the base table on which the violations and diagnostics tables are defined. |
viotid | INTEGER | Table identifier of the violations table |
diatid | INTEGER | Table identifier of the diagnostics table |
maxrows | INTEGER | Maximum number of rows that can be inserted into the diagnostics table during a single insert, update, or delete operation on a target table that has a filtering-mode object defined on it. |
|
| Also signifies the maximum number of rows that can be inserted into the diagnostics table during a single operation that enables a disabled object or sets a disabled object to filtering mode (provided that a diagnostics table exists for the target table). |
|
| If no maximum has been specified for the diagnostics table, this column contains a null value. |
The primary key of the sysviolations table is the targettid column. Unique indexes are also defined on the viotid and diatid columns.
SYSXTDDESC
The sysxtddesc system catalog table provides a text description of each user-defined data type (collection, opaque, distinct, and row types) that is defined in the database. The sysxtddesc system catalog table shows the following columns.
Column Name | Type | Explanation |
---|---|---|
extended_id | SERIAL | Unique identifier for extended data types |
seqno | SMALLINT | Value to order and identify one line of description for specific values of extended_id. A new sequence is created only if the text string is larger than the 255 limit of the text string. |
description | CHAR(255) | Textual description of the extended data type |
SYSXTDTYPEAUTH
The sysxtdtypeauth system catalog table provides privileges for each user-defined data type (opaque and distinct types) that is defined in the database. The table contains one row for each set of privileges granted.
The sysxtdtypeauth system catalog table shows the following columns.
Column Name | Type | Explanation |
---|---|---|
grantor | CHAR(8) | Grantor of privilege |
grantee | CHAR(8) | Grantee (receiver) of privilege |
type | INTEGER | Identifier of the user-defined type |
auth | CHAR(2) | Privileges on the user-defined data type: |
' |
||
' |
||
' |
||
' |
If the sysxtdtypeauth privilege code is uppercase (for example, 'U
' for usage), a user who has this privilege can also grant it to others. If the sysxtdtypeauth privilege code is lowercase (for example, 'u
' for usage), the user who has this privilege cannot grant it to others.
A composite index for the type, grantor, and grantee columns allows only unique values. The composite index for the type and grantee columns allows duplicate values.
SYSXTDTYPES
The sysxtdtype system catalog table has an entry for each user-defined data type (opaque and distinct data types) and complex data type (named row type, unnamed row type, and collection type) that is defined in the database. Each extended data type has a unique id, called an extended id (extended_id), a data-type identifier (type), and the length and description of the data type.
The sysxtdtypes system catalog table shows the following columns.
Column Name | Type | Explanation | |
---|---|---|---|
extended_id | SERIAL | Unique identifier for extended data types |
|
mode | CHAR(1) | Detailed description of the user-defined type. |
|
|
|
| ' |
owner | CHAR(8) | Owner of the data type |
|
name | CHAR(18) | Name of the data type |
|
type | SMALLINT | The identifier of the data type. See the coltype column values of the syscolumns system catalog table for a complete list of identifiers associated with different data types. For distinct types created from built-in data types, this is the value of the coltype column of the source type in the syscolumns system catalog table. A value of |
|
source | INTEGER | The sysxtdtypes reference for this type, if it is a distinct type. A value of |
|
maxlen | INTEGER | The maximum length for variable-length data types. A value of |
|
length | INTEGER | The length in bytes for fixed-length data types. A value of |
|
byvalue | CHAR(1) | If the data type is passed by value |
|
|
|
| ' |
cannothash | CHAR(1) | Is data type hashable using the default bit-hashing function? |
|
|
|
| ' |
align | SMALLINT | Alignment for this data type. |
|
locator | INTEGER | Locator (key) for unnamed row types. |
The index on the extended_id column allows only unique values. Similarly the index on columns name and type columns also allows only unique values. The index on the source and maxlen columns allow duplicate values.
![]() |
![]() |