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]>

Reply via email to