From: stronk7 Date: Tue, 4 Sep 2007 22:13:30 +0000 (+0000) Subject: Added one new test to change precission of a numeric field X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=367b80f5ee20f43803f0c92306e10cd04b9f4ba1;p=moodle.git Added one new test to change precission of a numeric field to a smaller one. It breaks Oracle in its current status. Merged from MOODLE_18_STABLE --- diff --git a/admin/xmldb/actions/test/test.class.php b/admin/xmldb/actions/test/test.class.php index 6f87c5343c..031ab153ee 100644 --- a/admin/xmldb/actions/test/test.class.php +++ b/admin/xmldb/actions/test/test.class.php @@ -378,7 +378,22 @@ class test extends XMLDBAction { $tests['change field precision (number)'] = $test; } - /// 18th test. Change the sign of one numeric field to unsigned + /// 18th test. Change the precision of one integer field to a smaller one + if ($test->status) { + /// Get SQL code and execute it + $test = new stdClass; + $field = new XMLDBField('course'); + $field->setAttributes(XMLDB_TYPE_INTEGER, '5', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0'); + + $test->sql = $table->getAlterFieldSQL($CFG->dbtype, $CFG->prefix, $field, true); + $test->status = change_field_precision($table, $field, false, false); + if (!$test->status) { + $test->error = $db->ErrorMsg(); + } + $tests['change field precision (integer) to smaller one'] = $test; + } + + /// 19th test. Change the sign of one numeric field to unsigned if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -393,7 +408,7 @@ class test extends XMLDBAction { $tests['change field sign (unsigned)'] = $test; } - /// 19th test. Change the sign of one numeric field to signed + /// 20th test. Change the sign of one numeric field to signed if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -408,7 +423,7 @@ class test extends XMLDBAction { $tests['change field sign (signed)'] = $test; } - /// 20th test. Change the nullability of one char field to not null + /// 21th test. Change the nullability of one char field to not null if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -423,7 +438,7 @@ class test extends XMLDBAction { $tests['change field nullability (not null)'] = $test; } - /// 21th test. Change the nullability of one char field to null + /// 22th test. Change the nullability of one char field to null if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -438,7 +453,7 @@ class test extends XMLDBAction { $tests['change field nullability (null)'] = $test; } - /// 22th test. Dropping the default of one field + /// 23th test. Dropping the default of one field if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -453,7 +468,7 @@ class test extends XMLDBAction { $tests['drop field default of NULL field'] = $test; } - /// 23th test. Creating the default for one field + /// 24th test. Creating the default for one field if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -468,7 +483,7 @@ class test extends XMLDBAction { $tests['add field default of NULL field'] = $test; } - /// 24th test. Creating the default for one field + /// 25th test. Creating the default for one field if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -484,7 +499,7 @@ class test extends XMLDBAction { } - /// 25th test. Dropping the default of one NOT NULL field + /// 26th test. Dropping the default of one NOT NULL field if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -499,7 +514,7 @@ class test extends XMLDBAction { $tests['drop field default of NOT NULL field'] = $test; } - /// 26th test. Adding one unique index to the table + /// 27th test. Adding one unique index to the table if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -514,7 +529,7 @@ class test extends XMLDBAction { $tests['add unique index'] = $test; } - /// 27th test. Adding one not unique index to the table + /// 28th test. Adding one not unique index to the table if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -529,7 +544,7 @@ class test extends XMLDBAction { $tests['add not unique index'] = $test; } - /// 28th test. Re-add the same index than previous test. Check find_index_name() works. + /// 29th test. Re-add the same index than previous test. Check find_index_name() works. if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -548,7 +563,7 @@ class test extends XMLDBAction { $tests['check find_index_name()'] = $test; } - /// 29th test. Dropping one index from the table + /// 30th test. Dropping one index from the table if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -563,7 +578,7 @@ class test extends XMLDBAction { $tests['drop index'] = $test; } - /// 30th test. Adding one unique key to the table + /// 31th test. Adding one unique key to the table if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -578,7 +593,7 @@ class test extends XMLDBAction { $tests['add unique key'] = $test; } - /// 31th test. Adding one foreign+unique key to the table + /// 32th test. Adding one foreign+unique key to the table if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -593,7 +608,7 @@ class test extends XMLDBAction { $tests['add foreign+unique key'] = $test; } - /// 32th test. Drop one key + /// 33th test. Drop one key if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -608,7 +623,7 @@ class test extends XMLDBAction { $tests['drop foreign+unique key'] = $test; } - /// 33th test. Adding one foreign key to the table + /// 34th test. Adding one foreign key to the table if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -623,7 +638,7 @@ class test extends XMLDBAction { $tests['add foreign key'] = $test; } - /// 34th test. Drop one foreign key + /// 35th test. Drop one foreign key if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -638,7 +653,7 @@ class test extends XMLDBAction { $tests['drop foreign key'] = $test; } - /// 35th test. Adding one complex enum field + /// 36th test. Adding one complex enum field if ($test->status) { /// Create a new field with complex specs (enums are good candidates) $field = new XMLDBField('type'); @@ -653,7 +668,7 @@ class test extends XMLDBAction { $tests['add field with enum'] = $test; } - /// 36th test. Dropping the enum of one field + /// 37th test. Dropping the enum of one field if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -668,7 +683,7 @@ class test extends XMLDBAction { $tests['delete enumlist from one field'] = $test; } - /// 37th test. Creating the enum for one field + /// 38th test. Creating the enum for one field if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -682,7 +697,7 @@ class test extends XMLDBAction { $tests['add enumlist to one field'] = $test; } - /// 38th test. Renaming one index + /// 39th test. Renaming one index if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -697,7 +712,7 @@ class test extends XMLDBAction { $tests['rename index (experimental. DO NOT USE IT)'] = $test; } - /// 39th test. Renaming one key + /// 40th test. Renaming one key if ($test->status) { /// Get SQL code and execute it $test = new stdClass; @@ -712,13 +727,13 @@ class test extends XMLDBAction { $tests['rename key (experimental. DO NOT USE IT)'] = $test; } - /// 40th test. Renaming one field + /// 41th test. Renaming one field if ($test->status) { /// Get SQL code and execute it $test = new stdClass; $field = new XMLDBField('type'); $field->setAttributes(XMLDB_TYPE_CHAR, '20', null, XMLDB_NOTNULL, null, XMLDB_ENUM, array('single', 'news', 'general', 'social', 'eachuser', 'teacher', 'qanda'), 'general', 'course'); - + $test->sql = $table->getRenameFieldSQL($CFG->dbtype, $CFG->prefix, $field, 'newnameforthefield', true); $test->status = rename_field($table, $field, 'newnameforthefield', false, false); if (!$test->status) { @@ -727,11 +742,11 @@ class test extends XMLDBAction { $tests['rename field'] = $test; } - /// 41th test. Renaming one table + /// 42th test. Renaming one table if ($test->status) { /// Get SQL code and execute it $test = new stdClass; - + $test->sql = $table->getRenameTableSQL($CFG->dbtype, $CFG->prefix, 'newnameforthetable', true); $test->status = rename_table($table, 'newnameforthetable', false, false); if (!$test->status) { @@ -740,7 +755,7 @@ class test extends XMLDBAction { $tests['rename table'] = $test; } - /// 42th test. Getting the PK sequence name for one table + /// 43th test. Getting the PK sequence name for one table if ($test->status) { $test = new stdClass; $table->setName('newnameforthetable'); @@ -755,7 +770,7 @@ class test extends XMLDBAction { $tests['find sequence name'] = $test; } - /// 43th test. Inserting TEXT contents + /// 44th test. Inserting TEXT contents $textlib = textlib_get_instance(); if ($test->status) { $test = new stdClass; @@ -794,7 +809,7 @@ class test extends XMLDBAction { $tests['insert record '. $textlen . ' cc. (text)'] = $test; } - /// 44th test. Inserting BINARY contents + /// 45th test. Inserting BINARY contents if ($test->status) { $test = new stdClass; $test->status = false; @@ -823,7 +838,7 @@ class test extends XMLDBAction { $tests['insert record '. $textlen . ' bytes (binary)'] = $test; } - /// 45th test. update_record with TEXT and BINARY contents + /// 46th test. update_record with TEXT and BINARY contents if ($test->status) { $test = new stdClass; $test->status = false; @@ -863,7 +878,7 @@ class test extends XMLDBAction { $tests['update record '. $textlen . ' cc. (text) and ' . $imglen . ' bytes (binary)'] = $test; } - /// 46th test. set_field with TEXT contents + /// 47th test. set_field with TEXT contents if ($test->status) { $test = new stdClass; $test->status = false; @@ -893,7 +908,7 @@ class test extends XMLDBAction { $tests['set field '. $textlen . ' cc. (text)'] = $test; } - /// 47th test. set_field with BINARY contents + /// 48th test. set_field with BINARY contents if ($test->status) { $test = new stdClass; $test->status = false;