summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2005-05-04 03:23:37 +0200
committerlpsolit%gmail.com <>2005-05-04 03:23:37 +0200
commit1da5153872ffbe188daa476791f1a18384167b34 (patch)
tree9a489706f4b78f40ce6574512350fdb2353ef4ea
parent0041d80aab9c3285d5245e39f3a75d1cdaa4edc4 (diff)
downloadbugzilla-1da5153872ffbe188daa476791f1a18384167b34.tar.gz
bugzilla-1da5153872ffbe188daa476791f1a18384167b34.tar.xz
Bug 7233: Editversions.cgi has a potential race resulting in duplicate versions - Patch by Frédéric Buclin <LpSolit@gmail.com> r=mkanat a=justdave
-rw-r--r--Bugzilla/DB/Schema.pm6
-rwxr-xr-xchecksetup.pl7
2 files changed, 12 insertions, 1 deletions
diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm
index 1b905ac01..8682f1721 100644
--- a/Bugzilla/DB/Schema.pm
+++ b/Bugzilla/DB/Schema.pm
@@ -455,9 +455,13 @@ use constant ABSTRACT_SCHEMA => {
versions => {
FIELDS => [
- value => {TYPE => 'TINYTEXT'},
+ value => {TYPE => 'varchar(64)', NOTNULL => 1},
product_id => {TYPE => 'INT2', NOTNULL => 1},
],
+ INDEXES => [
+ versions_product_id_idx => {FIELDS => [qw(product_id value)],
+ TYPE => 'UNIQUE'},
+ ],
},
milestones => {
diff --git a/checksetup.pl b/checksetup.pl
index 565fa1e70..ef3d80735 100755
--- a/checksetup.pl
+++ b/checksetup.pl
@@ -3937,6 +3937,13 @@ $dbh->bz_add_index('flags', 'flags_type_id_idx', [qw(type_id)]);
# For a short time, the flags_type_id_idx was misnamed in upgraded installs.
$dbh->bz_drop_index('flags', 'type_id');
+# 2005-04-28 - LpSolit@gmail.com - Bug 7233: add an index to versions
+$dbh->bz_alter_column('versions', 'value',
+ {TYPE => 'varchar(64)', NOTNULL => 1});
+$dbh->bz_add_index('versions', 'versions_product_id_idx',
+ {TYPE => 'UNIQUE', FIELDS => [qw(product_id value)]});
+
+
# If you had to change the --TABLE-- definition in any way, then add your
# differential change code *** A B O V E *** this comment.