Closed Bug 292718 Opened 20 years ago Closed 20 years ago

LOCATE is not ANSI SQL (prevents user account creation)

Categories

(Bugzilla :: Administration, task, P1)

2.19.2

Tracking

()

RESOLVED FIXED
Bugzilla 2.20

People

(Reporter: osirven, Assigned: mkanat)

References

Details

Attachments

(1 file, 1 obsolete file)

User-Agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.7.6) Gecko/20050406 Firefox/1.0.2 (Debian package 1.0.2-3) Build Identifier: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.7.6) Gecko/20050406 Firefox/1.0.2 (Debian package 1.0.2-3) A query crash the process while creating a new user if the edituser.cgi script. Reproducible: Always Steps to Reproduce: 1. Select "add a user" in the administration of bugzilla 2. Fill-in the form and leave "Disable text" field blank 3. Submit the form Actual Results: Bugzilla crashes with following message: DBD::Pg::st execute failed: ERROR: function locate("unknown", character varying) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts. [for Statement "SELECT eventdata FROM tokens WHERE tokentype = 'emailold' AND SUBSTRING(eventdata, 1, (LOCATE(':', eventdata) - 1)) = ? OR SUBSTRING(eventdata, (LOCATE(':', eventdata) + 1)) = ?" with ParamValues: 2='herve@everyfeed.com', 1='herve@everyfeed.com'] at Bugzilla/User.pm line 1142 Bugzilla::User::is_available_username('herve@everyfeed.com') called at /home/httpd/htdocs/bugzilla/editusers.cgi line 175
Blocks: bz-postgres
Hrm, I wonder if that's specific to 8.0, or if LOCATE is not ANSI.
OS: Linux → All
Hardware: PC → All
Version: unspecified → 2.19.2
OK, yeah, we should be using POSITION (or really, sql_position, I think) instead of LOCATE. That's a pretty easy fix.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: cannot create a user (postgresql query failed) → LOCATE is not ANSI SQL
Target Milestone: --- → Bugzilla 2.20
Assignee: administration → mkanat
Summary: LOCATE is not ANSI SQL → LOCATE is not ANSI SQL (prevents user account creation)
Status: NEW → ASSIGNED
Priority: -- → P1
Attached patch Fix User Account Creation (obsolete) (deleted) — Splinter Review
OK, there was one other problem, which was that refreshed_when is NOT NULL and was missing from the INSERT.
Attachment #182830 - Flags: review?(bugreport)
(In reply to comment #3) > Created an attachment (id=182830) [edit] > Fix User Account Creation > > OK, there was one other problem, which was that refreshed_when is NOT NULL and > was missing from the INSERT. I have tried your patch and it works just fine for me.
Comment on attachment 182830 [details] [diff] [review] Fix User Account Creation refreshed_when should not be now() unless you derived groups. Users should start out in need of refresh.
Attachment #182830 - Flags: review?(bugreport) → review-
Attached patch v2 (deleted) — Splinter Review
OK, I changed it to be January, 1901 by default. In another patch, we should probably give refreshed_when a default value. I think that would be a cleaner long-term solution. (Something for 2.22.)
Attachment #182830 - Attachment is obsolete: true
Attachment #183786 - Flags: review?(bugreport)
Blocks: 294426
Comment on attachment 183786 [details] [diff] [review] v2 r=joel if you've tested it It does seem like there should have been a simpler way to do this in the first place.
Attachment #183786 - Flags: review?(bugreport) → review+
Yep, I just tested it, and it works. :-)
Flags: approval?
Flags: approval? → approval+
Checking in Bugzilla/User.pm; /cvsroot/mozilla/webtools/bugzilla/Bugzilla/User.pm,v <-- User.pm new revision: 1.55; previous revision: 1.54 done
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
*** Bug 296075 has been marked as a duplicate of this bug. ***
*** Bug 299880 has been marked as a duplicate of this bug. ***
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: