]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-17491 oracle native driver: when renaming tables, 1st task is to drop
authorstronk7 <stronk7>
Fri, 25 Sep 2009 23:08:32 +0000 (23:08 +0000)
committerstronk7 <stronk7>
Fri, 25 Sep 2009 23:08:32 +0000 (23:08 +0000)
the associated on insert trigger, to avoid problems later.

lib/ddl/oracle_sql_generator.php

index 7b099f8e52560e74de2201543a9e8c66999317f2..86d6ec2b97259ef3dac4a5add23673d39e02030f 100644 (file)
@@ -253,21 +253,20 @@ class oracle_sql_generator extends sql_generator {
         $oldseqname = $this->getSequenceFromDB($xmldb_table);
         $newseqname = $this->getNameForObject($newname, $xmldb_field->getName(), 'seq');
 
-    /// Rename de sequence, disablig CACHE before and enablig it later
-    /// to avoid consuming on rename
-        $results[] = 'ALTER SEQUENCE ' . $oldseqname . ' NOCACHE';
-        $results[] = 'RENAME ' . $oldseqname . ' TO ' . $newseqname;
-        $results[] = 'ALTER SEQUENCE ' . $newseqname . ' CACHE';
-
         $oldtriggername = $this->getTriggerFromDB($xmldb_table);
         $newtriggername = $this->getNameForObject($newname, $xmldb_field->getName(), 'trg');
 
-    /// Drop old trigger
+    /// Drop old trigger (first of all)
         $results[] = "DROP TRIGGER " . $oldtriggername;
 
-        $newt = new xmldb_table($newname); /// Temp table for trigger code generation
+    /// Rename the sequence, disablig CACHE before and enablig it later
+    /// to avoid consuming of values on rename
+        $results[] = 'ALTER SEQUENCE ' . $oldseqname . ' NOCACHE';
+        $results[] = 'RENAME ' . $oldseqname . ' TO ' . $newseqname;
+        $results[] = 'ALTER SEQUENCE ' . $newseqname . ' CACHE';
 
     /// Create new trigger
+        $newt = new xmldb_table($newname); /// Temp table for trigger code generation
         $results = array_merge($results, $this->getCreateTriggerSQL($newt, $xmldb_field));
 
     /// Rename all the check constraints in the table