From 46aba0e761e99db24b5de10f13bbc108fdc982a4 Mon Sep 17 00:00:00 2001 From: "mkanat%kerio.com" <> Date: Tue, 25 Oct 2005 02:21:02 +0000 Subject: Bug 313209: Oracle requires "CASE WHEN" around boolean expressions in the SELECT column list Patch By Lance Larsh r=mkanat, a=justdave --- Bugzilla/Bug.pm | 4 +++- Bugzilla/User.pm | 10 +++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'Bugzilla') diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index c08703789..d094b8eae 100755 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -24,6 +24,7 @@ # Dave Miller # Max Kanat-Alexander # Frédéric Buclin +# Lance Larsh package Bugzilla::Bug; @@ -547,7 +548,8 @@ sub groups { my $grouplist = Bugzilla->user->groups_as_string; my $sth = $dbh->prepare( "SELECT DISTINCT groups.id, name, description," . - " bug_group_map.group_id IS NOT NULL," . + " CASE WHEN bug_group_map.group_id IS NOT NULL" . + " THEN 1 ELSE 0 END," . " CASE WHEN groups.id IN($grouplist) THEN 1 ELSE 0 END," . " isactive, membercontrol, othercontrol" . " FROM groups" . diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 9b99428a6..744dbd34a 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -25,6 +25,7 @@ # Shane H. W. Travis # Max Kanat-Alexander # Gervase Markham +# Lance Larsh ################################################################################ # Module Initialization @@ -509,7 +510,8 @@ sub can_enter_product { trick_taint($product_name); # Checks whether the user has access to the product. - my $has_access = $dbh->selectrow_array('SELECT group_id IS NULL + my $has_access = $dbh->selectrow_array('SELECT CASE WHEN group_id IS NULL + THEN 1 ELSE 0 END FROM products LEFT JOIN group_control_map ON group_control_map.product_id = products.id @@ -527,8 +529,10 @@ sub can_enter_product { # Checks whether the product is open for new bugs and # has at least one component and one version. my ($is_open, $has_version) = - $dbh->selectrow_array('SELECT CASE WHEN disallownew = 0 THEN 1 ELSE 0 END, - versions.value IS NOT NULL + $dbh->selectrow_array('SELECT CASE WHEN disallownew = 0 + THEN 1 ELSE 0 END, + CASE WHEN versions.value IS NOT NULL + THEN 1 ELSE 0 END FROM products INNER JOIN components ON components.product_id = products.id -- cgit v1.2.3-24-g4f1b