From: stronk7 Date: Sun, 28 Jan 2007 18:18:28 +0000 (+0000) Subject: Now MSSQL naming of objects introspects to avoid duplicates. MDL-7376 X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=3b34bc7f39445728ae7abb81550ec7d18ba2a16c;p=moodle.git Now MSSQL naming of objects introspects to avoid duplicates. MDL-7376 --- diff --git a/lib/xmldb/classes/generators/mssql/mssql.class.php b/lib/xmldb/classes/generators/mssql/mssql.class.php index dafc6d8236..7c8195b62a 100644 --- a/lib/xmldb/classes/generators/mssql/mssql.class.php +++ b/lib/xmldb/classes/generators/mssql/mssql.class.php @@ -464,6 +464,37 @@ class XMLDBmssql extends XMLDBgenerator { return $results; } + /** + * Given one object name and it's type (pk, uk, fk, ck, ix, uix, seq, trg) + * return if such name is currently in use (true) or no (false) + * (invoked from getNameForObject() + */ + function isNameInUse($object_name, $type) { + switch($type) { + case 'seq': + case 'trg': + case 'pk': + case 'uk': + case 'fk': + case 'ck': + if ($check = get_records_sql("SELECT name + FROM sysobjects + WHERE lower(name) = '" . strtolower($object_name) . "'")) { + return true; + } + break; + case 'ix': + case 'uix': + if ($check = get_records_sql("SELECT name + FROM sysindexes + WHERE lower(name) = '" . strtolower($object_name) . "'")) { + return true; + } + break; + } + return false; //No name in use found + } + /** * Returns an array of reserved words (lowercase) for this DB */