alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

HSQLDB example source code file (TestSelfCreate.txt)

This example HSQLDB source code file (TestSelfCreate.txt) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - HSQLDB tags/keywords

create, create, default, default, id, insert, integer, integer, into, not, null, table, table, values

The HSQLDB TestSelfCreate.txt source code

--
-- TestSelfCreate.txt
--

-- TestSelfCreate.txt is used by TestSelf.java to test the database
--
-- This is part of a three part suite of scripts to test persistence in the same DB
--
-- Comment lines must start with -- and are ignored
-- Lines starting with spaces belongs to last line
-- Checked lines start with comments containing <tag> where  is:
--   c <rows>     ResultSet expects a with  columns
--   r <string>   ResultSet expected with  result in first row/column
--   u <count>    Update count  expected
--   e            Exception must occur

-- Correct handling of index creation for foreign keys

create cached table VEREIN
   (
   VCODE CHAR(10) not null,
   primary key (VCODE)
   );
create unique index VEREIN_PK on VEREIN (VCODE);
create cached table BEWERB
   (
   VCODE CHAR(10) not null,
   ID SMALLINT not null ,
   primary key (ID)
   );
create unique index BEWERB_FK2 on BEWERB(ID);
create unique index BEWERB_FK1 on BEWERB(VCODE);
alter table BEWERB add constraint bv foreign key (VCODE) references VEREIN(VCODE);

-- forward FK with index

CREATE Cached TABLE t1(
   ID INTEGER NOT NULL PRIMARY KEY,
   t2ref INTEGER
   );

CREATE Cached TABLE t2(
   ID INTEGER NOT NULL PRIMARY KEY
   );
CREATE INDEX idx on t1(t2ref);
ALTER TABLE t1 ADD CONSTRAINT fk1 FOREIGN KEY (t2ref) REFERENCES t2(ID);

-- forward FK with no index

CREATE Cached TABLE tt1(
   ID INTEGER NOT NULL PRIMARY KEY,
   tt2ref INTEGER
   );

CREATE Cached TABLE tt2(
   ID INTEGER NOT NULL PRIMARY KEY
   );
ALTER TABLE tt1 ADD CONSTRAINT fk2 FOREIGN KEY (tt2ref) REFERENCES tt2(ID);

-- column default values - scripting test

CREATE TABLE TDEF1 (
   I1 IDENTITY, C1 CHAR DEFAULT '-',
   C2 CHAR(10) DEFAULT 'hsqldb',
   I3 INTEGER DEFAULT -1,
   D4 DOUBLE DEFAULT -0.3e-5,
   T5 TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
   T6 TIME DEFAULT current_time,
   D7 DATE DEFAULT current_date,
   D8 VARCHAR(10) DEFAULT current_user
   );
CREATE TABLE TDEF2 (
   B1 BIT DEFAULT TRUE,
   B2 BIT DEFAULT 'false',
   T5 TIMESTAMP DEFAULT '1999-12-01 21:30',
   T6 TIME DEFAULT '23:12:01',
   T7 DATE DEFAULT '2002-02-15'
   );


INSERT INTO TDEF1 (I3) VALUES (0);
INSERT INTO TDEF1 (D4) VALUES (0);
INSERT INTO TDEF2 (B1) VALUES (FALSE);
INSERT INTO TDEF2 (T7) VALUES (NULL);


--bug #824031
--scripting test for order of indexes
CREATE CACHED TABLE APP (
 VARIANT_ID INTEGER NOT NULL,
 APP_ID INTEGER NOT NULL,
 APP_NAME VARCHAR (35) NOT NULL,
 CONSTRAINT PK_APP PRIMARY KEY( VARIANT_ID));
CREATE INDEX APP ON APP(APP_ID);
ALTER TABLE APP ADD CONSTRAINT APP_IX1 UNIQUE( APP_NAME);
INSERT INTO APP VALUES (1, 1, 'Shelly');
INSERT INTO APP VALUES (2, 2, 'Eran');
/*c1*/SELECT * FROM APP WHERE APP_NAME = 'Shelly';

--test identity increment
CREATE CACHED TABLE APP2 (
 ID BIGINT NOT NULL IDENTITY,
 VALUE INTEGER NOT NULL)

INSERT INTO APP2 (VALUE) VALUES(10);

--test update with no primary key
DROP TABLE FILE IF EXISTS;
CREATE TABLE FILE(ID VARCHAR(10), NAME VARCHAR(10),
 DESCRIPTION VARCHAR(10), FIELD1 INT, FIELD2 VARCHAR(10));
/*c0*/select * from file;
insert into file(id, name) values('14', 'dir');
/*c1*/select * from file;
update file set name = 'newdir' where id = '14';
/*r
  14,newdir,NULL,NULL,NULL
*/select * from file;

--test TEMP TABLE

create TEMPORARY TABLE TTEMP(C CHAR) ON COMMIT PRESERVE ROWS;
create TEMPORARY TABLE TTEMP2(C CHAR) ON COMMIT DELETE ROWS;

--test VIEW persistence with quoted column names

create table "TView" ("First Column" int, "Second Column" bigint);

create view "View" ("Id", "The Name", "The Description")
  as select ID,NAME,DESCRIPTION FROM FILE;

create view "View2"
  as select ID,NAME "The Name",DESCRIPTION "The Description" FROM FILE;

create view "View3" as select "First Column", "Second Column" from "TView";

-- SHUTDOWN is necessary for test1

SHUTDOWN;

Other HSQLDB examples (source code examples)

Here is a short list of links related to this HSQLDB TestSelfCreate.txt source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.