cmlenz 2002/08/22 05:10:15
Modified: src/stores/org/apache/slide/store/impl/rdbms
HSQLDBSchema.sql
Log:
HSQLDB 'IDENTITY' columns do auto-increment starting at 0.
Unfortunately, the current code in J2EEStore and JDBCStore considers 0
as a special value signalling a non-existing ID.
This change inserts special, empty 0 records into the initial DB as a
temporary workaround.
Note: in the long term, the ID retrieving methods should probably
throw a NoSuchElementException (or something similar) instead of
returning 0. That remains to be done.
Revision Changes Path
1.3 +45 -39
jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/HSQLDBSchema.sql
Index: HSQLDBSchema.sql
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/HSQLDBSchema.sql,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- HSQLDBSchema.sql 8 Aug 2002 21:35:30 -0000 1.2
+++ HSQLDBSchema.sql 22 Aug 2002 12:10:15 -0000 1.3
@@ -3,21 +3,21 @@
/**********************************************************************/
CREATE TABLE URI (
- URI_ID int NOT NULL IDENTITY PRIMARY KEY,
- URI_STRING varchar(800) NOT NULL,
+ URI_ID INT NOT NULL IDENTITY PRIMARY KEY,
+ URI_STRING VARCHAR(800) NOT NULL,
UNIQUE (URI_ID)
);
CREATE TABLE OBJECT (
- URI_ID int PRIMARY KEY,
- CLASS_NAME varchar(255) NOT NULL,
+ URI_ID INT PRIMARY KEY,
+ CLASS_NAME VARCHAR(255) NOT NULL,
CONSTRAINT FK_OBJECT
FOREIGN KEY (URI_ID) REFERENCES URI (URI_ID)
);
CREATE TABLE CHILDREN (
- URI_ID int NOT NULL,
- CHILD_URI_ID int NOT NULL,
+ URI_ID INT NOT NULL,
+ CHILD_URI_ID INT NOT NULL,
CONSTRAINT FK_CHILDREN
FOREIGN KEY (URI_ID) REFERENCES URI (URI_ID),
FOREIGN KEY (CHILD_URI_ID) REFERENCES URI (URI_ID),
@@ -25,8 +25,8 @@
);
CREATE TABLE LINKS (
- URI_ID int NOT NULL,
- LINK_TO_ID int NOT NULL,
+ URI_ID INT NOT NULL,
+ LINK_TO_ID INT NOT NULL,
CONSTRAINT FK_LINKS
FOREIGN KEY (URI_ID) REFERENCES URI (URI_ID),
FOREIGN KEY (LINK_TO_ID) REFERENCES URI (URI_ID),
@@ -34,13 +34,13 @@
);
CREATE TABLE LOCKS (
- LOCK_ID int PRIMARY KEY,
- OBJECT_ID int NOT NULL,
- SUBJECT_ID int NOT NULL,
- TYPE_ID int NOT NULL,
+ LOCK_ID INT PRIMARY KEY,
+ OBJECT_ID INT NOT NULL,
+ SUBJECT_ID INT NOT NULL,
+ TYPE_ID INT NOT NULL,
EXPIRATION_DATE numeric(14, 0) NOT NULL,
- IS_INHERITABLE bit NOT NULL,
- IS_EXCLUSIVE bit NOT NULL,
+ IS_INHERITABLE BIT NOT NULL,
+ IS_EXCLUSIVE BIT NOT NULL,
CONSTRAINT FK_LOCKS
FOREIGN KEY (LOCK_ID) REFERENCES URI (URI_ID),
FOREIGN KEY (OBJECT_ID) REFERENCES URI (URI_ID),
@@ -49,28 +49,28 @@
);
CREATE TABLE BRANCH (
- BRANCH_ID int NOT NULL IDENTITY PRIMARY KEY,
- BRANCH_STRING varchar(255) NOT NULL,
+ BRANCH_ID INT NOT NULL IDENTITY PRIMARY KEY,
+ BRANCH_STRING VARCHAR(255) NOT NULL,
UNIQUE (BRANCH_ID)
);
CREATE TABLE LABEL (
- LABEL_ID int NOT NULL IDENTITY PRIMARY KEY,
- LABEL_STRING varchar(255) NOT NULL,
+ LABEL_ID INT NOT NULL IDENTITY PRIMARY KEY,
+ LABEL_STRING VARCHAR(255) NOT NULL,
UNIQUE (LABEL_ID)
);
CREATE TABLE VERSION (
- URI_ID int PRIMARY KEY,
- IS_VERSIONED bit NOT NULL,
+ URI_ID INT PRIMARY KEY,
+ IS_VERSIONED BIT NOT NULL,
CONSTRAINT FK_VERSION
FOREIGN KEY (URI_ID) REFERENCES URI (URI_ID)
);
CREATE TABLE VERSION_HISTORY (
- VERSION_ID int IDENTITY PRIMARY KEY,
- URI_ID int NOT NULL,
- BRANCH_ID int NOT NULL,
+ VERSION_ID INT NOT NULL IDENTITY PRIMARY KEY,
+ URI_ID INT NOT NULL,
+ BRANCH_ID INT NOT NULL,
REVISION_NO VARCHAR(20) NOT NULL,
CONSTRAINT FK_VERSION_HISTORY
FOREIGN KEY (URI_ID) REFERENCES VERSION (URI_ID),
@@ -79,8 +79,8 @@
);
CREATE TABLE VERSION_PREDS (
- VERSION_ID int NOT NULL,
- PREDECESSOR_ID int NOT NULL,
+ VERSION_ID INT NOT NULL,
+ PREDECESSOR_ID INT NOT NULL,
CONSTRAINT FH_VERSION_PREDS
FOREIGN KEY (VERSION_ID) REFERENCES VERSION_HISTORY (VERSION_ID),
FOREIGN KEY (PREDECESSOR_ID) REFERENCES VERSION_HISTORY (VERSION_ID),
@@ -88,8 +88,8 @@
);
CREATE TABLE VERSION_LABELS (
- VERSION_ID int NOT NULL,
- LABEL_ID int NOT NULL,
+ VERSION_ID INT NOT NULL,
+ LABEL_ID INT NOT NULL,
CONSTRAINT FK_VERSION_LABELS
FOREIGN KEY (VERSION_ID) REFERENCES VERSION_HISTORY (VERSION_ID),
FOREIGN KEY (LABEL_ID) REFERENCES LABEL (LABEL_ID),
@@ -97,19 +97,19 @@
);
CREATE TABLE VERSION_CONTENT (
- VERSION_ID int PRIMARY KEY,
+ VERSION_ID INT PRIMARY KEY,
CONTENT longvarbinary NOT NULL,
CONSTRAINT FK_VERSION_CONTENT
FOREIGN KEY (VERSION_ID) REFERENCES VERSION_HISTORY (VERSION_ID)
);
CREATE TABLE PROPERTIES (
- VERSION_ID int NOT NULL,
- PROPERTY_NAMESPACE varchar(50) NOT NULL,
- PROPERTY_NAME varchar(50) NOT NULL,
- PROPERTY_VALUE varchar(255) NOT NULL,
- PROPERTY_TYPE varchar(50) NOT NULL,
- IS_PROTECTED bit NOT NULL,
+ VERSION_ID INT NOT NULL,
+ PROPERTY_NAMESPACE VARCHAR(50) NOT NULL,
+ PROPERTY_NAME VARCHAR(50) NOT NULL,
+ PROPERTY_VALUE VARCHAR(255) NOT NULL,
+ PROPERTY_TYPE VARCHAR(50) NOT NULL,
+ IS_PROTECTED BIT NOT NULL,
CONSTRAINT FK_PROPERTIES
FOREIGN KEY (VERSION_ID)
REFERENCES VERSION_HISTORY (VERSION_ID),
@@ -117,15 +117,21 @@
);
CREATE TABLE PERMISSIONS (
- OBJECT_ID int NOT NULL,
- SUBJECT_ID int NOT NULL,
- ACTION_ID int NOT NULL,
+ OBJECT_ID INT NOT NULL,
+ SUBJECT_ID INT NOT NULL,
+ ACTION_ID INT NOT NULL,
VERSION_NO VARCHAR(20),
- IS_INHERITABLE bit NOT NULL,
- IS_NEGATIVE bit NOT NULL,
+ IS_INHERITABLE BIT NOT NULL,
+ IS_NEGATIVE BIT NOT NULL,
CONSTRAINT FK_PERMISSIONS
FOREIGN KEY (OBJECT_ID) REFERENCES URI (URI_ID),
FOREIGN KEY (SUBJECT_ID) REFERENCES URI (URI_ID),
FOREIGN KEY (ACTION_ID) REFERENCES URI (URI_ID),
UNIQUE (OBJECT_ID, SUBJECT_ID, ACTION_ID)
);
+
+INSERT INTO URI VALUES (0, '');
+INSERT INTO BRANCH VALUES (0, '');
+INSERT INTO LABEL VALUES (0, '');
+INSERT INTO VERSION VALUES(0, 0);
+INSERT INTO VERSION_HISTORY VALUES (0, 0, 0, '');
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>