System Information

generated by SchemaCrawler 16.18.2
generated on 2022-10-24 10:18:51
database version HSQL Database Engine 2.7.1
driver version HSQL Database Engine Driver 2.7.1

 

 

Tables

PUBLIC.BOOKS.AUTHORS [table]
Contact details for book authors
ID INTEGER NOT NULL
FIRSTNAME VARCHAR(20) NOT NULL
LASTNAME VARCHAR(20) NOT NULL
ADDRESS1 VARCHAR(255)
ADDRESS2 VARCHAR(255)
CITY VARCHAR(50)
STATE CHARACTER(2)
POSTALCODE VARCHAR(10)
COUNTRY VARCHAR(50)
Primary Key
PK_AUTHORS [primary key]
ID
Foreign Keys
Z_FK_AUTHOR [foreign key, with no action]
ID ←(0..many) PUBLIC.BOOKS.BOOKAUTHORS.AUTHORID
Indexes
PK_AUTHORS [unique index]
ID ascending
IDX_B_AUTHORS [non-unique index]
LASTNAME ascending
FIRSTNAME ascending
IDX_A_AUTHORS [non-unique index]
CITY ascending
STATE ascending
POSTALCODE ascending
COUNTRY ascending
Triggers
TRG_AUTHORS [trigger, after delete, per row]
UPDATE BOOKS.PUBLISHERS SET PUBLISHER='Jacob'WHERE PUBLISHER='John'
Table Constraints
CHECK_UPPERCASE_STATE [check constraint]
STATE
BOOKS.AUTHORS.STATE=UPPER(BOOKS.AUTHORS.STATE)
SYS_CT_10104 [check constraint]
ID
BOOKS.AUTHORS.ID IS NOT NULL
SYS_CT_10105 [check constraint]
FIRSTNAME
BOOKS.AUTHORS.FIRSTNAME IS NOT NULL
SYS_CT_10106 [check constraint]
LASTNAME
BOOKS.AUTHORS.LASTNAME IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
SA → OTHERUSER
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)

 

PUBLIC.BOOKS.AUTHORSLIST [view]
ID INTEGER
FIRSTNAME VARCHAR(20)
LASTNAME VARCHAR(20)
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)
Definition
[definition]
SELECT ID,FIRSTNAME,LASTNAME FROM BOOKS.AUTHORS
Table Usage
PUBLIC.BOOKS.AUTHORS [table]

 

PUBLIC.BOOKS.BOOKAUTHORS [table]
Relationship between books and their authors, along with the latest updated information
BOOKID INTEGER NOT NULL
AUTHORID INTEGER NOT NULL
SOMEDATA VARCHAR(30)
Foreign Keys
Z_FK_AUTHOR [foreign key, with no action]
AUTHORID (0..many)→ PUBLIC.BOOKS.AUTHORS.ID
SYS_FK_10120 [foreign key, with no action]
BOOKID (0..many)→ PUBLIC.BOOKS.BOOKS.ID
Indexes
Z_FK_AUTHOR [non-unique index]
AUTHORID ascending
SYS_FK_10120 [non-unique index]
BOOKID ascending
UIDX_BOOKAUTHORS [unique index]
BOOKID ascending
AUTHORID ascending
Table Constraints
SYS_CT_10118 [check constraint]
BOOKID
BOOKS.BOOKAUTHORS.BOOKID IS NOT NULL
SYS_CT_10119 [check constraint]
AUTHORID
BOOKS.BOOKAUTHORS.AUTHORID IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)

 

PUBLIC.BOOKS.BOOKS [table]
Details for published books
ID INTEGER NOT NULL
Unique (internal) id for book
TITLE VARCHAR(255) NOT NULL
Book title
DESCRIPTION VARCHAR(255)
Book description (Usually the blurb from the book jacket or promotional materials)
PUBLISHERID INTEGER NOT NULL
Foreign key to the book publisher
PUBLICATIONDATE DATE
Book publication date
PRICE DOUBLE(64, 0)
Current price for the book
PREVIOUSEDITIONID INTEGER
Primary Key
PK_BOOKS [primary key]
ID
Foreign Keys
FK_SALES_BOOK [foreign key, with no action]
ID ←(0..many) PUBLIC."PUBLISHER SALES".SALES.BOOKID
SYS_FK_10120 [foreign key, with no action]
ID ←(0..many) PUBLIC.BOOKS.BOOKAUTHORS.BOOKID
FK_PREVIOUSEDITION [foreign key, with no action]
ID ←(0..1) PREVIOUSEDITIONID
Indexes
PK_BOOKS [unique index]
ID ascending
U_PREVIOUSEDITION [unique index]
PREVIOUSEDITIONID ascending
FK_PREVIOUSEDITION [non-unique index]
PREVIOUSEDITIONID ascending
Table Constraints
U_PREVIOUSEDITION [unique constraint]
PREVIOUSEDITIONID
SYS_CT_10111 [check constraint]
ID
BOOKS.BOOKS.ID IS NOT NULL
SYS_CT_10112 [check constraint]
TITLE
BOOKS.BOOKS.TITLE IS NOT NULL
SYS_CT_10113 [check constraint]
PUBLISHERID
BOOKS.BOOKS.PUBLISHERID IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)

 

PUBLIC.BOOKS.COUPONS [table]
ID INTEGER NOT NULL
DATA CLOB
COUPONS INTEGER ARRAY
BOOKS VARCHAR(20) ARRAY[10]
Primary Key
PK_COUPONS [primary key]
ID
Indexes
PK_COUPONS [unique index]
ID ascending
Table Constraints
SYS_CT_10093 [check constraint]
ID
BOOKS.COUPONS.ID IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)

 

PUBLIC.BOOKS.CUSTOMERDATA [table]
ID INTEGER NOT NULL
DATA VALID_STRING(20)
Primary Key
PK_CUSTOMERDATA [primary key]
ID
Indexes
PK_CUSTOMERDATA [unique index]
ID ascending
Table Constraints
SYS_CT_10102 [check constraint]
ID
BOOKS.CUSTOMERDATA.ID IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)

 

PUBLIC.BOOKS.CUSTOMERS [table]
ID INTEGER NOT NULL
FIRSTNAME NAME_TYPE NOT NULL
LASTNAME NAME_TYPE NOT NULL
AGE AGE_TYPE
Primary Key
PK_CUSTOMERS [primary key]
ID
Indexes
PK_CUSTOMERS [unique index]
ID ascending
Table Constraints
SYS_CT_10095 [check constraint]
ID
BOOKS.CUSTOMERS.ID IS NOT NULL
SYS_CT_10096 [check constraint]
FIRSTNAME
BOOKS.CUSTOMERS.FIRSTNAME IS NOT NULL
SYS_CT_10097 [check constraint]
LASTNAME
BOOKS.CUSTOMERS.LASTNAME IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)

 

