[Rt-commit] rt branch, articles-upgrade, updated. rt-3.9.7-922-g77209c3
Ruslan Zakirov
ruz at bestpractical.com
Mon Dec 27 19:00:46 EST 2010
The branch, articles-upgrade has been updated
via 77209c3fde59313d6b089ceeb860fdf411fba8bb (commit)
via 37b0b19371ec785cd772b21b1bc72e9c4d79c8df (commit)
via 6134b351eb410c5a36ca7a55c20cd29afbfe3a33 (commit)
from a2693b0112098cbf1d6f53ef67e3c45bbc16f8a6 (commit)
Summary of changes:
etc/upgrade/upgrade-articles.in | 25 ++++++++++++-------------
1 files changed, 12 insertions(+), 13 deletions(-)
- Log -----------------------------------------------------------------
commit 6134b351eb410c5a36ca7a55c20cd29afbfe3a33
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date: Tue Dec 28 02:58:45 2010 +0300
table_info affected by NAME_lc on Oracle
diff --git a/etc/upgrade/upgrade-articles.in b/etc/upgrade/upgrade-articles.in
index 4c55802..5fade0d 100644
--- a/etc/upgrade/upgrade-articles.in
+++ b/etc/upgrade/upgrade-articles.in
@@ -67,7 +67,7 @@ my $dbh = $RT::Handle->dbh;
my $sth = $dbh->table_info( '', undef, undef, "'TABLE'");
my $found_fm_tables;
while ( my $table = $sth->fetchrow_hashref ) {
- my $name = $table->{TABLE_NAME};
+ my $name = $table->{TABLE_NAME} || $table->{'table_name'}; # Oracle's table_info affected by NAME_lc
next unless $name =~ /^fm_/i;
$found_fm_tables->{lc $name}++;
}
commit 37b0b19371ec785cd772b21b1bc72e9c4d79c8df
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date: Tue Dec 28 02:59:33 2010 +0300
use Field from RT::Handle instead of column_info
diff --git a/etc/upgrade/upgrade-articles.in b/etc/upgrade/upgrade-articles.in
index 5fade0d..e77751f 100644
--- a/etc/upgrade/upgrade-articles.in
+++ b/etc/upgrade/upgrade-articles.in
@@ -86,10 +86,8 @@ unless ( $found_fm_tables->{fm_topics} && $found_fm_tables->{fm_objecttopics} )
{ # port over Classes
- $sth = $dbh->column_info( undef, RT->Config->Get('DatabaseName'), 'FM_Classes','HotList');
- my $result = $sth->fetchall_arrayref;
my @columns = qw(id Name Description SortOrder Disabled Creator Created LastUpdatedBy LastUpdated);
- if (@$result) {
+ if ( grep lc($_) eq 'hotlist', $RT::Handle->Fields('FM_Classes') ) {
push @columns, 'HotList';
}
copy_tables('FM_Classes','Classes',\@columns);
commit 77209c3fde59313d6b089ceeb860fdf411fba8bb
Author: Ruslan Zakirov <ruz at bestpractical.com>
Date: Tue Dec 28 03:00:14 2010 +0300
support insert from select on Oracle and SQLite
diff --git a/etc/upgrade/upgrade-articles.in b/etc/upgrade/upgrade-articles.in
index e77751f..d7c2853 100644
--- a/etc/upgrade/upgrade-articles.in
+++ b/etc/upgrade/upgrade-articles.in
@@ -106,16 +106,17 @@ unless ( $found_fm_tables->{fm_topics} && $found_fm_tables->{fm_objecttopics} )
sub copy_tables {
my ($source, $dest, $columns) = @_;
my $column_list = join(', ',@$columns);
- if ( $db_type eq 'mysql' ) {
- my $sql = "insert into $dest ($column_list) select $column_list from $source";
- $RT::Logger->debug($sql);
- $dbh->do($sql);
- } elsif ( $db_type eq 'Pg' ) {
- my $sql = "insert into $dest ($column_list) (select $column_list from $source)";
- $RT::Logger->debug($sql);
- $dbh->do($sql);
+ my $sql;
+ # SQLite: http://www.sqlite.org/lang_insert.html
+ if ( $db_type eq 'mysql' || $db_type eq 'SQLite' ) {
+ $sql = "insert into $dest ($column_list) select $column_list from $source";
}
- # oracle/sqlite, sigh
+ # Oracle: http://www.adp-gmbh.ch/ora/sql/insert/select_and_subquery.html
+ elsif ( $db_type eq 'Pg' || $db_type eq 'Oracle' ) {
+ $sql = "insert into $dest ($column_list) (select $column_list from $source)";
+ }
+ $RT::Logger->debug($sql);
+ $dbh->do($sql);
}
{ # create ObjectClasses
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list