From 24dc733e16aa33432ae6ddfa7bb27c3e980edb5d Mon Sep 17 00:00:00 2001 From: stronk7 Date: Fri, 25 Sep 2009 23:08:32 +0000 Subject: [PATCH] MDL-17491 oracle native driver: when renaming tables, 1st task is to drop the associated on insert trigger, to avoid problems later. --- lib/ddl/oracle_sql_generator.php | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/ddl/oracle_sql_generator.php b/lib/ddl/oracle_sql_generator.php index 7b099f8e52..86d6ec2b97 100644 --- a/lib/ddl/oracle_sql_generator.php +++ b/lib/ddl/oracle_sql_generator.php @@ -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 -- 2.39.5