PUBLIC.BOOKS."Global Counts" [table]
"Global Count" INTEGER
"UPDATE" VARCHAR(20)
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)

 

PUBLIC.BOOKS.PUBLISHERS [table]
List of book publishers
ID INTEGER NOT NULL
auto-incremented
Unique (internal) id for book publisher
PUBLISHER VARCHAR(255)
Name of book publisher
Primary Key
SYS_PK_10126 [primary key]
ID
Foreign Keys
FK_ΒΙΒΛΊΑ_PUBLISHERS [foreign key, with no action]
ID ←(0..many) PUBLIC.BOOKS.ΒΙΒΛΊΑ.ΕΚΔΌΤΗΣ
Indexes
SYS_PK_10126 [unique index]
ID ascending
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)

 

PUBLIC.BOOKS.ΒΙΒΛΊΑ [table]
ΜΟΝΑΔΙΚΌΣ SMALLINT NOT NULL
ΤΊΤΛΟΣ VARCHAR(255) NOT NULL
ΠΕΡΙΓΡΑΦΉ VARCHAR(255)
ΕΚΔΌΤΗΣ SMALLINT NOT NULL
Primary Key
PK_ΒΙΒΛΊΑ [primary key]
ΜΟΝΑΔΙΚΌΣ
Foreign Keys
FK_ΒΙΒΛΊΑ_PUBLISHERS [foreign key, with no action]
ΕΚΔΌΤΗΣ (0..many)→ PUBLIC.BOOKS.PUBLISHERS.ID
Indexes
FK_ΒΙΒΛΊΑ_PUBLISHERS [non-unique index]
ΕΚΔΌΤΗΣ ascending
PK_ΒΙΒΛΊΑ [unique index]
ΜΟΝΑΔΙΚΌΣ ascending
Table Constraints
SYS_CT_10128 [check constraint]
ΜΟΝΑΔΙΚΌΣ
BOOKS.ΒΙΒΛΊΑ.ΜΟΝΑΔΙΚΌΣ IS NOT NULL
SYS_CT_10129 [check constraint]
ΤΊΤΛΟΣ
BOOKS.ΒΙΒΛΊΑ.ΤΊΤΛΟΣ IS NOT NULL
SYS_CT_10130 [check constraint]
ΕΚΔΌΤΗΣ
BOOKS.ΒΙΒΛΊΑ.ΕΚΔΌΤΗΣ IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → SA (grantable)
INSERT [privilege]
_SYSTEM → SA (grantable)
REFERENCES [privilege]
_SYSTEM → SA (grantable)
SELECT [privilege]
_SYSTEM → SA (grantable)
TRIGGER [privilege]
_SYSTEM → SA (grantable)
UPDATE [privilege]
_SYSTEM → SA (grantable)

 

PUBLIC.FOR_LINT.EXTRA_PK [table]
Extra table with just a primary key
WRITERID BIGINT NOT NULL
PUBLICATIONID INTEGER NOT NULL
ID INTEGER NOT NULL
Primary Key
PK_EXTRA_PK [primary key]
ID
Foreign Keys
FK_PUBLICATION_JOIN [foreign key, with no action]
PUBLICATIONID (0..many)→ PUBLIC.FOR_LINT.PUBLICATIONS.ID
FK_WRITER_JOIN [foreign key, with no action]
WRITERID (0..many)→ PUBLIC.FOR_LINT.WRITERS.ID
Indexes
FK_WRITER_JOIN [non-unique index]
WRITERID ascending
PK_EXTRA_PK [unique index]
ID ascending
FK_PUBLICATION_JOIN [non-unique index]
PUBLICATIONID ascending
Table Constraints
SYS_CT_10177 [check constraint]
WRITERID
FOR_LINT.EXTRA_PK.WRITERID IS NOT NULL
SYS_CT_10178 [check constraint]
PUBLICATIONID
FOR_LINT.EXTRA_PK.PUBLICATIONID IS NOT NULL
SYS_CT_10179 [check constraint]
ID
FOR_LINT.EXTRA_PK.ID IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → DBA (grantable)
INSERT [privilege]
_SYSTEM → DBA (grantable)
REFERENCES [privilege]
_SYSTEM → DBA (grantable)
SELECT [privilege]
_SYSTEM → DBA (grantable)
TRIGGER [privilege]
_SYSTEM → DBA (grantable)
UPDATE [privilege]
_SYSTEM → DBA (grantable)

 

PUBLIC.FOR_LINT."Global Counts" [table]
"Global Count" INTEGER
Privileges and Grants
DELETE [privilege]
_SYSTEM → DBA (grantable)
INSERT [privilege]
_SYSTEM → DBA (grantable)
REFERENCES [privilege]
_SYSTEM → DBA (grantable)
SELECT [privilege]
_SYSTEM → DBA (grantable)
TRIGGER [privilege]
_SYSTEM → DBA (grantable)
UPDATE [privilege]
_SYSTEM → DBA (grantable)

 

PUBLIC.FOR_LINT.PUBLICATIONS [table]
ID INTEGER NOT NULL
TITLE VARCHAR(255) NOT NULL
Publication title
DESCRIPTION VARCHAR(255)
WRITERID BIGINT NOT NULL
PUBLICATIONDATE DATE
PRICE DOUBLE(64, 0)
"UPDATE" CLOB
PRESS_RELEASE CLOB
Primary Key
PK_PUBLICATIONS [primary key]
ID
Foreign Keys
FK_PUBLICATION_JOIN [foreign key, with no action]
ID ←(0..many) PUBLIC.FOR_LINT.EXTRA_PK.PUBLICATIONID
FK_PUBLICATIONS_WRITER [foreign key, with no action]
WRITERID (0..many)→ PUBLIC.FOR_LINT.WRITERS.ID
FK_PUBLICATION [foreign key, with no action]
ID ←(0..many) PUBLIC.FOR_LINT.PUBLICATIONWRITERS.PUBLICATIONID
FK_WRITERS_PUBLICATION [foreign key, with no action]
ID ←(0..many) PUBLIC.FOR_LINT.WRITERS.PUBLICATION_ID
Indexes
FK_PUBLICATIONS_WRITER [non-unique index]
WRITERID ascending
PK_PUBLICATIONS [unique index]
ID ascending
Table Constraints
SYS_CT_10162 [check constraint]
ID
FOR_LINT.PUBLICATIONS.ID IS NOT NULL
SYS_CT_10163 [check constraint]
TITLE
FOR_LINT.PUBLICATIONS.TITLE IS NOT NULL
SYS_CT_10164 [check constraint]
WRITERID
FOR_LINT.PUBLICATIONS.WRITERID IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → DBA (grantable)
INSERT [privilege]
_SYSTEM → DBA (grantable)
REFERENCES [privilege]
_SYSTEM → DBA (grantable)
SELECT [privilege]
_SYSTEM → DBA (grantable)
TRIGGER [privilege]
_SYSTEM → DBA (grantable)
UPDATE [privilege]
_SYSTEM → DBA (grantable)

 

