Author: mboersma
Date: 2008-12-08 12:37:08 -0600 (Mon, 08 Dec 2008)
New Revision: 9613

Modified:
   django/branches/releases/1.0.X/django/db/backends/oracle/base.py
Log:
[1.0.X] Fixed obscure Oracle quoting issues pointed out by the 
custom_columns_regress test case.


Modified: django/branches/releases/1.0.X/django/db/backends/oracle/base.py
===================================================================
--- django/branches/releases/1.0.X/django/db/backends/oracle/base.py    
2008-12-08 18:36:22 UTC (rev 9612)
+++ django/branches/releases/1.0.X/django/db/backends/oracle/base.py    
2008-12-08 18:37:08 UTC (rev 9613)
@@ -49,17 +49,17 @@
                 SELECT COUNT(*) INTO i FROM USER_CATALOG
                     WHERE TABLE_NAME = '%(sq_name)s' AND TABLE_TYPE = 
'SEQUENCE';
                 IF i = 0 THEN
-                    EXECUTE IMMEDIATE 'CREATE SEQUENCE %(sq_name)s';
+                    EXECUTE IMMEDIATE 'CREATE SEQUENCE "%(sq_name)s"';
                 END IF;
             END;
             /""" % locals()
         trigger_sql = """
-            CREATE OR REPLACE TRIGGER %(tr_name)s
+            CREATE OR REPLACE TRIGGER "%(tr_name)s"
             BEFORE INSERT ON %(tbl_name)s
             FOR EACH ROW
             WHEN (new.%(col_name)s IS NULL)
                 BEGIN
-                    SELECT %(sq_name)s.nextval
+                    SELECT "%(sq_name)s".nextval
                     INTO :new.%(col_name)s FROM dual;
                 END;
                 /""" % locals()
@@ -94,8 +94,8 @@
             return "%s"
 
     def last_insert_id(self, cursor, table_name, pk_name):
-        sq_name = util.truncate_name(table_name, self.max_name_length() - 3)
-        cursor.execute('SELECT %s_sq.currval FROM dual' % sq_name)
+        sq_name = get_sequence_name(table_name)
+        cursor.execute('SELECT "%s".currval FROM dual' % sq_name)
         return cursor.fetchone()[0]
 
     def lookup_cast(self, lookup_type):
@@ -403,12 +403,12 @@
         BEGIN
             LOCK TABLE %(table)s IN SHARE MODE;
             SELECT NVL(MAX(%(column)s), 0) INTO startvalue FROM %(table)s;
-            SELECT %(sequence)s.nextval INTO cval FROM dual;
+            SELECT "%(sequence)s".nextval INTO cval FROM dual;
             cval := startvalue - cval;
             IF cval != 0 THEN
-                EXECUTE IMMEDIATE 'ALTER SEQUENCE %(sequence)s MINVALUE 0 
INCREMENT BY '||cval;
-                SELECT %(sequence)s.nextval INTO cval FROM dual;
-                EXECUTE IMMEDIATE 'ALTER SEQUENCE %(sequence)s INCREMENT BY 1';
+                EXECUTE IMMEDIATE 'ALTER SEQUENCE "%(sequence)s" MINVALUE 0 
INCREMENT BY '||cval;
+                SELECT "%(sequence)s".nextval INTO cval FROM dual;
+                EXECUTE IMMEDIATE 'ALTER SEQUENCE "%(sequence)s" INCREMENT BY 
1';
             END IF;
             COMMIT;
         END;


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to