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