PUBLIC.FOR_LINT.PUBLICATIONWRITERS [table]
PUBLICATIONID INTEGER NOT NULL
WRITERID BIGINT NOT NULL
Foreign Keys
FK_PUBLICATION [foreign key, with no action]
PUBLICATIONID (0..many)→ PUBLIC.FOR_LINT.PUBLICATIONS.ID
FK_WRITER [foreign key, with no action]
WRITERID (0..many)→ PUBLIC.FOR_LINT.WRITERS.ID
Indexes
FK_WRITER [non-unique index]
WRITERID ascending
FK_PUBLICATION [non-unique index]
PUBLICATIONID ascending
Table Constraints
SYS_CT_10169 [check constraint]
PUBLICATIONID
FOR_LINT.PUBLICATIONWRITERS.PUBLICATIONID IS NOT NULL
SYS_CT_10170 [check constraint]
WRITERID
FOR_LINT.PUBLICATIONWRITERS.WRITERID IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → DBA (grantable)
INSERT [privilege]
_SYSTEM → DBA (grantable)
REFERENCES [privilege]
_SYSTEM → DBA (grantable)
SELECT [privilege]
_SYSTEM → DBA (grantable)
TRIGGER [privilege]
_SYSTEM → DBA (grantable)
UPDATE [privilege]
_SYSTEM → DBA (grantable)

 

PUBLIC.FOR_LINT.SELFREFERENCE [table]
ID INTEGER NOT NULL
TITLE VARCHAR(255) NOT NULL
Primary Key
PK_SELFREFERENCE [primary key]
ID
Foreign Keys
FK_SELFREFERENCE [foreign key, with no action]
ID ←(0..1) ID
Indexes
PK_SELFREFERENCE [unique index]
ID ascending
FK_SELFREFERENCE [non-unique index]
ID ascending
Table Constraints
SYS_CT_10185 [check constraint]
ID
FOR_LINT.SELFREFERENCE.ID IS NOT NULL
SYS_CT_10186 [check constraint]
TITLE
FOR_LINT.SELFREFERENCE.TITLE IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → DBA (grantable)
INSERT [privilege]
_SYSTEM → DBA (grantable)
REFERENCES [privilege]
_SYSTEM → DBA (grantable)
SELECT [privilege]
_SYSTEM → DBA (grantable)
TRIGGER [privilege]
_SYSTEM → DBA (grantable)
UPDATE [privilege]
_SYSTEM → DBA (grantable)

 

PUBLIC.FOR_LINT.WRITERS [table]
ID BIGINT NOT NULL
FIRSTNAME VARCHAR(20) NOT NULL
LASTNAME VARCHAR(20) NOT NULL
ADDRESS1 VARCHAR(255)
ADDRESS2 VARCHAR(255) NOT NULL
CITY VARCHAR(50)
STATE VARCHAR(2)
POSTALCODE VARCHAR(10)
COUNTRY VARCHAR(50)
PHONE1 VARCHAR(10)
PHONE2 VARCHAR(15)
EMAIL1 VARCHAR(10)
EMAIL2 INTEGER
FAX VARCHAR(10)
FAX3 INTEGER
HOMEEMAIL11 VARCHAR(10)
HOMEEMAIL12 VARCHAR(10)
PUBLICATION_ID BIGINT NOT NULL
Primary Key
PK_WRITERS [primary key]
ID
Foreign Keys
FK_WRITER_JOIN [foreign key, with no action]
ID ←(0..many) PUBLIC.FOR_LINT.EXTRA_PK.WRITERID
FK_PUBLICATIONS_WRITER [foreign key, with no action]
ID ←(0..many) PUBLIC.FOR_LINT.PUBLICATIONS.WRITERID
FK_WRITER [foreign key, with no action]
ID ←(0..many) PUBLIC.FOR_LINT.PUBLICATIONWRITERS.WRITERID
FK_WRITERS_PUBLICATION [foreign key, with no action]
PUBLICATION_ID (0..many)→ PUBLIC.FOR_LINT.PUBLICATIONS.ID
Indexes
PK_WRITERS [unique index]
ID ascending
FK_WRITERS_PUBLICATION [non-unique index]
PUBLICATION_ID ascending
IDX_A1_WRITERS [non-unique index]
CITY ascending
STATE ascending
IDX_U_WRITERS [unique index]
EMAIL1 ascending
COUNTRY ascending
IDX_B_WRITERS [non-unique index]
LASTNAME ascending
FIRSTNAME ascending
IDX_A_WRITERS [non-unique index]
CITY ascending
STATE ascending
POSTALCODE ascending
COUNTRY ascending
Table Constraints
CHECK_UPPERCASE_STATE [check constraint]
STATE
FOR_LINT.WRITERS.STATE=UPPER(FOR_LINT.WRITERS.STATE)
SYS_CT_10151 [check constraint]
ID
FOR_LINT.WRITERS.ID IS NOT NULL
SYS_CT_10152 [check constraint]
FIRSTNAME
FOR_LINT.WRITERS.FIRSTNAME IS NOT NULL
SYS_CT_10153 [check constraint]
LASTNAME
FOR_LINT.WRITERS.LASTNAME IS NOT NULL
SYS_CT_10154 [check constraint]
ADDRESS2
FOR_LINT.WRITERS.ADDRESS2 IS NOT NULL
SYS_CT_10155 [check constraint]
PUBLICATION_ID
FOR_LINT.WRITERS.PUBLICATION_ID IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → DBA (grantable)
INSERT [privilege]
_SYSTEM → DBA (grantable)
REFERENCES [privilege]
_SYSTEM → DBA (grantable)
SELECT [privilege]
_SYSTEM → DBA (grantable)
TRIGGER [privilege]
_SYSTEM → DBA (grantable)
UPDATE [privilege]
_SYSTEM → DBA (grantable)

 

