diff options
-rw-r--r-- | Bugzilla/DB.pm | 7 | ||||
-rw-r--r-- | globals.pl | 25 |
2 files changed, 10 insertions, 22 deletions
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index cf1e391f5..6e0903a76 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -456,6 +456,13 @@ sub bz_get_index_def ($$) { } } +# XXX - Should be updated to use _bz_real_schema when we have that, +# if we ever need it. +sub bz_table_columns { + my ($self, $table) = @_; + return $self->_bz_schema->get_table_columns($table); +} + # XXX - Needs to be made cross-db compatible sub bz_table_exists ($) { my ($self, $table) = @_; diff --git a/globals.pl b/globals.pl index 53119c034..13542dcac 100644 --- a/globals.pl +++ b/globals.pl @@ -148,6 +148,8 @@ sub GetFieldID { # XXXX - this needs to go away sub GenerateVersionTable { + my $dbh = Bugzilla->dbh; + SendSQL("SELECT versions.value, products.name " . "FROM versions, products " . "WHERE products.id = versions.product_id " . @@ -217,9 +219,8 @@ sub GenerateVersionTable { $::prodmaxvotes{$p} = $votesperuser; } - my $cols = LearnAboutColumns("bugs"); + @::log_columns = $dbh->bz_table_columns('bugs'); - @::log_columns = @{$cols->{"-list-"}}; foreach my $i ("bug_id", "creation_ts", "delta_ts", "lastdiffed") { my $w = lsearch(\@::log_columns, $i); if ($w >= 0) { @@ -982,26 +983,6 @@ sub GetLongDescriptionAsText { return ($result, $anyprivate); } -# Fills in a hashtable with info about the columns for the given table in the -# database. The hashtable has the following entries: -# -list- the list of column names -# <name>,type the type for the given name - -sub LearnAboutColumns { - my ($table) = (@_); - my %a; - SendSQL("show columns from $table"); - my @list = (); - my @row; - while (@row = FetchSQLData()) { - my ($name,$type) = (@row); - $a{"$name,type"} = $type; - push @list, $name; - } - $a{"-list-"} = \@list; - return \%a; -} - # Returns a list of all the legal values for a field that has a # list of legal values, like rep_platform or resolution. sub get_legal_field_values { |