[Oracle] Search doesn't work because of sql_string_until

RESOLVED FIXED in Bugzilla 3.4

Status

()

Bugzilla
Query/Bug List
--
major
RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: Xiaoou, Assigned: Xiaoou)

Tracking

({regression})

3.3.3
Bugzilla 3.4
regression
Bug Flags:
approval +
blocking3.4 +

Details

Attachments

(1 attachment)

v1
636 bytes, patch
Max Kanat-Alexander
: review+
Details | Diff | Splinter Review
(Assignee)

Description

9 years ago
on tip, enter a word and do search.

Software error:
DBD::Oracle::db prepare failed: ORA-00907: missing right parenthesis (DBD ERROR: error possibly near <*> indicator at char 188 in 'SELECT bugs.bug_id, bugs.bug_severity, bugs.priority, bugs.bug_status, bugs.resolution, map_products.name, bugs.bug_severity, bugs.priority, bugs.op_sys, SUBSTR(map_assigned_to.login_name <*>FROM 1 FOR INSTR(map_assigned_to.login_name, '@') - 1), bugs.bug_status, bugs.resolution, bugs.short_desc, SUBSTR(map_reporter.login_name FROM 1 FOR INSTR(map_reporter.login_name, '@') - 1), map_assigned_to.login_name FROM bugs  INNER JOIN profiles  map_assigned_to ON (bugs.assigned_to = map_assigned_to.userid) INNER JOIN profiles  map_reporter ON (bugs.reporter = map_reporter.userid) INNER JOIN products  map_products ON (bugs.product_id = map_products.id) LEFT JOIN longdescs  longdescs_0 ON (longdescs_0.bug_id = bugs.bug_id AND longdescs_0.isprivate < 1) LEFT JOIN bug_status ON (bug_status.value = bugs.bug_status) LEFT JOIN priority ON (priority.value = bugs.priority) LEFT JOIN bug_group_map  ON bug_group_map.bug_id = bugs.bug_id  WHERE (( bugs.bug_status IN ('REOPENED','NEW','ASSIGNED','UNCONFIRMED') )) AND (((1=2) OR (1=2) OR (INSTR(LOWER(bugs.short_desc), LOWER('hello')) > 0) OR (INSTR(LOWER(bugs.status_whiteboard), LOWER('hello')) > 0) OR (INSTR(LOWER(longdescs_0.thetext), LOWER('hello')) > 0))) AND bugs.creation_ts IS NOT NULL AND ((bug_group_map.group_id IS NULL)) GROUP BY bugs.bug_id, bugs.bug_severity, bugs.priority, bugs.bug_status, bugs.resolution, map_products.name, bugs.op_sys, SUBSTR, bugs.short_desc, map_assigned_to.login_name, bug_status.sortkey, bug_status.value, priority.sortkey, priority.value ORDER BY bug_status.sortkey,bug_status.value,priority.sortkey,priority.value,map_assigned_to.login_name,bugs.bug_id') [for Statement "SELECT bugs.bug_id, bugs.bug_severity, bugs.priority, bugs.bug_status, bugs.resolution, map_products.name, bugs.bug_severity, bugs.priority, bugs.op_sys, SUBSTR(map_assigned_to.login_name FROM 1 FOR INSTR(map_assigned_to.login_name, '@') - 1), bugs.bug_status, bugs.resolution, bugs.short_desc, SUBSTR(map_reporter.login_name FROM 1 FOR INSTR(map_reporter.login_name, '@') - 1), map_assigned_to.login_name FROM bugs  INNER JOIN profiles  map_assigned_to ON (bugs.assigned_to = map_assigned_to.userid) INNER JOIN profiles  map_reporter ON (bugs.reporter = map_reporter.userid) INNER JOIN products  map_products ON (bugs.product_id = map_products.id) LEFT JOIN longdescs  longdescs_0 ON (longdescs_0.bug_id = bugs.bug_id AND longdescs_0.isprivate < 1) LEFT JOIN bug_status ON (bug_status.value = bugs.bug_status) LEFT JOIN priority ON (priority.value = bugs.priority) LEFT JOIN bug_group_map  ON bug_group_map.bug_id = bugs.bug_id  WHERE (( bugs.bug_status IN ('REOPENED','NEW','ASSIGNED','UNCONFIRMED') )) AND (((1=2) OR (1=2) OR (INSTR(LOWER(bugs.short_desc), LOWER('hello')) > 0) OR (INSTR(LOWER(bugs.status_whiteboard), LOWER('hello')) > 0) OR (INSTR(LOWER(longdescs_0.thetext), LOWER('hello')) > 0))) AND bugs.creation_ts IS NOT NULL AND ((bug_group_map.group_id IS NULL)) GROUP BY bugs.bug_id, bugs.bug_severity, bugs.priority, bugs.bug_status, bugs.resolution, map_products.name, bugs.op_sys, SUBSTR, bugs.short_desc, map_assigned_to.login_name, bug_status.sortkey, bug_status.value, priority.sortkey, priority.value ORDER BY bug_status.sortkey,bug_status.value,priority.sortkey,priority.value,map_assigned_to.login_name,bugs.bug_id"] at Bugzilla/DB/Oracle.pm line 473
	Bugzilla::DB::Oracle::prepare('undef', 'SELECT bugs.bug_id, bugs.bug_severity, bugs.priority, bugs.bu...') called at /var/www/html/bugzilla-tip-oracle/buglist.cgi line 1076

For help, please send mail to the webmaster (webmaster@bugzilla.org), giving this error message and the time and date of the error.
(Assignee)

Comment 1

9 years ago
Created attachment 361455 [details] [diff] [review]
v1

This patch will solve the bug, but how about we use this version of sql_string_until in Bugzilla::DB?
(Assignee)

Updated

9 years ago
Attachment #361455 - Attachment is patch: true
Attachment #361455 - Flags: review?(mkanat)

Comment 2

9 years ago
(In reply to comment #1)
> This patch will solve the bug, but how about we use this version of
> sql_string_until in Bugzilla::DB?

  Oracle doesn't support the ANSI syntax? I'm pretty sure Pg only supports the ANSI syntax.
Assignee: query-and-buglist → xiaoou.wu
Target Milestone: --- → Bugzilla 3.4

Updated

9 years ago
Flags: blocking3.4+

Updated

9 years ago
Severity: normal → major

Updated

9 years ago
Status: NEW → ASSIGNED

Comment 3

9 years ago
Comment on attachment 361455 [details] [diff] [review]
v1

Okay, looks fine, but just for Oracle. What's in Bugzilla::DB is the ANSI standard, and this syntax is not.
Attachment #361455 - Flags: review?(mkanat) → review+

Updated

9 years ago
Flags: approval+

Comment 4

9 years ago
Checking in Bugzilla/DB/Oracle.pm;
/cvsroot/mozilla/webtools/bugzilla/Bugzilla/DB/Oracle.pm,v  <--  Oracle.pm
new revision: 1.23; previous revision: 1.22
done
Status: ASSIGNED → RESOLVED
Last Resolved: 9 years ago
Depends on: 219021
Keywords: regression
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.