PUBLIC."PUBLISHER SALES".REGIONS [table]
CITY VARCHAR(50) NOT NULL
STATE VARCHAR(2) NOT NULL
POSTALCODE VARCHAR(10) NOT NULL
COUNTRY VARCHAR(50) NOT NULL
Primary Key
PK_CUSTOMERS [primary key]
POSTALCODE
COUNTRY
Foreign Keys
FK_SALES_REGIONS [foreign key, with no action]
POSTALCODE ←(0..many) PUBLIC."PUBLISHER SALES".SALES.POSTALCODE
COUNTRY ←(0..many) PUBLIC."PUBLISHER SALES".SALES.COUNTRY
Indexes
PK_CUSTOMERS [unique index]
POSTALCODE ascending
COUNTRY ascending
Table Constraints
SYS_CT_10199 [check constraint]
CITY
"PUBLISHER SALES".REGIONS.CITY IS NOT NULL
SYS_CT_10200 [check constraint]
STATE
"PUBLISHER SALES".REGIONS.STATE IS NOT NULL
SYS_CT_10201 [check constraint]
POSTALCODE
"PUBLISHER SALES".REGIONS.POSTALCODE IS NOT NULL
SYS_CT_10202 [check constraint]
COUNTRY
"PUBLISHER SALES".REGIONS.COUNTRY IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → DBA (grantable)
INSERT [privilege]
_SYSTEM → DBA (grantable)
REFERENCES [privilege]
_SYSTEM → DBA (grantable)
SELECT [privilege]
_SYSTEM → DBA (grantable)
TRIGGER [privilege]
_SYSTEM → DBA (grantable)
UPDATE [privilege]
_SYSTEM → DBA (grantable)

 

PUBLIC."PUBLISHER SALES".SALES [table]
POSTALCODE VARCHAR(10) NOT NULL
COUNTRY VARCHAR(50) NOT NULL
BOOKID INTEGER
COUPON_ID INTEGER
PERIODENDDATE DATE
TOTALAMOUNT DOUBLE(64, 0)
SALESDATAID INTEGER
Foreign Keys
FK_SALES_BOOK [foreign key, with no action]
BOOKID (0..many)→ PUBLIC.BOOKS.BOOKS.ID
FK_SALES_SALESDATA [foreign key, with no action]
SALESDATAID (0..many)→ PUBLIC."PUBLISHER SALES".SALESDATA.SALESDATAID
FK_SALES_REGIONS [foreign key, with no action]
POSTALCODE (0..many)→ PUBLIC."PUBLISHER SALES".REGIONS.POSTALCODE
COUNTRY (0..many)→ PUBLIC."PUBLISHER SALES".REGIONS.COUNTRY
Indexes
FK_SALES_BOOK [non-unique index]
BOOKID ascending
FK_SALES_SALESDATA [non-unique index]
SALESDATAID ascending
FK_SALES_REGIONS [non-unique index]
POSTALCODE ascending
COUNTRY ascending
Table Constraints
SYS_CT_10208 [check constraint]
POSTALCODE
"PUBLISHER SALES".SALES.POSTALCODE IS NOT NULL
SYS_CT_10209 [check constraint]
COUNTRY
"PUBLISHER SALES".SALES.COUNTRY IS NOT NULL
Privileges and Grants
DELETE [privilege]
_SYSTEM → DBA (grantable)
INSERT [privilege]
_SYSTEM → DBA (grantable)
REFERENCES [privilege]
_SYSTEM → DBA (grantable)
SELECT [privilege]
_SYSTEM → DBA (grantable)
TRIGGER [privilege]
_SYSTEM → DBA (grantable)
UPDATE [privilege]
_SYSTEM → DBA (grantable)

 

PUBLIC."PUBLISHER SALES".SALESDATA [table]
SALESDATAID INTEGER
YEARLYAMOUNT DOUBLE(64, 0)
Foreign Keys
FK_SALES_SALESDATA [foreign key, with no action]
SALESDATAID ←(0..many) PUBLIC."PUBLISHER SALES".SALES.SALESDATAID
Indexes
UQ_CUSTOMERS [unique index]
SALESDATAID ascending
Table Constraints
UQ_CUSTOMERS [unique constraint]
SALESDATAID
Privileges and Grants
DELETE [privilege]
_SYSTEM → DBA (grantable)
INSERT [privilege]
_SYSTEM → DBA (grantable)
REFERENCES [privilege]
_SYSTEM → DBA (grantable)
SELECT [privilege]
_SYSTEM → DBA (grantable)
TRIGGER [privilege]
_SYSTEM → DBA (grantable)
UPDATE [privilege]
_SYSTEM → DBA (grantable)

 

 

Routines

PUBLIC.BOOKS.NEW_PUBLISHER [procedure, no result]
PUBLISHER CHARACTER VARYING, out
[specific name]
NEW_PUBLISHER_FORCE_VALUE
Definition
[definition]
CREATE PROCEDURE BOOKS.NEW_PUBLISHER(OUT PUBLISHER VARCHAR(50)) SPECIFIC NEW_PUBLISHER_FORCE_VALUE LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL NEW SAVEPOINT LEVEL SET PUBLISHER = 'New Publisher'

 

PUBLIC.BOOKS.NEW_PUBLISHER [procedure, no result]
NEWPUBLISHER CHARACTER VARYING, in
PUBLISHER CHARACTER VARYING, out
[specific name]
NEW_PUBLISHER_10148
Definition
[definition]
CREATE PROCEDURE BOOKS.NEW_PUBLISHER(IN NEWPUBLISHER VARCHAR(50),OUT PUBLISHER VARCHAR(50)) SPECIFIC NEW_PUBLISHER_10148 LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL NEW SAVEPOINT LEVEL SET PUBLISHER = NEWPUBLISHER

 

PUBLIC.BOOKS.CUSTOMADD [function, does not return a table]
ONE INTEGER, in
[specific name]
CUSTOMADD_10150
Definition
[definition]
CREATE FUNCTION BOOKS.CUSTOMADD(IN ONE INTEGER) RETURNS INTEGER SPECIFIC CUSTOMADD_10150 LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL CALLED ON NULL INPUT RETURN BOOKS.CUSTOMADD(ONE,1)

 

PUBLIC.BOOKS.CUSTOMADD [function, does not return a table]
ONE INTEGER, in
TWO INTEGER, in
[specific name]
CUSTOMADD_10149
Definition
[definition]
CREATE FUNCTION BOOKS.CUSTOMADD(IN ONE INTEGER,IN TWO INTEGER) RETURNS INTEGER SPECIFIC CUSTOMADD_10149 LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL CALLED ON NULL INPUT RETURN ONE+TWO

 

