Implemented more accurate way to retrieve trigger names. MDL-14567 ; merged from 19_STABLE

This commit is contained in:
stronk7
2008-04-26 22:46:03 +00:00
parent a06694dd1c
commit 926c6aa9e3
@@ -535,12 +535,14 @@ class XMLDBoci8po extends XMLDBgenerator {
*/
function getSequenceFromDB($xmldb_table) {
$tablename = strtoupper($this->getTableName($xmldb_table));
$tablename = strtoupper($this->getTableName($xmldb_table));
$prefixupper = strtoupper($this->prefix);
$sequencename = false;
if ($trigger = get_record_sql("SELECT trigger_name, trigger_body
FROM user_triggers
WHERE table_name = '{$tablename}'")) {
WHERE table_name = '{$tablename}'
AND trigger_name LIKE '{$prefixupper}%_ID%_TRG'")) {
/// If trigger found, regexp it looking for the sequence name
preg_match('/.*SELECT (.*)\.nextval/i', $trigger->trigger_body, $matches);
if (isset($matches[1])) {
@@ -558,12 +560,14 @@ class XMLDBoci8po extends XMLDBgenerator {
*/
function getTriggerFromDB($xmldb_table) {
$tablename = strtoupper($this->getTableName($xmldb_table));
$tablename = strtoupper($this->getTableName($xmldb_table));
$prefixupper = strtoupper($this->prefix);
$triggername = false;
if ($trigger = get_record_sql("SELECT trigger_name, trigger_body
FROM user_triggers
WHERE table_name = '{$tablename}'")) {
WHERE table_name = '{$tablename}'
AND trigger_name LIKE '{$prefixupper}%_ID%_TRG'")) {
$triggername = $trigger->trigger_name;
}