Commit b6ad4942 authored by olav%bkor.dhs.org's avatar olav%bkor.dhs.org

Bug 394627: bzdbcopy.pl should remove column quoting

Patch By Olav Vitters <olav@bkor.dhs.org> r=mkanat, a=mkanat
parent d65cf5cc
......@@ -53,6 +53,7 @@ print "Connecting to the '" . TARGET_DB_NAME . "' target database on "
. TARGET_DB_TYPE . "...\n";
my $target_db = Bugzilla::DB::_connect(TARGET_DB_TYPE, 'localhost',
TARGET_DB_NAME, undef, undef, TARGET_DB_USER, TARGET_DB_PASSWORD);
my $ident_char = $target_db->get_info( 29 ); # SQL_IDENTIFIER_QUOTE_CHAR
# We use the table list from the target DB, because if somebody
# has customized their source DB, we still want the script to work,
......@@ -74,6 +75,11 @@ foreach my $table (@table_list) {
print "Reading data from the source '$table' table on "
. SOURCE_DB_TYPE . "...\n";
my @table_columns = $target_db->bz_table_columns_real($table);
# The column names could be quoted using the quote identifier char
# Remove these chars as different databases use different quote chars
@table_columns = map { s/^\Q$ident_char\E?(.*?)\Q$ident_char\E?$/$1/; $_ }
@table_columns;
my $select_query = "SELECT " . join(',', @table_columns) . " FROM $table";
my $data_in = $source_db->selectall_arrayref($select_query);
......
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