PUBLIC.SYSTEM_LOBS.ALLOC_BLOCKS [procedure, no result]
B_COUNT INTEGER, in
B_OFFSET INTEGER, in
L_ID BIGINT, in
[specific name]
ALLOC_BLOCKS_10071
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.ALLOC_BLOCKS(IN B_COUNT INTEGER,IN B_OFFSET INTEGER,IN L_ID BIGINT) SPECIFIC ALLOC_BLOCKS_10071 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC DECLARE LOB_ADDR INT DEFAULT NULL;DECLARE REMAINING_COUNT INT DEFAULT 0;DECLARE BL_ADDR INT DEFAULT NULL;DECLARE TEMP_COUNT INT DEFAULT 0;DECLARE BL_OFFSET INT DEFAULT 0;SET REMAINING_COUNT=B_COUNT;SET BL_OFFSET=B_OFFSET;MAIN_LOOP:LOOP SET BL_ADDR=(SELECT BLOCK_ADDR FROM SYSTEM_LOBS.BLOCKS WHERE BLOCK_COUNT=REMAINING_COUNT AND TX_ID=0 FETCH 1 ROW ONLY);IF BL_ADDR IS NOT NULL THEN CALL CONVERT_BLOCK(BL_ADDR,REMAINING_COUNT,BL_OFFSET,L_ID);IF LOB_ADDR IS NULL THEN SET LOB_ADDR=BL_ADDR;END IF;LEAVE MAIN_LOOP;END IF;SET(BL_ADDR,TEMP_COUNT)=(SELECT BLOCK_ADDR,BLOCK_COUNT FROM SYSTEM_LOBS.BLOCKS WHERE BLOCK_COUNT<REMAINING_COUNT AND TX_ID=0 FETCH 1 ROW ONLY);IF BL_ADDR IS NOT NULL THEN CALL CONVERT_BLOCK(BL_ADDR,TEMP_COUNT,BL_OFFSET,L_ID);IF LOB_ADDR IS NULL THEN SET LOB_ADDR=BL_ADDR;END IF;SET REMAINING_COUNT=REMAINING_COUNT-TEMP_COUNT;SET BL_OFFSET=BL_OFFSET+TEMP_COUNT;SET BL_ADDR=NULL;SET TEMP_COUNT=0;ELSE CALL CREATE_EMPTY_BLOCK(BL_ADDR,REMAINING_COUNT);CALL CONVERT_BLOCK(BL_ADDR,REMAINING_COUNT,BL_OFFSET,L_ID);IF LOB_ADDR IS NULL THEN SET LOB_ADDR=BL_ADDR;END IF;LEAVE MAIN_LOOP;END IF;END LOOP MAIN_LOOP;END

 

PUBLIC.SYSTEM_LOBS.ALLOC_SINGLE_BLOCK [procedure, no result]
B_COUNT INTEGER, in
B_OFFSET INTEGER, in
L_ID BIGINT, in
[specific name]
ALLOC_SINGLE_BLOCK_10074
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.ALLOC_SINGLE_BLOCK(IN B_COUNT INTEGER,IN B_OFFSET INTEGER,IN L_ID BIGINT) SPECIFIC ALLOC_SINGLE_BLOCK_10074 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC DECLARE BL_ADDR INT DEFAULT NULL;SET BL_ADDR=(SELECT BLOCK_ADDR FROM SYSTEM_LOBS.BLOCKS WHERE BLOCK_COUNT=B_COUNT AND TX_ID=0 FETCH 1 ROW ONLY);IF BL_ADDR IS NULL THEN CALL CREATE_EMPTY_BLOCK(BL_ADDR,B_COUNT);END IF;CALL CONVERT_BLOCK(BL_ADDR,B_COUNT,B_OFFSET,L_ID);END

 

PUBLIC.SYSTEM_LOBS.CONVERT_BLOCK [procedure, no result]
B_ADDR INTEGER, in
B_COUNT INTEGER, in
B_OFFSET INTEGER, in
L_ID BIGINT, in
[specific name]
CONVERT_BLOCK_10029
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.CONVERT_BLOCK(IN B_ADDR INTEGER,IN B_COUNT INTEGER,IN B_OFFSET INTEGER,IN L_ID BIGINT) SPECIFIC CONVERT_BLOCK_10029 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC DELETE FROM SYSTEM_LOBS.BLOCKS WHERE BLOCK_ADDR=B_ADDR;INSERT INTO SYSTEM_LOBS.LOBS(BLOCK_ADDR,BLOCK_COUNT,BLOCK_OFFSET,LOB_ID) VALUES(B_ADDR,B_COUNT,B_OFFSET,L_ID);END

 

PUBLIC.SYSTEM_LOBS.CREATE_EMPTY_BLOCK [procedure, no result]
B_ADDR INTEGER, in/ out
B_COUNT INTEGER, in
[specific name]
CREATE_EMPTY_BLOCK_10063
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.CREATE_EMPTY_BLOCK(INOUT B_ADDR INTEGER,IN B_COUNT INTEGER) SPECIFIC CREATE_EMPTY_BLOCK_10063 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC DECLARE TEMP_COUNT INT DEFAULT NULL;DECLARE TEMP_ADDR INT DEFAULT NULL;SET(TEMP_ADDR,TEMP_COUNT)=(SELECT BLOCK_ADDR,BLOCK_COUNT FROM SYSTEM_LOBS.BLOCKS WHERE BLOCK_COUNT>B_COUNT AND TX_ID=0 FETCH 1 ROW ONLY);IF TEMP_ADDR IS NULL THEN SIGNAL SQLSTATE'45000';END IF;UPDATE SYSTEM_LOBS.BLOCKS SET BLOCK_COUNT=B_COUNT WHERE BLOCK_ADDR=TEMP_ADDR;INSERT INTO SYSTEM_LOBS.BLOCKS(BLOCK_ADDR,BLOCK_COUNT,TX_ID) VALUES(TEMP_ADDR+B_COUNT,TEMP_COUNT-B_COUNT,0);SET B_ADDR=TEMP_ADDR;END

 

PUBLIC.SYSTEM_LOBS.DELETE_BLOCKS [procedure, no result]
L_ID BIGINT, in
B_OFFSET INTEGER, in
B_LIMIT INTEGER, in
TX_ID BIGINT, in
[specific name]
DELETE_BLOCKS_10060
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.DELETE_BLOCKS(IN L_ID BIGINT,IN B_OFFSET INTEGER,IN B_LIMIT INTEGER,IN TX_ID BIGINT) SPECIFIC DELETE_BLOCKS_10060 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC INSERT INTO SYSTEM_LOBS.BLOCKS(BLOCK_ADDR,BLOCK_COUNT,TX_ID)(SELECT BLOCK_ADDR,BLOCK_COUNT,TX_ID FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID=L_ID AND BLOCK_OFFSET>=B_OFFSET AND BLOCK_OFFSET<B_LIMIT);DELETE FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID=L_ID AND BLOCK_OFFSET>=B_OFFSET AND BLOCK_OFFSET<B_LIMIT;END

 

PUBLIC.SYSTEM_LOBS.DELETE_LOB [procedure, no result]
L_ID BIGINT, in
TX_ID BIGINT, in
[specific name]
DELETE_LOB_10031
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.DELETE_LOB(IN L_ID BIGINT,IN TX_ID BIGINT) SPECIFIC DELETE_LOB_10031 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC INSERT INTO SYSTEM_LOBS.BLOCKS(BLOCK_ADDR,BLOCK_COUNT,TX_ID)(SELECT BLOCK_ADDR,BLOCK_COUNT,TX_ID FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID=L_ID);DELETE FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID=L_ID;DELETE FROM SYSTEM_LOBS.PARTS WHERE LOB_ID=L_ID;DELETE FROM SYSTEM_LOBS.LOB_IDS WHERE LOB_IDS.LOB_ID=L_ID;END

 

