From e8ad9bbc2c28837dd00c385706bfd1e7301117c0 Mon Sep 17 00:00:00 2001 From: "Jonathan C. Otsuka" Date: Tue, 29 Oct 2013 19:29:55 -0500 Subject: [PATCH] Adding [] around table_name fixes the issue with tables using reserve words as their name. --- lib/SQL/Translator/Parser/DBI/SQLServer.pm | 6 +++--- lib/SQL/Translator/Parser/DBI/Sybase.pm | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/SQL/Translator/Parser/DBI/SQLServer.pm b/lib/SQL/Translator/Parser/DBI/SQLServer.pm index 729b7ffac..072def801 100644 --- a/lib/SQL/Translator/Parser/DBI/SQLServer.pm +++ b/lib/SQL/Translator/Parser/DBI/SQLServer.pm @@ -212,7 +212,7 @@ $table_info->{TABLE_TYPE}, # add in primary key my $h = $dbh->selectall_hashref("sp_pkeys -$table_info->{TABLE_NAME}", 'COLUMN_NAME'); +[$table_info->{TABLE_NAME}]", 'COLUMN_NAME'); if (scalar keys %{$h} >= 1) { my @c = map { $_->{COLUMN_NAME} @@ -226,7 +226,7 @@ $table_info->{TABLE_NAME}", 'COLUMN_NAME'); # add in foreign keys $h = $dbh->selectall_hashref("sp_fkeys NULL, -\@fktable_name = '$table_info->{TABLE_NAME}'", 'FK_NAME'); +\@fktable_name = '[$table_info->{TABLE_NAME}]'", 'FK_NAME'); foreach my $fk ( values %{$h} ) { my $constraint = $table->add_constraint( name => $fk->{FK_NAME}, fields => [$fk->{FKCOLUMN_NAME}], @@ -249,7 +249,7 @@ $table_info->{TABLE_NAME}", 'COLUMN_NAME'); if (defined($stuff->{indexes}->{$table_info->{TABLE_NAME}})){ my $h = $dbh->selectall_hashref("sp_helpindex -$table_info->{TABLE_NAME}", 'INDEX_NAME'); +[$table_info->{TABLE_NAME}]", 'INDEX_NAME'); foreach (values %{$h}) { my $fields = $_->{'INDEX_KEYS'}; $fields =~ s/\s*//g; diff --git a/lib/SQL/Translator/Parser/DBI/Sybase.pm b/lib/SQL/Translator/Parser/DBI/Sybase.pm index 708a08054..f3bfe7483 100644 --- a/lib/SQL/Translator/Parser/DBI/Sybase.pm +++ b/lib/SQL/Translator/Parser/DBI/Sybase.pm @@ -212,7 +212,7 @@ $table_info->{TABLE_TYPE}, # add in primary key my $h = $dbh->selectall_hashref("sp_pkeys -$table_info->{TABLE_NAME}", 'COLUMN_NAME'); +[$table_info->{TABLE_NAME}]", 'COLUMN_NAME'); if (scalar keys %{$h} > 1) { my @c = map { $_->{COLUMN_NAME} @@ -230,7 +230,7 @@ $table_info->{TABLE_NAME}", 'COLUMN_NAME'); if (defined($stuff->{indexes}->{$table_info->{TABLE_NAME}})){ my $h = $dbh->selectall_hashref("sp_helpindex -$table_info->{TABLE_NAME}", 'INDEX_NAME'); +[$table_info->{TABLE_NAME}]", 'INDEX_NAME'); foreach (values %{$h}) { my $fields = $_->{'INDEX_KEYS'}; $fields =~ s/\s*//g;