This example demonstrates how to navigate the system tables of an UltraLiteJ database to examine the schema information. The data for each row of the tables also appears.
Run the DumpSchema.java exampleChange to the following directory: %SQLANYSAMP12%\UltraLiteJ\J2SE.
Run the CreateSales example:
rundemo CreateSales |
Run the following command (the command is case sensitive):
rundemo DumpSchema |
The partial output of the application is shown below.
Metadata options:
Option[ date_format ] = 'YYYY-MM-DD'
Option[ date_order ] = 'YMD'
Option[ global_database_id ] = '0'
Option[ nearest_century ] = '50'
Option[ precision ] = '30'
Option[ scale ] = '6'
Option[ time_format ] = 'HH:NN:SS.SSS'
Option[ timestamp_format ] = 'YYYY-MM-DD HH:NN:SS.SSS'
Option[ timestamp_increment ] = '1'
Metadata tables:
Table[0] name = "systable" id = 0 flags = 0xc000,SYSTEM,NO_SYNC
column[0 ]: name = "table_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[1 ]: name = "table_name" flags = 0x0 domain = VARCHAR(128)
column[2 ]: name = "table_flags" flags = 0x0 domain = UNSIGNED-SHORT
column[3 ]: name = "table_data" flags = 0x0 domain = INTEGER
column[4 ]: name = "table_autoinc" flags = 0x0 domain = BIG
index[0 ]: name = "primary" flags = 0xf,UNIQUE-KEY,UNIQUE-INDEX,PERSISTENT,PRIMARY-INDEX
key[0 ]: name = "table_id" flags = 0x1,FORWARD
Table[1] name = "syscolumn" id = 1 flags = 0xc000,SYSTEM,NO_SYNC
column[0 ]: name = "table_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[1 ]: name = "column_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[2 ]: name = "column_name" flags = 0x0 domain = VARCHAR(128)
column[3 ]: name = "column_flags" flags = 0x0 domain = TINY
column[4 ]: name = "column_domain" flags = 0x0 domain = TINY
column[5 ]: name = "column_length" flags = 0x0 domain = INTEGER
column[6 ]: name = "column_default" flags = 0x0 domain = TINY
index[0 ]: name = "primary" flags = 0xf,UNIQUE-KEY,UNIQUE-INDEX,PERSISTENT,PRIMARY-INDEX
key[0 ]: name = "table_id" flags = 0x1,FORWARD
key[1 ]: name = "column_id" flags = 0x1,FORWARD
Table[2] name = "sysindex" id = 2 flags = 0xc000,SYSTEM,NO_SYNC
column[0 ]: name = "table_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[1 ]: name = "index_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[2 ]: name = "index_name" flags = 0x0 domain = VARCHAR(128)
column[3 ]: name = "index_flags" flags = 0x0 domain = TINY
column[4 ]: name = "index_data" flags = 0x0 domain = INTEGER
index[0 ]: name = "primary" flags = 0xf,UNIQUE-KEY,UNIQUE-INDEX,PERSISTENT,PRIMARY-INDEX
key[0 ]: name = "table_id" flags = 0x1,FORWARD
key[1 ]: name = "index_id" flags = 0x1,FORWARD
Table[3] name = "sysindexcolumn" id = 3 flags = 0xc000,SYSTEM,NO_SYNC
column[0 ]: name = "table_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[1 ]: name = "index_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[2 ]: name = "order" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[3 ]: name = "column_id" flags = 0x0 domain = INTEGER
column[4 ]: name = "index_column_flags" flags = 0x0 domain = TINY
index[0 ]: name = "primary" flags = 0xf,UNIQUE-KEY,UNIQUE-INDEX,PERSISTENT,PRIMARY-INDEX
key[0 ]: name = "table_id" flags = 0x1,FORWARD
key[1 ]: name = "index_id" flags = 0x1,FORWARD
key[2 ]: name = "order" flags = 0x1,FORWARD
Table[4] name = "sysinternal" id = 4 flags = 0xc000,SYSTEM,NO_SYNC
column[0 ]: name = "name" flags = 0x1,IN-PRIMARY-INDEX domain = VARCHAR(128)
column[1 ]: name = "value" flags = 0x0 domain = VARCHAR(128)
index[0 ]: name = "primary" flags = 0xf,UNIQUE-KEY,UNIQUE-INDEX,PERSISTENT,PRIMARY-INDEX
key[0 ]: name = "name" flags = 0x1,FORWARD
Table[5] name = "syspublications" id = 5 flags = 0xc000,SYSTEM,NO_SYNC
column[0 ]: name = "publication_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[1 ]: name = "publication_name" flags = 0x0 domain = VARCHAR(128)
column[2 ]: name = "download_timestamp" flags = 0x0 domain = TIMESTAMP
column[3 ]: name = "last_sync_sent" flags = 0x0 domain = INTEGER
column[4 ]: name = "last_sync_confirmed" flags = 0x0 domain = INTEGER
index[0 ]: name = "primary" flags = 0xf,UNIQUE-KEY,UNIQUE-INDEX,PERSISTENT,PRIMARY-INDEX
key[0 ]: name = "publication_id" flags = 0x1,FORWARD
Table[6] name = "sysarticles" id = 6 flags = 0xc000,SYSTEM,NO_SYNC
column[0 ]: name = "publication_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[1 ]: name = "table_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
index[0 ]: name = "primary" flags = 0xf,UNIQUE-KEY,UNIQUE-INDEX,PERSISTENT,PRIMARY-INDEX
key[0 ]: name = "publication_id" flags = 0x1,FORWARD
key[1 ]: name = "table_id" flags = 0x1,FORWARD
Table[7] name = "sysforeignkey" id = 7 flags = 0xc000,SYSTEM,NO_SYNC
column[0 ]: name = "table_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[1 ]: name = "foreign_table_id" flags = 0x0 domain = INTEGER
column[2 ]: name = "foreign_key_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[3 ]: name = "name" flags = 0x0 domain = VARCHAR(128)
column[4 ]: name = "index_name" flags = 0x0 domain = VARCHAR(128)
index[0 ]: name = "primary" flags = 0xf,UNIQUE-KEY,UNIQUE-INDEX,PERSISTENT,PRIMARY-INDEX
key[0 ]: name = "table_id" flags = 0x1,FORWARD
key[1 ]: name = "foreign_key_id" flags = 0x1,FORWARD
Table[8] name = "sysfkcol" id = 8 flags = 0xc000,SYSTEM,NO_SYNC
column[0 ]: name = "table_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[1 ]: name = "foreign_key_id" flags = 0x1,IN-PRIMARY-INDEX domain = INTEGER
column[2 ]: name = "item_no" flags = 0x1,IN-PRIMARY-INDEX domain = SHORT
column[3 ]: name = "column_id" flags = 0x0 domain = INTEGER
column[4 ]: name = "foreign_column_id" flags = 0x0 domain = INTEGER
index[0 ]: name = "primary" flags = 0xf,UNIQUE-KEY,UNIQUE-INDEX,PERSISTENT,PRIMARY-INDEX
key[0 ]: name = "table_id" flags = 0x1,FORWARD
key[1 ]: name = "foreign_key_id" flags = 0x1,FORWARD
key[2 ]: name = "item_no" flags = 0x1,FORWARD |
See also![]() |
Discuss this page in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |