[CalendarServer-changes] [10914] CalendarServer/trunk/txdav/common/datastore/sql_schema/upgrades/ oracle-dialect

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 13 15:31:08 PDT 2013


Revision: 10914
          http://trac.calendarserver.org//changeset/10914
Author:   dre at apple.com
Date:     2013-03-13 15:31:08 -0700 (Wed, 13 Mar 2013)
Log Message:
-----------
Fix oracle schema upgrades

Modified Paths:
--------------
    CalendarServer/trunk/txdav/common/datastore/sql_schema/upgrades/oracle-dialect/upgrade_from_12_to_13.sql
    CalendarServer/trunk/txdav/common/datastore/sql_schema/upgrades/oracle-dialect/upgrade_from_13_to_14.sql

Modified: CalendarServer/trunk/txdav/common/datastore/sql_schema/upgrades/oracle-dialect/upgrade_from_12_to_13.sql
===================================================================
--- CalendarServer/trunk/txdav/common/datastore/sql_schema/upgrades/oracle-dialect/upgrade_from_12_to_13.sql	2013-03-13 22:25:36 UTC (rev 10913)
+++ CalendarServer/trunk/txdav/common/datastore/sql_schema/upgrades/oracle-dialect/upgrade_from_12_to_13.sql	2013-03-13 22:31:08 UTC (rev 10914)
@@ -22,13 +22,24 @@
 
 create sequence ATTACHMENT_ID_SEQ;
 
+alter table ATTACHMENT
+ drop primary key;
 
+-- not needed; DROPBOX_ID becomes nullable after dropping primary key above
+-- alter table ATTACHMENT
+--  modify (DROPBOX_ID null);
+
+-- We want ATTACHMENT_ID as a pkey, but can't yet since it needs unique values,
+-- and oracle can't set a default column value from a sequence
 alter table ATTACHMENT
- drop primary key ("DROPBOX_ID", "PATH");
+ add ("ATTACHMENT_ID" integer);
+
+-- fill in ATTACHMENT_ID with unique values from the sequence
+update ATTACHMENT set ATTACHMENT_ID = ATTACHMENT_ID_SEQ.nextval;
+
+-- now set ATTACHMENT_ID as primary key, which implies unique and not null
 alter table ATTACHMENT
- modify (DROPBOX_ID null);
-alter table ATTACHMENT
- add ("ATTACHMENT_ID" integer primary key);
+ add primary key(ATTACHMENT_ID);
 
 create table ATTACHMENT_CALENDAR_OBJECT (
     "ATTACHMENT_ID" integer not null references ATTACHMENT on delete cascade,

Modified: CalendarServer/trunk/txdav/common/datastore/sql_schema/upgrades/oracle-dialect/upgrade_from_13_to_14.sql
===================================================================
--- CalendarServer/trunk/txdav/common/datastore/sql_schema/upgrades/oracle-dialect/upgrade_from_13_to_14.sql	2013-03-13 22:25:36 UTC (rev 10913)
+++ CalendarServer/trunk/txdav/common/datastore/sql_schema/upgrades/oracle-dialect/upgrade_from_13_to_14.sql	2013-03-13 22:31:08 UTC (rev 10914)
@@ -27,7 +27,7 @@
 alter table CALENDAR_BIND
  drop column SEEN_BY_SHAREE;
 alter table CALENDAR_BIND
- modify (ADDRESSBOOK_RESOURCE_NAME not null);
+ modify (CALENDAR_RESOURCE_NAME not null);
  
 alter table ADDRESSBOOK_BIND
  drop column SEEN_BY_OWNER;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130313/7e13d59d/attachment.html>


More information about the calendarserver-changes mailing list