PUBLIC.SYSTEM_LOBS.DELETE_UNUSED [procedure, no result]
L_IDS BIGINT ARRAY, in
[specific name]
DELETE_UNUSED_10046
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.DELETE_UNUSED(IN L_IDS BIGINT ARRAY) SPECIFIC DELETE_UNUSED_10046 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC DECLARE TABLE LIVE_IDS(LIVE_ID INT);DECLARE TABLE TEMP_IDS(TEMP_ID INT);DECLARE TEMP_COUNT INT DEFAULT 1;WHILE TEMP_COUNT<=CARDINALITY(L_IDS)DO INSERT INTO LIVE_IDS(LIVE_ID) VALUES L_IDS[TEMP_COUNT];SET TEMP_COUNT=TEMP_COUNT+1;END WHILE;SET TEMP_COUNT=0;REPEAT INSERT INTO TEMP_IDS(TEMP_ID) SELECT LOB_IDS.LOB_ID FROM SYSTEM_LOBS.LOB_IDS WHERE LOB_USAGE_COUNT<1 AND LOB_IDS.LOB_ID NOT IN(SELECT LIVE_ID FROM LIVE_IDS)LIMIT 1000;INSERT INTO SYSTEM_LOBS.BLOCKS(BLOCK_ADDR,BLOCK_COUNT,TX_ID)(SELECT BLOCK_ADDR,BLOCK_COUNT,0 FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID IN(SELECT TEMP_ID FROM TEMP_IDS));DELETE FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID IN(SELECT TEMP_ID FROM TEMP_IDS);DELETE FROM SYSTEM_LOBS.PARTS WHERE LOB_ID IN(SELECT TEMP_ID FROM TEMP_IDS);DELETE FROM SYSTEM_LOBS.LOB_IDS WHERE LOB_IDS.LOB_ID IN(SELECT TEMP_ID FROM TEMP_IDS);GET DIAGNOSTICS TEMP_COUNT=ROW_COUNT;DELETE FROM TEMP_IDS;UNTIL TEMP_COUNT<1000 END REPEAT;END

 

PUBLIC.SYSTEM_LOBS.DELETE_UNUSED_LOBS [procedure, no result]
LIMIT_ID BIGINT, in
TOTAL_COUNT INTEGER, out
[specific name]
DELETE_UNUSED_LOBS_10058
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.DELETE_UNUSED_LOBS(IN LIMIT_ID BIGINT,OUT TOTAL_COUNT INTEGER) SPECIFIC DELETE_UNUSED_LOBS_10058 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC DECLARE TABLE TEMP_IDS(TEMP_ID INT);DECLARE TEMP_COUNT INT DEFAULT 0;DECLARE TOTAL INT DEFAULT 0;REPEAT INSERT INTO TEMP_IDS(TEMP_ID) SELECT LOB_IDS.LOB_ID FROM SYSTEM_LOBS.LOB_IDS WHERE LOB_USAGE_COUNT=0 AND LOB_IDS.LOB_ID<LIMIT_ID LIMIT 1000;INSERT INTO SYSTEM_LOBS.BLOCKS(BLOCK_ADDR,BLOCK_COUNT,TX_ID)(SELECT BLOCK_ADDR,BLOCK_COUNT,0 FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID IN(SELECT TEMP_ID FROM TEMP_IDS));DELETE FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID IN(SELECT TEMP_ID FROM TEMP_IDS);DELETE FROM SYSTEM_LOBS.PARTS WHERE LOB_ID IN(SELECT TEMP_ID FROM TEMP_IDS);DELETE FROM SYSTEM_LOBS.LOB_IDS WHERE LOB_IDS.LOB_ID IN(SELECT TEMP_ID FROM TEMP_IDS);GET DIAGNOSTICS TEMP_COUNT=ROW_COUNT;SET TOTAL=TOTAL+TEMP_COUNT;DELETE FROM TEMP_IDS;UNTIL TEMP_COUNT<1000 END REPEAT;SET TOTAL_COUNT=TOTAL;END

 

PUBLIC.SYSTEM_LOBS.DIVIDE_BLOCK [procedure, no result]
B_OFFSET INTEGER, in
L_ID BIGINT, in
[specific name]
DIVIDE_BLOCK_10066
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.DIVIDE_BLOCK(IN B_OFFSET INTEGER,IN L_ID BIGINT) SPECIFIC DIVIDE_BLOCK_10066 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC DECLARE BL_ADDR INT DEFAULT NULL;DECLARE BL_COUNT INT DEFAULT NULL;DECLARE BL_OFFSET INT DEFAULT NULL;SET(BL_ADDR,BL_COUNT,BL_OFFSET)=(SELECT BLOCK_ADDR,BLOCK_COUNT,BLOCK_OFFSET FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID=L_ID AND B_OFFSET>BLOCK_OFFSET AND B_OFFSET<BLOCK_OFFSET+BLOCK_COUNT);IF BL_ADDR IS NULL THEN SIGNAL SQLSTATE'45000';END IF;DELETE FROM SYSTEM_LOBS.LOBS WHERE BLOCK_ADDR=BL_ADDR;INSERT INTO SYSTEM_LOBS.LOBS(BLOCK_ADDR,BLOCK_COUNT,BLOCK_OFFSET,LOB_ID) VALUES(BL_ADDR,B_OFFSET-BL_OFFSET,BL_OFFSET,L_ID);INSERT INTO SYSTEM_LOBS.LOBS(BLOCK_ADDR,BLOCK_COUNT,BLOCK_OFFSET,LOB_ID) VALUES(BL_ADDR+B_OFFSET-BL_OFFSET,BL_OFFSET+BL_COUNT-B_OFFSET,B_OFFSET,L_ID);END

 

