diff options
author | mkanat%bugzilla.org <> | 2008-10-25 04:11:30 +0000 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2008-10-25 04:11:30 +0000 |
commit | 3cea91884b28b52df4e38f2ba88c00b65071a81f (patch) | |
tree | c0f451235176b2b542a38b0c935dcddf0453a1ee /Bugzilla/DB.pm | |
parent | e0da20baba17b7f068946c8647fb6d67e77c39b7 (diff) | |
download | bugs-3cea91884b28b52df4e38f2ba88c00b65071a81f.tar bugs-3cea91884b28b52df4e38f2ba88c00b65071a81f.tar.gz bugs-3cea91884b28b52df4e38f2ba88c00b65071a81f.tar.bz2 bugs-3cea91884b28b52df4e38f2ba88c00b65071a81f.tar.xz bugs-3cea91884b28b52df4e38f2ba88c00b65071a81f.zip |
Bug 291433: Ability to have custom fields whose visibility depends on the values of other fields
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=bbaetz, a=mkanat
Diffstat (limited to 'Bugzilla/DB.pm')
-rw-r--r-- | Bugzilla/DB.pm | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index e264dc443..cc4ddb9aa 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -1209,12 +1209,16 @@ sub _check_references { my $foreign_table = $fk->{TABLE}; my $foreign_column = $fk->{COLUMN}; + # We use table aliases because sometimes we join a table to itself, + # and we can't use the same table name on both sides of the join. + # We also can't use the words "table" or "foreign" because those are + # reserved words. my $bad_values = $self->selectcol_arrayref( - "SELECT DISTINCT $table.$column - FROM $table LEFT JOIN $foreign_table - ON $table.$column = $foreign_table.$foreign_column - WHERE $foreign_table.$foreign_column IS NULL - AND $table.$column IS NOT NULL"); + "SELECT DISTINCT tabl.$column + FROM $table AS tabl LEFT JOIN $foreign_table AS forn + ON tabl.$column = forn.$foreign_column + WHERE forn.$foreign_column IS NULL + AND tabl.$column IS NOT NULL"); if (@$bad_values) { my $delete_action = $fk->{DELETE} || ''; |