| generated by | SchemaCrawler 16.1.2 |
| generated on | 2019-10-09 01:00:53 |
| database version | HSQL Database Engine 2.5.0 |
| driver version | HSQL Database Engine Driver 2.5.0 |
| 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 | VARCHAR(2) | |
| POSTALCODE | VARCHAR(10) | |
| COUNTRY | VARCHAR(50) | |
| Primary Key | ||
| PK_AUTHORS | [primary key] | |
| ID | ascending | |
| Foreign Keys | ||
| Z_FK_AUTHOR | [foreign key, with no action] | |
| ID ←(0..many) PUBLIC.BOOKS.BOOKAUTHORS.AUTHORID | ||
| Indexes | ||
| SYS_IDX_PK_AUTHORS_10111 | [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_10108 | [check constraint] | |
| ID | ||
| BOOKS.AUTHORS.ID IS NOT NULL | ||
| SYS_CT_10109 | [check constraint] | |
| FIRSTNAME | ||
| BOOKS.AUTHORS.FIRSTNAME IS NOT NULL | ||
| SYS_CT_10110 | [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 | ||
| 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_10128 | [foreign key, with no action] | |
| BOOKID (0..many)→ PUBLIC.BOOKS.BOOKS.ID | ||
| Indexes | ||
| SYS_IDX_Z_FK_AUTHOR_10134 | [non-unique index] | |
| AUTHORID | ascending | |
| SYS_IDX_SYS_FK_10128_10132 | [non-unique index] | |
| BOOKID | ascending | |
| UIDX_BOOKAUTHORS | [unique index] | |
| BOOKID | ascending | |
| AUTHORID | ascending | |
| Table Constraints | ||
| SYS_CT_10126 | [check constraint] | |
| BOOKID | ||
| BOOKS.BOOKAUTHORS.BOOKID IS NOT NULL | ||
| SYS_CT_10127 | [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 | ascending | |
| Foreign Keys | ||
| SYS_FK_10128 | [foreign key, with no action] | |
| ID ←(0..many) PUBLIC.BOOKS.BOOKAUTHORS.BOOKID | ||
| FK_PREVIOUSEDITION | [foreign key, with no action] | |
| ID ←(0..1) PREVIOUSEDITIONID | ||
| Indexes | ||
| SYS_IDX_PK_BOOKS_10119 | [unique index] | |
| ID | ascending | |
| SYS_IDX_U_PREVIOUSEDITION_10125 | [unique index] | |
| PREVIOUSEDITIONID | ascending | |
| SYS_IDX_FK_PREVIOUSEDITION_10123 | [non-unique index] | |
| PREVIOUSEDITIONID | ascending | |
| Table Constraints | ||
| U_PREVIOUSEDITION | [unique constraint] | |
| PREVIOUSEDITIONID | ||
| SYS_CT_10116 | [check constraint] | |
| ID | ||
| BOOKS.BOOKS.ID IS NOT NULL | ||
| SYS_CT_10117 | [check constraint] | |
| TITLE | ||
| BOOKS.BOOKS.TITLE IS NOT NULL | ||
| SYS_CT_10118 | [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 | ascending | |
| Indexes | ||
| SYS_IDX_PK_COUPONS_10093 | [unique index] | |
| ID | ascending | |
| Table Constraints | ||
| SYS_CT_10092 | [check constraint] | |
| ID | ||
| BOOKS.COUPONS.ID IS NOT NULL | ||
| ID | INTEGER NOT NULL | |
| DATA | VALID_STRING(20) | |
| Primary Key | ||
| PK_CUSTOMERDATA | [primary key] | |
| ID | ascending | |
| Indexes | ||
| SYS_IDX_PK_CUSTOMERDATA_10104 | [unique index] | |
| ID | ascending | |
| Table Constraints | ||
| SYS_CT_10103 | [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 | ascending | |
| Indexes | ||
| SYS_IDX_PK_CUSTOMERS_10098 | [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_10106 | [primary key] | |
| ID | ascending | |
| Foreign Keys | ||
| FK_ΒΙΒΛΊΑ_PUBLISHERS | [foreign key, with no action] | |
| ID ←(0..many) PUBLIC.BOOKS.ΒΙΒΛΊΑ.ΕΚΔΌΤΗΣ | ||
| Indexes | ||
| SYS_IDX_SYS_PK_10106_10107 | [unique index] | |
| ID | ascending | |
| ΜΟΝΑΔΙΚΌΣ | SMALLINT NOT NULL | |
| ΤΊΤΛΟΣ | VARCHAR(255) NOT NULL | |
| ΠΕΡΙΓΡΑΦΉ | VARCHAR(255) | |
| ΕΚΔΌΤΗΣ | SMALLINT NOT NULL | |
| Primary Key | ||
| PK_ΒΙΒΛΊΑ | [primary key] | |
| ΜΟΝΑΔΙΚΌΣ | ascending | |
| Foreign Keys | ||
| FK_ΒΙΒΛΊΑ_PUBLISHERS | [foreign key, with no action] | |
| ΕΚΔΌΤΗΣ (0..many)→ PUBLIC.BOOKS.PUBLISHERS.ID | ||
| Indexes | ||
| SYS_IDX_FK_ΒΙΒΛΊΑ_PUBLISHERS_10144 | [non-unique index] | |
| ΕΚΔΌΤΗΣ | ascending | |
| SYS_IDX_PK_ΒΙΒΛΊΑ_10140 | [unique index] | |
| ΜΟΝΑΔΙΚΌΣ | ascending | |
| Table Constraints | ||
| SYS_CT_10137 | [check constraint] | |
| ΜΟΝΑΔΙΚΌΣ | ||
| BOOKS.ΒΙΒΛΊΑ.ΜΟΝΑΔΙΚΌΣ IS NOT NULL | ||
| SYS_CT_10138 | [check constraint] | |
| ΤΊΤΛΟΣ | ||
| BOOKS.ΒΙΒΛΊΑ.ΤΊΤΛΟΣ IS NOT NULL | ||
| SYS_CT_10139 | [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 | ascending | |
| 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 | ||
| SYS_IDX_FK_WRITER_JOIN_10201 | [non-unique index] | |
| WRITERID | ascending | |
| SYS_IDX_PK_EXTRA_PK_10197 | [unique index] | |
| ID | ascending | |
| SYS_IDX_FK_PUBLICATION_JOIN_10203 | [non-unique index] | |
| PUBLICATIONID | ascending | |
| Table Constraints | ||
| SYS_CT_10194 | [check constraint] | |
| WRITERID | ||
| FOR_LINT.EXTRA_PK.WRITERID IS NOT NULL | ||
| SYS_CT_10195 | [check constraint] | |
| PUBLICATIONID | ||
| FOR_LINT.EXTRA_PK.PUBLICATIONID IS NOT NULL | ||
| SYS_CT_10196 | [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 | ascending | |
| Foreign Keys | ||
| FK_PUBLICATION_JOIN | [foreign key, with no action] | |
| ID ←(0..many) PUBLIC.FOR_LINT.EXTRA_PK.PUBLICATIONID | ||
| 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 | ||
| FK_PUBLICATIONS_WRITER | [foreign key, with no action] | |
| WRITERID (0..many)→ PUBLIC.FOR_LINT.WRITERS.ID | ||
| Indexes | ||
| SYS_IDX_FK_PUBLICATIONS_WRITER_10182 | [non-unique index] | |
| WRITERID | ascending | |
| SYS_IDX_PK_PUBLICATIONS_10178 | [unique index] | |
| ID | ascending | |
| Table Constraints | ||
| SYS_CT_10175 | [check constraint] | |
| ID | ||
| FOR_LINT.PUBLICATIONS.ID IS NOT NULL | ||
| SYS_CT_10176 | [check constraint] | |
| TITLE | ||
| FOR_LINT.PUBLICATIONS.TITLE IS NOT NULL | ||
| SYS_CT_10177 | [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 | ||
| SYS_IDX_FK_WRITER_10189 | [non-unique index] | |
| WRITERID | ascending | |
| SYS_IDX_FK_PUBLICATION_10191 | [non-unique index] | |
| PUBLICATIONID | ascending | |
| Table Constraints | ||
| SYS_CT_10184 | [check constraint] | |
| PUBLICATIONID | ||
| FOR_LINT.PUBLICATIONWRITERS.PUBLICATIONID IS NOT NULL | ||
| SYS_CT_10185 | [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 | ascending | |
| Foreign Keys | ||
| FK_SELFREFERENCE | [foreign key, with no action] | |
| ID ←(0..1) ID | ||
| Indexes | ||
| SYS_IDX_PK_SELFREFERENCE_10207 | [unique index] | |
| ID | ascending | |
| SYS_IDX_FK_SELFREFERENCE_10210 | [non-unique index] | |
| ID | ascending | |
| Table Constraints | ||
| SYS_CT_10205 | [check constraint] | |
| ID | ||
| FOR_LINT.SELFREFERENCE.ID IS NOT NULL | ||
| SYS_CT_10206 | [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 | ascending | |
| Foreign Keys | ||
| FK_WRITERS_PUBLICATION | [foreign key, with no action] | |
| PUBLICATION_ID (0..many)→ PUBLIC.FOR_LINT.PUBLICATIONS.ID | ||
| 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 | ||
| Indexes | ||
| SYS_IDX_PK_WRITERS_10168 | [unique index] | |
| ID | ascending | |
| SYS_IDX_FK_WRITERS_PUBLICATION_10213 | [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_10163 | [check constraint] | |
| ID | ||
| FOR_LINT.WRITERS.ID IS NOT NULL | ||
| SYS_CT_10164 | [check constraint] | |
| FIRSTNAME | ||
| FOR_LINT.WRITERS.FIRSTNAME IS NOT NULL | ||
| SYS_CT_10165 | [check constraint] | |
| LASTNAME | ||
| FOR_LINT.WRITERS.LASTNAME IS NOT NULL | ||
| SYS_CT_10166 | [check constraint] | |
| ADDRESS2 | ||
| FOR_LINT.WRITERS.ADDRESS2 IS NOT NULL | ||
| SYS_CT_10167 | [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 | ascending | |
| COUNTRY | ascending | |
| 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 | ||
| SYS_IDX_PK_CUSTOMERS_10227 | [unique index] | |
| POSTALCODE | ascending | |
| COUNTRY | ascending | |
| Table Constraints | ||
| SYS_CT_10223 | [check constraint] | |
| CITY | ||
| "PUBLISHER SALES".REGIONS.CITY IS NOT NULL | ||
| SYS_CT_10224 | [check constraint] | |
| STATE | ||
| "PUBLISHER SALES".REGIONS.STATE IS NOT NULL | ||
| SYS_CT_10225 | [check constraint] | |
| POSTALCODE | ||
| "PUBLISHER SALES".REGIONS.POSTALCODE IS NOT NULL | ||
| SYS_CT_10226 | [check constraint] | |
| COUNTRY | ||
| "PUBLISHER SALES".REGIONS.COUNTRY IS NOT NULL | ||
| POSTALCODE | VARCHAR(10) NOT NULL | |
| COUNTRY | VARCHAR(50) NOT NULL | |
| BOOKID | INTEGER | |
| PERIODENDDATE | DATE | |
| TOTALAMOUNT | DOUBLE(64, 0) | |
| SALESDATAID | INTEGER | |
| Foreign Keys | ||
| 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 | ||
| SYS_IDX_FK_SALES_SALESDATA_10241 | [non-unique index] | |
| SALESDATAID | ascending | |
| SYS_IDX_FK_SALES_REGIONS_10239 | [non-unique index] | |
| POSTALCODE | ascending | |
| COUNTRY | ascending | |
| Table Constraints | ||
| SYS_CT_10234 | [check constraint] | |
| POSTALCODE | ||
| "PUBLISHER SALES".SALES.POSTALCODE IS NOT NULL | ||
| SYS_CT_10235 | [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 | ||
| SYS_IDX_UQ_CUSTOMERS_10233 | [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_10160 | ||
| Definition | ||
| [definition] | ||
| CREATE PROCEDURE BOOKS.NEW_PUBLISHER(IN NEWPUBLISHER VARCHAR(50),OUT PUBLISHER VARCHAR(50)) SPECIFIC NEW_PUBLISHER_10160 LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL NEW SAVEPOINT LEVEL SET PUBLISHER = NEWPUBLISHER | ||
| ONE | INTEGER, in | |
| [specific name] | ||
| CUSTOMADD_10162 | ||
| Definition | ||
| [definition] | ||
| CREATE FUNCTION BOOKS.CUSTOMADD(IN ONE INTEGER) RETURNS INTEGER SPECIFIC CUSTOMADD_10162 LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL CALLED ON NULL INPUT RETURN BOOKS.CUSTOMADD(ONE,1) | ||
| ONE | INTEGER, in | |
| TWO | INTEGER, in | |
| [specific name] | ||
| CUSTOMADD_10161 | ||
| Definition | ||
| [definition] | ||
| CREATE FUNCTION BOOKS.CUSTOMADD(IN ONE INTEGER,IN TWO INTEGER) RETURNS INTEGER SPECIFIC CUSTOMADD_10161 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_10070 | ||
| Definition | ||
| [definition] | ||
| CREATE PROCEDURE SYSTEM_LOBS.ALLOC_BLOCKS(IN B_COUNT INTEGER,IN B_OFFSET INTEGER,IN L_ID BIGINT) SPECIFIC ALLOC_BLOCKS_10070 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_10073 | ||
| 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_10073 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_10028 | ||
| 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_10028 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_10062 | ||
| Definition | ||
| [definition] | ||
| CREATE PROCEDURE SYSTEM_LOBS.CREATE_EMPTY_BLOCK(INOUT B_ADDR INTEGER,IN B_COUNT INTEGER) SPECIFIC CREATE_EMPTY_BLOCK_10062 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_10059 | ||
| 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_10059 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_10030 | ||
| Definition | ||
| [definition] | ||
| CREATE PROCEDURE SYSTEM_LOBS.DELETE_LOB(IN L_ID BIGINT,IN TX_ID BIGINT) SPECIFIC DELETE_LOB_10030 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_10045 | ||
| Definition | ||
| [definition] | ||
| CREATE PROCEDURE SYSTEM_LOBS.DELETE_UNUSED(IN L_IDS BIGINT ARRAY) SPECIFIC DELETE_UNUSED_10045 LANGUAGE SQL NOT DETERMINISTIC MODIFIES SQL DATA NEW SAVEPOINT LEVEL BEGIN ATOMIC DECLARE TABLE LIVE_IDS(TEMP_ID INT);DECLARE TABLE TEMP_IDS(TEMP_ID INT);DECLARE TEMP_COUNT INT DEFAULT 1;WHILE TEMP_COUNT<=CARDINALITY(L_IDS)DO INSERT INTO MODULE.LIVE_IDS(TEMP_ID) VALUES L_IDS[TEMP_COUNT];SET TEMP_COUNT=TEMP_COUNT+1;END WHILE;SET TEMP_COUNT=0;REPEAT INSERT INTO MODULE.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 TEMP_ID FROM MODULE.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 MODULE.TEMP_IDS));DELETE FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID IN(SELECT TEMP_ID FROM MODULE.TEMP_IDS);DELETE FROM SYSTEM_LOBS.PARTS WHERE LOB_ID IN(SELECT TEMP_ID FROM MODULE.TEMP_IDS);DELETE FROM SYSTEM_LOBS.LOB_IDS WHERE LOB_IDS.LOB_ID IN(SELECT TEMP_ID FROM MODULE.TEMP_IDS);GET DIAGNOSTICS TEMP_COUNT=ROW_COUNT;DELETE FROM MODULE.TEMP_IDS;UNTIL TEMP_COUNT<1000 END REPEAT;END | ||
| LIMIT_ID | BIGINT, in | |
| TOTAL_COUNT | INTEGER, out | |
| [specific name] | ||
| DELETE_UNUSED_LOBS_10057 | ||
| Definition | ||
| [definition] | ||
| CREATE PROCEDURE SYSTEM_LOBS.DELETE_UNUSED_LOBS(IN LIMIT_ID BIGINT,OUT TOTAL_COUNT INTEGER) SPECIFIC DELETE_UNUSED_LOBS_10057 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 MODULE.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 MODULE.TEMP_IDS));DELETE FROM SYSTEM_LOBS.LOBS WHERE LOBS.LOB_ID IN(SELECT TEMP_ID FROM MODULE.TEMP_IDS);DELETE FROM SYSTEM_LOBS.PARTS WHERE LOB_ID IN(SELECT TEMP_ID FROM MODULE.TEMP_IDS);DELETE FROM SYSTEM_LOBS.LOB_IDS WHERE LOB_IDS.LOB_ID IN(SELECT TEMP_ID FROM MODULE.TEMP_IDS);GET DIAGNOSTICS TEMP_COUNT=ROW_COUNT;SET TOTAL=TOTAL+TEMP_COUNT;DELETE FROM MODULE.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_10065 | ||
| Definition | ||
| [definition] | ||
| CREATE PROCEDURE SYSTEM_LOBS.DIVIDE_BLOCK(IN B_OFFSET INTEGER,IN L_ID BIGINT) SPECIFIC DIVIDE_BLOCK_10065 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_10078 | ||
| Definition | ||
| [definition] | ||
| CREATE PROCEDURE SYSTEM_LOBS.MERGE_EMPTY_BLOCKS() SPECIFIC MERGE_EMPTY_BLOCKS_10078 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" | [data type] | |
| defined with no parameters | ||
| not nullable | ||
| not auto-incrementable | ||
| not searchable | ||
| PUBLIC.BOOKS."INTEGER ARRAY" | [data type] | |
| defined with no parameters | ||
| not nullable | ||
| not auto-incrementable | ||
| not searchable | ||
| PUBLIC.BOOKS.NAME_TYPE | [user defined data type] | |
| defined with no parameters | ||
| not nullable | ||
| not auto-incrementable | ||
| not searchable | ||
| based on | NVARCHAR | |
| PUBLIC.BOOKS.VALID_STRING | [data type] | |
| defined with no parameters | ||
| not nullable | ||
| not auto-incrementable | ||
| not searchable | ||
| PUBLIC.BOOKS."VARCHAR(20) ARRAY[10]" | [data type] | |
| defined with no parameters | ||
| not nullable | ||
| not auto-incrementable | ||
| not searchable | ||
| PUBLIC.SYSTEM_LOBS."BIGINT ARRAY" | [data type] | |
| defined with no parameters | ||
| not nullable | ||
| not auto-incrementable | ||
| not searchable | ||
| product name | SchemaCrawler |
| product version | 16.1.2 |
| database product name | HSQL Database Engine |
| database product version | 2.5.0 |
| database user name | SA |
| driver name | HSQL Database Engine Driver |
| driver version | 2.5.0 |
| driver class name | org.hsqldb.jdbc.JDBCDriver |
| url | jdbc:hsqldb:hsql://0.0.0.0:56161/schemacrawler56161 |
| is JDBC compliant | true |