PUBLIC.SYSTEM_LOBS.MERGE_EMPTY_BLOCKS [procedure, no result]
[specific name]
MERGE_EMPTY_BLOCKS_10079
Definition
[definition]
CREATE PROCEDURE SYSTEM_LOBS.MERGE_EMPTY_BLOCKS() SPECIFIC MERGE_EMPTY_BLOCKS_10079 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC DECLARE BL_BASE_ADDR INT DEFAULT-1;DECLARE BL_BASE_COUNT INT;DECLARE BL_ADDR INT;DECLARE BL_COUNT INT;DECLARE BL_MERGE BOOLEAN;REPEAT SET BL_BASE_COUNT=NULL;SET(BL_BASE_ADDR,BL_BASE_COUNT)=(SELECT BLOCK_ADDR,BLOCK_COUNT FROM SYSTEM_LOBS.BLOCKS WHERE BLOCK_ADDR>BL_BASE_ADDR ORDER BY BLOCK_ADDR FETCH 1 ROW ONLY);IF BL_BASE_COUNT IS NOT NULL THEN SET BL_MERGE=FALSE;REPEAT SET BL_ADDR=NULL;SET(BL_ADDR,BL_COUNT)=(SELECT BLOCK_ADDR,BLOCK_COUNT FROM SYSTEM_LOBS.BLOCKS WHERE BLOCK_ADDR=BL_BASE_ADDR+BL_BASE_COUNT);IF BL_ADDR IS NOT NULL THEN SET BL_BASE_COUNT=BL_BASE_COUNT+BL_COUNT;SET BL_MERGE=TRUE;END IF;UNTIL BL_ADDR IS NULL END REPEAT;IF BL_MERGE THEN DELETE FROM SYSTEM_LOBS.BLOCKS WHERE BLOCK_ADDR>=BL_BASE_ADDR AND BLOCK_ADDR<BL_BASE_ADDR+BL_BASE_COUNT;INSERT INTO SYSTEM_LOBS.BLOCKS(BLOCK_ADDR,BLOCK_COUNT,TX_ID) VALUES BL_BASE_ADDR,BL_BASE_COUNT,0;END IF;END IF;UNTIL BL_BASE_COUNT IS NULL END REPEAT;END

 

 

Sequences

PUBLIC.BOOKS.PUBLISHER_ID_SEQ [sequence]
increment 1
start value 1
minimum value -2147483648
maximum value 2147483647
cycle false

 

PUBLIC.SYSTEM_LOBS.LOB_ID [sequence]
increment 1
start value 1
minimum value -9223372036854775808
maximum value 9223372036854775807
cycle false

 

 

Synonyms

PUBLIC.BOOKS.PUBLICATIONS [synonym]
PUBLICATIONS → PUBLIC.BOOKS.BOOKS

 

 

Data Types

BIGINT [data type]
defined with no parameters
nullable
auto-incrementable
searchable except with where .. like

 

BINARY [data type]
defined with LENGTH
nullable
not auto-incrementable
searchable

 

BIT [data type]
defined with LENGTH
nullable
not auto-incrementable
searchable except with where .. like

 

BLOB [data type]
defined with LENGTH
nullable
not auto-incrementable
not searchable

 

BOOLEAN [data type]
defined with no parameters
nullable
not auto-incrementable
searchable except with where .. like

 

CHARACTER [data type]
defined with LENGTH
nullable
not auto-incrementable
searchable

 

CLOB [data type]
defined with LENGTH
nullable
not auto-incrementable
not searchable

 

DATE [data type]
defined with no parameters
nullable
not auto-incrementable
searchable except with where .. like

 

DECIMAL [data type]
defined with PRECISION,SCALE
nullable
auto-incrementable
searchable except with where .. like

 

DOUBLE [data type]
defined with no parameters
nullable
not auto-incrementable
searchable except with where .. like

 

FLOAT [data type]
defined with no parameters
nullable
not auto-incrementable
searchable except with where .. like

 

INTEGER [data type]
defined with no parameters
nullable
auto-incrementable
searchable except with where .. like

 

NUMERIC [data type]
defined with PRECISION,SCALE
nullable
auto-incrementable
searchable except with where .. like

 

NVARCHAR [data type]
defined with LENGTH
nullable
not auto-incrementable
searchable

 

OTHER [data type]
defined with no parameters
nullable
not auto-incrementable
searchable except with where .. like

 

REAL [data type]
defined with no parameters
nullable
not auto-incrementable
searchable except with where .. like

 

SMALLINT [data type]
defined with no parameters
nullable
auto-incrementable
searchable except with where .. like

 

TIME [data type]
defined with no parameters
nullable
not auto-incrementable
searchable except with where .. like

 

TIMESTAMP [data type]
defined with no parameters
nullable
not auto-incrementable
searchable except with where .. like

 

TINYINT [data type]
defined with no parameters
nullable
auto-incrementable
searchable except with where .. like

 

UUID [data type]
defined with no parameters
nullable
not auto-incrementable
searchable

 

VARBINARY [data type]
defined with LENGTH
nullable
not auto-incrementable
searchable

 

VARCHAR [data type]
defined with LENGTH
nullable
not auto-incrementable
searchable

 

PUBLIC.BOOKS.AGE_TYPE [user defined data type]
defined with no parameters
not nullable
not auto-incrementable
not searchable
based on SMALLINT

 

PUBLIC.BOOKS."CHARACTER VARYING" [user defined data type]
defined with no parameters
not nullable
not auto-incrementable
not searchable
based on

 

PUBLIC.BOOKS."INTEGER ARRAY" [user defined data type]
defined with no parameters
not nullable
not auto-incrementable
not searchable
based on

 

PUBLIC.BOOKS.NAME_TYPE [user defined data type]
defined with no parameters
not nullable
not auto-incrementable
not searchable
based on

 

PUBLIC.BOOKS.VALID_STRING [user defined data type]
defined with no parameters
not nullable
not auto-incrementable
not searchable
based on

 

PUBLIC.BOOKS."VARCHAR(20) ARRAY[10]" [user defined data type]
defined with no parameters
not nullable
not auto-incrementable
not searchable
based on

 

PUBLIC.SYSTEM_LOBS."BIGINT ARRAY" [user defined data type]
defined with no parameters
not nullable
not auto-incrementable
not searchable
based on

 

 

System Information

Database Information

database product name HSQL Database Engine
database product version 2.7.1
database user name SA

 

Database Characteristics

