SYSIQCOLUMN system table

CREATE TABLE SYS.SYSIQCOLUMN (
	table_id	 UNSIGNED INT NOT NULL,
	column_id UNSIGNED INT NOT NULL,
	link_table_id UNSIGNED INT NULL,
	link_column_id UNSIGNED INT NULL,
	max_length UNSIGNED INT NOT NULL,
	approx_unique_count ROWID
	cardinality ROWID NOT NULL,
	has_data CHAR(1) NOT NULL,
	has_original CHAR(1) NOT NULL,
	original_not_null CHAR(1) NOT NULL,
	original_unique CHAR(1) NOT NULL,
	info_location					HS_VDORECID NOT NULL,
	info_recid_size					UNSIGNED INT NOT NULL,
	info_location_size						UNSIGNED INT NOT NULL,
	PRIMARY KEY ( table_id, column_id )
)

Each column in every table is described by one row in SYSIQCOLUMN, which corresponds to a same row in SYSCOLUMN based on the primary key.

table_id The table number uniquely identifies the table to which this column belongs. It corresponds to the table_id column of SYSTABLE.

column_id Each table starts numbering columns at 1. The order of column numbers determines the order that columns are displayed in the command select * from table.

link_table_id For internal use.

link_column_id For internal use.

max_length Indicates the maximum length allowed by the column.

approx_unique_count Approximate number of unique values (cardinality) of this column.

cardinality The actual number of unique values (cardinality) of this column.

has_data Indicates that the column contains data (T/F).

has_original Indicates the join index has the original data (T/F).

original_not_null Indicates the join index column with the original data was NOT NULL (T/F).

original_unique Indicates the join index column with the original data was UNIQUE (T/F).

info_location Not used. Always zero.

info_recid_size Not used. Always zero.

info_location_size Not used. Always zero.