diff options
author | lpsolit%gmail.com <> | 2006-08-08 07:13:59 +0200 |
---|---|---|
committer | lpsolit%gmail.com <> | 2006-08-08 07:13:59 +0200 |
commit | 5c377e30d41de59b2c00beaea45710445e70f2c9 (patch) | |
tree | 643b3ebcbbb7fe45f0ce675cdfb7b930fdd3746f | |
parent | 7826a3a493f9d4b36cbbb177b2ab3d244624e6b2 (diff) | |
download | bugzilla-5c377e30d41de59b2c00beaea45710445e70f2c9.tar.gz bugzilla-5c377e30d41de59b2c00beaea45710445e70f2c9.tar.xz |
Bug 347521: flagtypes.id should be an auto-increment field - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=myk
-rw-r--r-- | Bugzilla/DB/Schema.pm | 2 | ||||
-rw-r--r-- | Bugzilla/Install/DB.pm | 4 | ||||
-rwxr-xr-x | editflagtypes.cgi | 12 |
3 files changed, 11 insertions, 7 deletions
diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index 5e5b23bab..e997e4187 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -397,7 +397,7 @@ use constant ABSTRACT_SCHEMA => { # "flagtypes" defines the types of flags that can be set. flagtypes => { FIELDS => [ - id => {TYPE => 'INT2', NOTNULL => 1, + id => {TYPE => 'SMALLSERIAL', NOTNULL => 1, PRIMARYKEY => 1}, name => {TYPE => 'varchar(50)', NOTNULL => 1}, description => {TYPE => 'TEXT'}, diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index 5fe84a4f4..dfe7f957a 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -464,6 +464,10 @@ sub update_table_definitions { $dbh->bz_drop_column('profiles', 'refreshed_when'); $dbh->bz_drop_column('groups', 'last_changed'); + # 2006-08-06 LpSolit@gmail.com - Bug 347521 + $dbh->bz_alter_column('flagtypes', 'id', + {TYPE => 'SMALLSERIAL', NOTNULL => 1, PRIMARYKEY => 1}); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ diff --git a/editflagtypes.cgi b/editflagtypes.cgi index 3c71d5bdb..622cfcb05 100755 --- a/editflagtypes.cgi +++ b/editflagtypes.cgi @@ -306,22 +306,22 @@ sub insert { 'components READ', 'flaginclusions WRITE', 'flagexclusions WRITE'); - # Determine the new flag type's unique identifier. - my $id = $dbh->selectrow_array('SELECT MAX(id) FROM flagtypes') + 1; - # Insert a record for the new flag type into the database. $dbh->do('INSERT INTO flagtypes - (id, name, description, cc_list, target_type, + (name, description, cc_list, target_type, sortkey, is_active, is_requestable, is_requesteeble, is_multiplicable, grant_group_id, request_group_id) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', - undef, ($id, $name, $description, $cc_list, $target_type, + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', + undef, ($name, $description, $cc_list, $target_type, $cgi->param('sortkey'), $cgi->param('is_active'), $cgi->param('is_requestable'), $cgi->param('is_requesteeble'), $cgi->param('is_multiplicable'), scalar($cgi->param('grant_gid')), scalar($cgi->param('request_gid')))); + # Get the ID of the new flag type. + my $id = $dbh->bz_last_key('flagtypes', 'id'); + # Populate the list of inclusions/exclusions for this flag type. validateAndSubmit($id); |