generated by | SchemaCrawler 16.18.2 |
generated on | 2022-10-24 10:18:49 |
database version | HSQL Database Engine 2.7.1 |
driver version | HSQL Database Engine Driver 2.7.1 |
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 |
ID | INTEGER | |
FIRSTNAME | VARCHAR(20) | |
LASTNAME | VARCHAR(20) | |
Definition | ||
[definition] | ||
SELECT ID,FIRSTNAME,LASTNAME FROM BOOKS.AUTHORS | ||
Table Usage | ||
PUBLIC.BOOKS.AUTHORS | [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 |
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 |
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 |
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 |
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 |
"Global Count" | INTEGER | |
"UPDATE" | VARCHAR(20) |
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 |
ΜΟΝΑΔΙΚΌΣ | 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 |
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 |
"Global Count" | INTEGER |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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' |
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 |
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) |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
[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 |
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 |
database product name | HSQL Database Engine |
database product version | 2.7.1 |
database user name | SA |
connection url | jdbc:hsqldb:hsql://0.0.0.0:62948/schemacrawler62948 |
driver name | HSQL Database Engine Driver |
driver version | 2.7.1 |