From c562997ff85587a5ea9d11f6fd46b184162dd7ad Mon Sep 17 00:00:00 2001 From: stronk7 Date: Mon, 2 Oct 2006 17:06:37 +0000 Subject: [PATCH] rename_field() under oracle completed --- .../generators/oci8po/oci8po.class.php | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/xmldb/classes/generators/oci8po/oci8po.class.php b/lib/xmldb/classes/generators/oci8po/oci8po.class.php index e513a32eab..3fe24ebc45 100644 --- a/lib/xmldb/classes/generators/oci8po/oci8po.class.php +++ b/lib/xmldb/classes/generators/oci8po/oci8po.class.php @@ -53,6 +53,8 @@ class XMLDBoci8po extends XMLDBgenerator { var $rename_table_extra_code = true; //Does the generator need to add code after table rename + var $rename_column_extra_code = true; //Does the generator need to add code after field rename + var $enum_inline_code = false; //Does the generator need to add inline code in the column definition var $alter_column_sql = 'ALTER TABLE TABLENAME MODIFY (COLUMNSPECS)'; //The SQL template to alter columns @@ -201,6 +203,26 @@ class XMLDBoci8po extends XMLDBgenerator { return array($comment); } + /** + * Returns the code (array of statements) needed to execute extra statements on field rename + */ + function getRenameFieldExtraSQL ($xmldb_table, $xmldb_field, $newname) { + + $results = array(); + + /// If the field is enum, drop and re-create the check constraint + if ($xmldb_field->getEnum()) { + /// Drop the current enum + $results = array_merge($results, $this->getDropEnumSQL($xmldb_table, $xmldb_field)); + /// Change field name + $xmldb_field->setName($newname); + /// Recreate the enum + $results = array_merge($results, $this->getCreateEnumSQL($xmldb_table, $xmldb_field)); + } + + return $results; + } + /** * Returns the code (array of statements) needed to execute extra statements on table drop */ -- 2.39.5