Closed Bug 273935 Opened 20 years ago Closed 20 years ago

2.18 rc3: checksetup.pl: bogus dates, missing data in series_date table using mysql 4.1.5

Categories

(Bugzilla :: Installation & Upgrading, defect)

2.18
defect
Not set
major

Tracking

()

RESOLVED FIXED
Bugzilla 2.18

People

(Reporter: vrb, Assigned: vrb)

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.2) Gecko/20040428 Galeon/1.3.14
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.2) Gecko/20040428 Galeon/1.3.14

In 2.18rc3 we saw the following errors while running checksetup:

DBD::mysql::st execute failed: Duplicate entry '1-0000-00-00 00:00:00' for key 1
at ./checksetup.pl line 4057.
DBD::mysql::st execute failed: Duplicate entry '1-0000-00-00 00:00:00' for key 1
at ./checksetup.pl line 4057.
DBD::mysql::st execute failed: Duplicate entry '2-0000-00-00 00:00:00' for key 1
at ./checksetup.pl line 4057.
DBD::mysql::st execute failed: Duplicate entry '2-0000-00-00 00:00:00' for key 1
at ./checksetup.pl line 4057.

and so on.

The problem is that checksetup.pl makes calls like this:
    INSERT INTO series_data (series_id, series_date, series_value)
        VALUES ('1', '\'20041206\'', '0')
A correct call looks like this:
    INSERT INTO series_data (series_id, series_date, series_value)
        VALUES ('1', '20041206', '0')
 
The quoting around the date is the problem. Apparently mysql 4.0 doesn't
care, but mysql 4.1 does care. In fact, mysql 4.1 treats '\'20041206\'' as
an invalid date and writes 0000-00-00 00:00:00 into the database. That's
why we saw so many duplicates -- they all had the same bogus date.

Reproducible: Always
Steps to Reproduce:
1.Drop tables series, series_categories, and series_data.
2.Run 2.18rc3 checksetup.pl, where mining data (2.18rc2 vintage) exists.
3.

Actual Results:  
Received lots of duplicate entry errors and bogus dates in the series_date table.

Expected Results:  
It should have used correct mysql syntax.

I will attach a suggested fix.
Version: unspecified → 2.18
Gerv, this looks like the charting stuff.

Leaving this unconfirmed only because it might be a duplicate.  The problem
fixed in this patch is definitely real though...  when using placeholders, DBI
escapes everything for us, so the manual quoting results in it being quoted twice.
Assignee: zach → vrb
Flags: blocking2.20+
Flags: blocking2.18+
OS: Linux → All
Hardware: PC → All
Target Milestone: --- → Bugzilla 2.18
Dave -- did you mean to assign this to me? Vance
(In reply to comment #3)
> Dave -- did you mean to assign this to me? Vance

Yep, you wrote the patch. :)  We usually do that so once the bug is resolved we
know who contributed it.
Attachment #168331 - Flags: review+
Flags: approval?
Flags: approval2.18?
Whiteboard: patch awaiting approval
(In reply to comment #2)
> Leaving this unconfirmed only because it might be a duplicate.

Maybe, but requesting approval for a bug which is in the unconfirmed state
sounds illogical to me. You should confirm this bug and mark the other one as a
dupe, if there is one! :)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: approval?
Flags: approval2.18?
Flags: approval2.18+
Flags: approval+
Whiteboard: patch awaiting approval → patch awaiting checkin
Checking in checksetup.pl;
/cvsroot/mozilla/webtools/bugzilla/checksetup.pl,v  <--  checksetup.pl
new revision: 1.289.2.16; previous revision: 1.289.2.15
done

Checking in checksetup.pl;
/cvsroot/mozilla/webtools/bugzilla/checksetup.pl,v  <--  checksetup.pl
new revision: 1.318; previous revision: 1.317
done
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Whiteboard: patch awaiting checkin
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: