Hi Oliver, Nope, I just moved some of the methods to the common adapter, it should not change the behavior of the Oracle port.
Thanks, Kiran Sr. Software Engineer Hyperion Solutions http://www.hyperion.com -----Original Message----- From: Oliver Zeigermann [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 14, 2004 11:42 PM To: Slide Developers Mailing List Subject: Re: DB2 store for slide Hi Kiran! I have checked in your contribution! I presume this does not affect the behavior of the Oracle port in any way, right? Thanks a lot for this valuable contribution! Oliver kiran p wrote: > Hi Oliver, > > Attached is the source for DB2 Adapter. > > There are four files: > > SQL File > 1. Schema: src\conf\schema\DB2Server.sql > Java Files: src\stores\org\apache\slide\store\impl\rdbms\ > 2. CommonRDBMSAdapter.java: Code common to Oracle and DB2 has been moved > to CommonRDBMSAdapter from OracleRDBMSAdapter > 3. OracleRDBMSAdapter.java: Updated Oracle adapter to extend from the > common adapter and remove the relevant methods > 4.DB2RDBMSAdapter.java: The new DB2 adapter. > > Please let me know if you have any issues receiving the attachment or if > you have any questions regarding the adapter. > > Thanks, > > Kiran. > > ******************************* > From: Oliver Zeigermann <[EMAIL PROTECTED]> > Reply-To: "Slide Developers Mailing List" <[EMAIL PROTECTED]> > To: Slide Developers Mailing List <[EMAIL PROTECTED]> > Subject: Re: DB2 store for slide > Date: Tue, 13 Jul 2004 08:23:24 +0200 > > This would be great! > > Maybe we can even have the DB2 adapter ready for the 2.1 release... > > Oliver > > kiran p wrote: > Hi, > > We use slide against DB2 amongst host of other databases. However, the > slide project does not have any adapters for DB2. The J2EE stores also > do not work against DB2. > We are developing an adapter DB2 (lot of the code from Oracle adapter is > being reused). The reason we had to develop a specific DB2 adapter was > because of the way the StandardRDBMSAdapter was written. The > StandardRDBMSAdapter makes a lot of use of jdbc/sql code similar to: > "insert into BINDING (URI_ID, NAME, CHILD_UURI_ID) select ?, ?, URI_ID > from URI where URI_STRING = ?" > > However, DB2 does not like the fact that parameter markers are being > used for select columns. Its unable to recognize that the markers are > being used for values and not for a column name. None of the other > databases have a problem with this. > > Anyways, my question is would slide project be interested in a DB2 > adapter? If so we would like to contribute the DB2 adapter code and the > DB2 schema to the slide community. We have a working schema for DB2 8. > > Thanks, > > Kiran. > > _________________________________________________________________ > MSN 9 Dial-up Internet Access helps fight spam and pop-ups - now 2 > months FREE! http://join.msn.click-url.com/go/onm00200361ave/direct/01/ > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > _________________________________________________________________ > MSN Toolbar provides one-click access to Hotmail from any Web page - > FREE download! > http://toolbar.msn.click-url.com/go/onm00200413ave/direct/01/ > --============================================================== > -- DBMS name: IBM DB2 UDB 8.x Common Server > -- Created on: 6/8/2004 3:41:55 PM > --============================================================== > > > drop table BINDING; > > drop table BRANCH; > > drop table "LABEL"; > > drop table LINKS; > > drop table LOCKS; > > drop table OBJECT; > > drop table PARENT_BINDING; > > drop table PERMISSIONS; > > drop table PROPERTIES; > > drop table URI; > > drop table VERSION; > > drop table VERSION_CONTENT; > > drop table VERSION_HISTORY; > > drop table VERSION_LABELS; > > drop table VERSION_PREDS; > > > --============================================================== > -- Table: BINDING > --============================================================== > create table BINDING > ( > URI_ID NUMERIC(10) not null, > "NAME" VARCHAR(512) not null, > CHILD_UURI_ID NUMERIC(10) not null, > constraint "P_Key_1" primary key (URI_ID, "NAME", CHILD_UURI_ID) > ); > > --============================================================== > -- Table: BRANCH > --============================================================== > create table BRANCH > ( > BRANCH_ID NUMERIC(10) not null, > BRANCH_STRING VARCHAR(512) not null, > constraint "P_Key_1" primary key (BRANCH_ID), > constraint "A_Key_2" unique (BRANCH_STRING) > ); > > --============================================================== > -- Table: "LABEL" > --============================================================== > create table "LABEL" > ( > LABEL_ID NUMERIC(10) not null, > LABEL_STRING VARCHAR(512) not null, > constraint "P_Key_1" primary key (LABEL_ID) > ); > > --============================================================== > -- Table: LINKS > --============================================================== > create table LINKS > ( > URI_ID NUMERIC(10) not null, > LINK_TO_ID NUMERIC(10) not null, > constraint "P_Key_1" primary key (URI_ID, LINK_TO_ID) > ); > > --============================================================== > -- Table: LOCKS > --============================================================== > create table LOCKS > ( > LOCK_ID NUMERIC(10) not null, > OBJECT_ID NUMERIC(10) not null, > SUBJECT_ID NUMERIC(10) not null, > TYPE_ID NUMERIC(10) not null, > EXPIRATION_DATE NUMERIC(14) not null, > IS_INHERITABLE NUMERIC(1) not null, > IS_EXCLUSIVE NUMERIC(1) not null, > OWNER VARCHAR(512), > constraint "P_Key_1" primary key (LOCK_ID) > ); > > --============================================================== > -- Table: OBJECT > --============================================================== > create table OBJECT > ( > URI_ID NUMERIC(10) not null, > CLASS_NAME VARCHAR(255) not null, > constraint "P_Key_1" primary key (URI_ID) > ); > > --============================================================== > -- Table: PARENT_BINDING > --============================================================== > create table PARENT_BINDING > ( > URI_ID NUMERIC(10) not null, > "NAME" VARCHAR(512) not null, > PARENT_UURI_ID NUMERIC(10) not null, > constraint "P_Key_1" primary key (URI_ID, "NAME", PARENT_UURI_ID) > ); > > --============================================================== > -- Table: PERMISSIONS > --============================================================== > create table PERMISSIONS > ( > OBJECT_ID NUMERIC(10) not null, > SUBJECT_ID NUMERIC(10) not null, > ACTION_ID NUMERIC(10) not null, > VERSION_NO VARCHAR(20), > IS_INHERITABLE NUMERIC(1) not null, > IS_NEGATIVE NUMERIC(1) not null, > SUCCESSION NUMERIC(10) not null, > constraint "A_Key_1" unique (OBJECT_ID, SUBJECT_ID, ACTION_ID), > constraint "A_Key_2" unique (OBJECT_ID, SUCCESSION) > ); > > --============================================================== > -- Table: PROPERTIES > --============================================================== > create table PROPERTIES > ( > VERSION_ID NUMERIC(10) not null, > PROPERTY_NAMESPACE VARCHAR(50) not null, > PROPERTY_NAME VARCHAR(50) not null, > PROPERTY_VALUE VARCHAR(255), > PROPERTY_TYPE VARCHAR(50), > IS_PROTECTED NUMERIC(1) not null, > constraint "A_Key_1" unique (VERSION_ID, PROPERTY_NAMESPACE, > PROPERTY_NAME) > ); > > --============================================================== > -- Table: URI > --============================================================== > create table URI > ( > URI_ID NUMERIC(10) not null, > URI_STRING VARCHAR(250) not null, > constraint "P_Key_1" primary key (URI_ID), > constraint "A_Key_2" unique (URI_STRING) > ); > > --============================================================== > -- Table: VERSION > --============================================================== > create table VERSION > ( > URI_ID NUMERIC(10) not null, > IS_VERSIONED NUMERIC(1) not null, > constraint "P_Key_1" primary key (URI_ID) > ); > > --============================================================== > -- Table: VERSION_CONTENT > --============================================================== > create table VERSION_CONTENT > ( > VERSION_ID NUMERIC(10) not null, > CONTENT blob(1000m), > constraint "P_Key_1" primary key (VERSION_ID) > ); > > --============================================================== > -- Table: VERSION_HISTORY > --============================================================== > create table VERSION_HISTORY > ( > VERSION_ID NUMERIC(10) not null, > URI_ID NUMERIC(10) not null, > BRANCH_ID NUMERIC(10) not null, > REVISION_NO VARCHAR(20) not null, > constraint "P_Key_1" primary key (VERSION_ID), > constraint "A_Key_2" unique (URI_ID, BRANCH_ID, REVISION_NO) > ); > > --============================================================== > -- Table: VERSION_LABELS > --============================================================== > create table VERSION_LABELS > ( > VERSION_ID NUMERIC(10) not null, > LABEL_ID NUMERIC(10) not null, > constraint "A_Key_1" unique (VERSION_ID, LABEL_ID) > ); > > --============================================================== > -- Table: VERSION_PREDS > --============================================================== > create table VERSION_PREDS > ( > VERSION_ID NUMERIC(10) not null, > PREDECESSOR_ID NUMERIC(10) not null, > constraint "A_Key_1" unique (VERSION_ID, PREDECESSOR_ID) > ); > > CREATE TRIGGER URI_TRG NO CASCADE BEFORE INSERT ON URI referencing NEW > AS newrow FOR EACH ROW MODE DB2SQL SET newrow.URI_ID = COALESCE((SELECT > MAX(URI_ID) FROM URI) + 1, 1); > > CREATE TRIGGER BRANCH_TRG NO CASCADE BEFORE INSERT ON BRANCH > referencing NEW AS newrow FOR EACH ROW MODE DB2SQL SET newrow.BRANCH_ID > = COALESCE((SELECT MAX(BRANCH_ID) FROM BRANCH) + 1, 1); > > CREATE TRIGGER LABEL_TRG NO CASCADE BEFORE INSERT ON LABEL referencing > NEW AS newrow FOR EACH ROW MODE DB2SQL SET newrow.LABEL_ID = > COALESCE((SELECT MAX(LABEL_ID) FROM LABEL) + 1, 1); > > CREATE TRIGGER VERSION_HIST_TRG NO CASCADE BEFORE INSERT ON > VERSION_HISTORY referencing NEW AS newrow FOR EACH ROW MODE DB2SQL SET > newrow.VERSION_ID = COALESCE((SELECT MAX(VERSION_ID) FROM > VERSION_HISTORY) + 1, 1); > > > alter table BINDING > add constraint "F_Reference_2" foreign key (URI_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table BINDING > add constraint "F_Reference_3" foreign key (CHILD_UURI_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table LINKS > add constraint "F_Reference_6" foreign key (URI_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table LINKS > add constraint "F_Reference_7" foreign key (LINK_TO_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table LOCKS > add constraint "F_Reference_10" foreign key (SUBJECT_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table LOCKS > add constraint "F_Reference_11" foreign key (TYPE_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table LOCKS > add constraint "F_Reference_8" foreign key (LOCK_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table LOCKS > add constraint "F_Reference_9" foreign key (OBJECT_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table OBJECT > add constraint "F_Reference_1" foreign key (URI_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table PARENT_BINDING > add constraint "F_Reference_4" foreign key (URI_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table PARENT_BINDING > add constraint "F_Reference_5" foreign key (PARENT_UURI_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table PERMISSIONS > add constraint "F_Reference_21" foreign key (OBJECT_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table PERMISSIONS > add constraint "F_Reference_22" foreign key (SUBJECT_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table PERMISSIONS > add constraint "F_Reference_23" foreign key (ACTION_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table PROPERTIES > add constraint "F_Reference_20" foreign key (VERSION_ID) > references VERSION_HISTORY (VERSION_ID) > on delete restrict on update restrict; > > alter table VERSION > add constraint "F_Reference_12" foreign key (URI_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table VERSION_CONTENT > add constraint "F_Reference_19" foreign key (VERSION_ID) > references VERSION_HISTORY (VERSION_ID) > on delete restrict on update restrict; > > alter table VERSION_HISTORY > add constraint "F_Reference_13" foreign key (URI_ID) > references URI (URI_ID) > on delete restrict on update restrict; > > alter table VERSION_HISTORY > add constraint "F_Reference_14" foreign key (BRANCH_ID) > references BRANCH (BRANCH_ID) > on delete restrict on update restrict; > > alter table VERSION_LABELS > add constraint "F_Reference_17" foreign key (VERSION_ID) > references VERSION_HISTORY (VERSION_ID) > on delete restrict on update restrict; > > alter table VERSION_LABELS > add constraint "F_Reference_18" foreign key (LABEL_ID) > references "LABEL" (LABEL_ID) > on delete restrict on update restrict; > > alter table VERSION_PREDS > add constraint "F_Reference_15" foreign key (VERSION_ID) > references VERSION_HISTORY (VERSION_ID) > on delete restrict on update restrict; > > alter table VERSION_PREDS > add constraint "F_Reference_16" foreign key (PREDECESSOR_ID) > references VERSION_HISTORY (VERSION_ID) > on delete restrict on update restrict; > > > > > > ------------------------------------------------------------------------ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ************************************************************************ If you have received this e-mail in error, please delete it and notify the sender as soon as possible. The contents of this e-mail may be confidential and the unauthorized use, copying, or dissemination of it and any attachments to it, is prohibited. Internet communications are not secure and Hyperion does not, therefore, accept legal responsibility for the contents of this message nor for any damage caused by viruses. The views expressed here do not necessarily represent those of Hyperion. For more information about Hyperion, please visit our Web site at www.hyperion.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