all procedures are callable true
all tables are selectable true
auto commit failure closes all result sets false
catalog separator .
catalog term CATALOG
catalogs PUBLIC
client info properties allow_empty_batch, check_props, close_result, default_schema, get_column_name, memory_lobs
data definition causes transaction commit true
data definition ignored in transactions false
database major version 2
database minor version 7
default transaction isolation 2
deletes are detected for TYPE_FORWARD_ONLY result sets false
deletes are detected for TYPE_SCROLL_INSENSITIVE result sets false
deletes are detected for TYPE_SCROLL_SENSITIVE result sets false
does max row size include blobs true
driver major version 2
driver minor version 7
extra name characters
generated key always returned true
identifier quote string "
inserts are detected for TYPE_FORWARD_ONLY result sets false
inserts are detected for TYPE_SCROLL_INSENSITIVE result sets false
inserts are detected for TYPE_SCROLL_SENSITIVE result sets false
is catalog at start true
is read only false
JDBC major version 4
JDBC minor version 2
locators update copy false
max binary literal length 0
max catalog name length 128
max char literal length 0
max column name length 128
max columns in group by 0
max columns in index 0
max columns in order by 0
max columns in select 0
max columns in table 0
max connections 0
max cursor name length 128
max index length 0
max logical lob size 1099511627776
max procedure name length 128
max row size 0
max schema name length 128
max statement length 0
max statements 0
max table name length 128
max tables in select 0
max user name length 128
null plus non null is null true
nulls are sorted at end false
nulls are sorted at start true
nulls are sorted high false
nulls are sorted low false
numeric functions ABS, ACOS, ASIN, ATAN, ATAN2, BITAND, BITOR, BITXOR, CEILING, COS, COT, DEGREES, EXP, FLOOR, LOG, LOG10, MOD, PI, POWER, RADIANS, RAND, ROUND, ROUNDMAGIC, SIGN, SIN, SQRT, TAN, TRUNCATE
others deletes are visible for TYPE_FORWARD_ONLY result sets false
others deletes are visible for TYPE_SCROLL_INSENSITIVE result sets false
others deletes are visible for TYPE_SCROLL_SENSITIVE result sets false
others inserts are visible for TYPE_FORWARD_ONLY result sets false
others inserts are visible for TYPE_SCROLL_INSENSITIVE result sets false
others inserts are visible for TYPE_SCROLL_SENSITIVE result sets false
others updates are visible for TYPE_FORWARD_ONLY result sets false
others updates are visible for TYPE_SCROLL_INSENSITIVE result sets false
others updates are visible for TYPE_SCROLL_SENSITIVE result sets false
own deletes are visible for TYPE_FORWARD_ONLY result sets false
own deletes are visible for TYPE_SCROLL_INSENSITIVE result sets false
own deletes are visible for TYPE_SCROLL_SENSITIVE result sets false
own inserts are visible for TYPE_FORWARD_ONLY result sets false
own inserts are visible for TYPE_SCROLL_INSENSITIVE result sets false
own inserts are visible for TYPE_SCROLL_SENSITIVE result sets false
own updates are visible for TYPE_FORWARD_ONLY result sets false
own updates are visible for TYPE_SCROLL_INSENSITIVE result sets false
own updates are visible for TYPE_SCROLL_SENSITIVE result sets false
procedure term PROCEDURE
result set holdability 1
row id lifetime ROWID_UNSUPPORTED
schema term SCHEMA
schemas BOOKS, FOR_LINT, INFORMATION_SCHEMA, PUBLIC, PUBLISHER SALES, SYSTEM_LOBS
search string escape \
SQL keywords
SQL state type 2
stores lower case identifiers false
stores lower case quoted identifiers false
stores mixed case identifiers false
stores mixed case quoted identifiers false
stores upper case identifiers true
stores upper case quoted identifiers false
string functions ASCII, CHAR, CONCAT, DIFFERENCE, HEXTORAW, INSERT, LCASE, LEFT, LENGTH, LOCATE, LTRIM, RAWTOHEX, REPEAT, REPLACE, RIGHT, RTRIM, SOUNDEX, SPACE, SUBSTR, UCASE
supports alter table with add column true
supports alter table with drop column true
supports ANSI92 entry level SQL true
supports ANSI92 full SQL true
supports ANSI92 intermediate SQL true
supports batch updates true
supports catalogs in data manipulation true
supports catalogs in index definitions true
supports catalogs in privilege definitions true
supports catalogs in procedure calls true
supports catalogs in table definitions true
supports column aliasing true
supports convert true
supports core SQL grammar true
supports correlated subqueries true
supports data definition and data manipulation transactions false
supports data manipulation transactions only true
supports different table correlation names false
supports expressions in order by true
supports extended SQL grammar true
supports full outer joins true
supports get generated keys true
supports group by true
supports group by beyond select true
supports group by unrelated true
supports integrity enhancement facility true
supports like escape clause true
supports limited outer joins true
supports minimum SQL grammar true
supports mixed case identifiers false
supports mixed case quoted identifiers true
supports multiple open results true
supports multiple result sets true
supports multiple transactions true
supports named parameters true
supports non nullable columns true
supports open cursors across commit true
supports open cursors across rollback false
supports open statements across commit true
supports open statements across rollback true
supports order by unrelated true
supports outer joins true
supports positioned delete true
supports positioned update true
supports ref cursors false
supports result set type for TYPE_FORWARD_ONLY result sets true
supports result set type for TYPE_SCROLL_INSENSITIVE result sets true
supports result set type for TYPE_SCROLL_SENSITIVE result sets false
supports savepoints true
supports schemas in data manipulation true
supports schemas in index definitions true
supports schemas in privilege definitions true
supports schemas in procedure calls true
supports schemas in table definitions true
supports select for update true
supports statement pooling true
supports stored functions using call syntax true
supports stored procedures true
supports subqueries in comparisons true
supports subqueries in exists true
supports subqueries in ins true
supports subqueries in quantifieds true
supports table correlation names true
supports transactions true
supports union true
supports union all true
system functions DATABASE, IFNULL, USER
table types GLOBAL TEMPORARY, SYSTEM TABLE, TABLE, VIEW
time date functions CURDATE, CURTIME, DATEDIFF, DAYNAME, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, HOUR, MINUTE, MONTH, MONTHNAME, NOW, QUARTER, SECOND, SECONDS_SINCE_MIDNIGHT, TIMESTAMPADD, TIMESTAMPDIFF, TO_CHAR, WEEK, YEAR
type info BIGINT, BINARY, BIT, BLOB, BOOLEAN, CHARACTER, CLOB, DATE, DECIMAL, DOUBLE, FLOAT, INTEGER, NUMERIC, NVARCHAR, OTHER, REAL, SMALLINT, TIME, TIMESTAMP, TINYINT, UUID, VARBINARY, VARCHAR
updates are detected for TYPE_FORWARD_ONLY result sets false
updates are detected for TYPE_SCROLL_INSENSITIVE result sets false
updates are detected for TYPE_SCROLL_SENSITIVE result sets false
uses local file per table false
uses local files false

 

JDBC Driver Information

connection url jdbc:hsqldb:hsql://0.0.0.0:62948/schemacrawler62948
driver name HSQL Database Engine Driver
driver version 2.7.1
driver class name org.hsqldb.jdbc.JDBCDriver
is JDBC compliant true
supported JDBC version 4.2

 

JDBC Driver Properties

default_schema [driver property]
not required; choices [false, true]
value false

 

get_column_name [driver property]
not required; choices [false, true]
value true

 

ifexists [driver property]
not required; choices [false, true]
value false

 

password [driver property]
required
value null

 

shutdown [driver property]
not required; choices [false, true]
value false

 

user [driver property]
required
value null