Commit b5e1b3f1 authored by mkanat%kerio.com's avatar mkanat%kerio.com

Bug 285403: LearnAboutColumns does not work on PostgreSQL

Patch By Max Kanat-Alexander <mkanat@kerio.com> r=Tomas.Kopal, a=justdave
parent 190493a5
......@@ -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) = @_;
......
......@@ -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 {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment