Closed
Bug 107718
Opened 23 years ago
Closed 23 years ago
masschange gives all changed bugs the groupset of the first bug in the list
Categories
(Bugzilla :: Creating/Changing Bugs, defect, P1)
Tracking
()
RESOLVED
FIXED
Bugzilla 2.16
People
(Reporter: bbaetz, Assigned: bbaetz)
References
Details
(Keywords: dataloss)
Attachments
(2 files, 2 obsolete files)
1.83 KB,
patch
|
jacob
:
review+
jacob
:
review+
|
Details | Diff | Splinter Review |
3.30 KB,
patch
|
bbaetz
:
review+
CodeMachine
:
review+
|
Details | Diff | Splinter Review |
myk, this should be considered for being a blocker for the b.m.o upgrade. I noticed this happening once before, but just thought that the wrong button was pushed. If you do a mass change, then one of the options is to leave everything as it is However, the code to handle this is run once, not once per bug (~ line 564 in process_bug.cgi: } elsif ($::FORM{"bit-$b"} == -1) { # If we get here, the user came from the change several bugs form, and # said not to change this group restriction. So we'll add this group # back in only if the bug already has it. if ($bughasgroup) { $::query .= " + $b"; } } For setting/clearing, this is OK, but not for keeping as is. I suspect (but its late, and I haven't tested) that we just need to set groupset to groupset in the init code, rather than 0, and then this branch of the if statements should then be a noop. Removing a group (ie !$bughasgroup && $::FORM{"bit-$b"} == 1) should then just subtract the bit.
Assignee | ||
Comment 1•23 years ago
|
||
Oh, and $bughasgroup but no form element should imply keep-as-is, regardless of whether or not the user is in the group.
Keywords: dataloss
Updated•23 years ago
|
Assignee | ||
Comment 2•23 years ago
|
||
Actually, my suggestion doesn't work, because obviously the initial groupset is different. I'm going to keep two vars, a groupsetadd and a groupsetdel, and then update teh bugs groupset (in the sql statement) to be: (groupset & ~groupsetdel) | groupsetadd Taking
Assignee: myk → bbaetz
Assignee | ||
Comment 3•23 years ago
|
||
Assignee | ||
Updated•23 years ago
|
Comment 4•23 years ago
|
||
Comment on attachment 55982 [details] [diff] [review] patch r= justdave the perl compiles. all tests pass. I tested the SQL locally, and it works the way it's supposed to.
Attachment #55982 -
Flags: review+
Comment 5•23 years ago
|
||
Comment on attachment 55982 [details] [diff] [review] patch OK, it makes sence to me now... must've just taken some time to sink in :) Anyway, it works as extected in all the tests I put it through... r=jake
Attachment #55982 -
Flags: review+
Assignee | ||
Comment 6•23 years ago
|
||
Fixed
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Comment 7•23 years ago
|
||
MySQL < 3.23.5 doesn't support the ~ bitwise negation operator. Landfill is now broken. (Jake and I both appear to have 3.23.x at home where we tested this - Landfill has 3.22.32)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 8•23 years ago
|
||
Current thinking on this is that the groupset math is all going to have to be done over again for the groups schema change (since groups will be individual entities instead of a bitfield), so if we hurry and get that in, this all won't even matter. In the meantime, Bugzilla only runs on MySQL 3.23.5 and newer. Note that reopening this should not block the b.m.o upgrade because they're also upgrading their MySQL server, and the new one will handle this fine.
Depends on: 68022
Assignee | ||
Comment 9•23 years ago
|
||
[midaired with dave] Can we just up the mysql requirements? I suspect that the pgsql code would get a lot nicer if we could use some of the ansi features. dkl - is that true? Or we could just get the group patch in, but has anyone checked that we actually still run with our current requirement of 3.22.5 ? ~ wasn't something I'd have thought to check, since its a fairly basic operation to support if you claim to support bitsets. Even if I had checked, its mentioned in the docs. mysql 3.22.5 was released in August 1998. Thats over three years ago, which is a Long Time on the net. /me goes to comment on bug 87958
Comment 10•23 years ago
|
||
>Can we just up the mysql requirements? I suspect that the pgsql code would get
>a lot nicer if we could use some of the ansi features. dkl - is that true?
I am not sure when support for the ~ operator was brought into PostgreSQL but
it is fine for the releases I am supporting for the PostgreSQL port (7.1.x).
Granted I still have to add in the int8() wrappers to make it work properly. The
new group scheme should work for any database.
Upping the Mysql requirements for 2.16 in case the group changes do not make it
in would solve the problem in the short term.
Comment 11•23 years ago
|
||
Can we temporarily achieve ~ with subtraction? ie for 32 bit numbers, not is really (2 ^ 32) - X.
Comment 12•23 years ago
|
||
We're running mysql 3.22.32 on a production machine that can't really be upgraded right now (maybe over the semester break, but maybe not til next summer). I've currently made a workaround by doing the work in perl before sending the query, but that's not very elegant, and I don't want to keep doing it as more ~s creep into the code. :)
Assignee | ||
Comment 13•23 years ago
|
||
See bug 87958. I can fix this case, I guess - using subtraction will work. But there are features from 3.23 that we really want to use. For example, temporary tables will be a faster way of doing some things, but they aren't available in 3.22. Theres also the lack of testing.
Assignee | ||
Comment 14•23 years ago
|
||
This also reverts the temporary checksetup.pl change I added. How does the use vars line I added work?
Attachment #55982 -
Attachment is obsolete: true
Assignee | ||
Updated•23 years ago
|
Status: REOPENED → ASSIGNED
Comment 15•23 years ago
|
||
Thanks for the checksetup patch to re-allow mysql 3.22. There's one problem, though, but I'm not sure if it's in your patch or if it's already in cvs: Making a restricted bug public by unchecking all groups' checkboxes doesn't seem to work.
Comment 16•23 years ago
|
||
Actually, I managed to make my test bug public again, but I had to do this in two steps. I had three groups: bit-512 (A) bit-256 (B) bit-128 (C) Going from [A][B] to none failed, but going from [A][B] to [C] or to [B][C] worked, and going from [C] to none worked, too. Strange...
Assignee | ||
Comment 17•23 years ago
|
||
Oops. Try this, instead
Attachment #57691 -
Attachment is obsolete: true
Comment 18•23 years ago
|
||
Better :-) Seems to work now. Thanks.
Comment 19•23 years ago
|
||
Comment on attachment 57701 [details] [diff] [review] add correct bracketing, too Tested on 3.23 and 3.22 and it works great :) r=jake
Attachment #57701 -
Flags: review+
Assignee | ||
Comment 20•23 years ago
|
||
Fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago → 23 years ago
Resolution: --- → FIXED
Comment 21•22 years ago
|
||
This patch is a combination of the two patches reviewed above, so for the 2.14.1 branch, it turned into an entirely different patch. Even though both patches applied cleanly to the branch (when done in order, D'oh!), I'll wait for r=/r2= before checking this in; I'm pretty confident I got it right, but I want someone else to make sure I did.
Assignee | ||
Comment 22•22 years ago
|
||
Comment on attachment 85131 [details] [diff] [review] Backported patch for the 2_14_1-BRANCH This looks fine to me - its what I had before, at least.
Attachment #85131 -
Flags: review+
Comment 23•22 years ago
|
||
Comment on attachment 85131 [details] [diff] [review] Backported patch for the 2_14_1-BRANCH Works correctly in testing.
Attachment #85131 -
Flags: review+
Comment 24•22 years ago
|
||
Backported patch checked in: Checking in process_bug.cgi; /cvsroot/mozilla/webtools/bugzilla/process_bug.cgi,v <-- process_bug.cgi new revision: 1.96.2.2; previous revision: 1.96.2.1 done
Assignee | ||
Comment 25•22 years ago
|
||
*** Bug 174041 has been marked as a duplicate of this bug. ***
Updated•12 years ago
|
QA Contact: matty_is_a_geek → default-qa
You need to log in
before you can comment on or make changes to this bug.
Description
•