diff options
author | justdave%bugzilla.org <> | 2007-04-15 06:35:56 +0000 |
---|---|---|
committer | justdave%bugzilla.org <> | 2007-04-15 06:35:56 +0000 |
commit | 8da7f321aabe95470944bc23aeed9a06ef6793a5 (patch) | |
tree | b16ca05abfae22dffd3ca8f0c868cc799273f2e7 /Bugzilla/DB/Schema | |
parent | b3630da125fa112e04f6e6a15328f64e13a874c5 (diff) | |
download | bugs-8da7f321aabe95470944bc23aeed9a06ef6793a5.tar bugs-8da7f321aabe95470944bc23aeed9a06ef6793a5.tar.gz bugs-8da7f321aabe95470944bc23aeed9a06ef6793a5.tar.bz2 bugs-8da7f321aabe95470944bc23aeed9a06ef6793a5.tar.xz bugs-8da7f321aabe95470944bc23aeed9a06ef6793a5.zip |
Bug 373869: Custom field names must be all lowercase or buglist.cgi sorting throws an error
Patch by mkanat and justdave
r=LpSolit,mkanat; a=mkanat
Diffstat (limited to 'Bugzilla/DB/Schema')
-rw-r--r-- | Bugzilla/DB/Schema/Pg.pm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Bugzilla/DB/Schema/Pg.pm b/Bugzilla/DB/Schema/Pg.pm index 0101a1e43..7a951e2db 100644 --- a/Bugzilla/DB/Schema/Pg.pm +++ b/Bugzilla/DB/Schema/Pg.pm @@ -92,6 +92,11 @@ sub _initialize { sub get_rename_column_ddl { my ($self, $table, $old_name, $new_name) = @_; + if (lc($old_name) eq lc($new_name)) { + # if the only change is a case change, return an empty list, since Pg + # is case-insensitive and will return an error about a duplicate name + return (); + } my @sql = ("ALTER TABLE $table RENAME COLUMN $old_name TO $new_name"); my $def = $self->get_column_abstract($table, $old_name); if ($def->{TYPE} =~ /SERIAL/i) { @@ -104,6 +109,16 @@ sub get_rename_column_ddl { return @sql; } +sub get_rename_table_sql { + my ($self, $old_name, $new_name) = @_; + if (lc($old_name) eq lc($new_name)) { + # if the only change is a case change, return an empty list, since Pg + # is case-insensitive and will return an error about a duplicate name + return (); + } + return ("ALTER TABLE $old_name RENAME TO $new_name"); +} + sub _get_alter_type_sql { my ($self, $table, $column, $new_def, $old_def) = @_; my @statements; |