From 8914508a4b3af9891011b6891efedcb9159fad62 Mon Sep 17 00:00:00 2001 From: stronk7 Date: Sat, 21 Oct 2006 18:19:47 +0000 Subject: [PATCH] Prevent add_field() to work if we are adding one not null field to one non-empty table without specifying its default value. Merged from MOODLE_17_STABLE --- lib/ddllib.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/ddllib.php b/lib/ddllib.php index ea316768e9..5166994653 100644 --- a/lib/ddllib.php +++ b/lib/ddllib.php @@ -678,6 +678,12 @@ function add_field($table, $field, $continue=true, $feedback=true) { return true; } +/// If NOT NULL and no default given, check the table is empty + if ($field->getNotNull() && $field->getDefault() === NULL && count_records($table->getName())) { + debugging('Field ' . $field->getName() . ' cannot be added. Not null fields added to non empty tables require default value. Create skipped', DEBUG_DEVELOPER); + return true; + } + if(!$sqlarr = $table->getAddFieldSQL($CFG->dbtype, $CFG->prefix, $field, false)) { return true; //Empty array = nothing to do = no error } -- 2.39.5