From: Geoffrey T. D. <da...@us...> - 2004-12-22 01:24:49
|
Update of /cvsroot/discnw/discnw/src/perl/modules/DiscNW In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12391/src/perl/modules/DiscNW Modified Files: Database.pm Log Message: More work on support for table prefixes. I think this is working now in my code. Index: Database.pm =================================================================== RCS file: /cvsroot/discnw/discnw/src/perl/modules/DiscNW/Database.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Database.pm 18 Dec 2004 00:59:34 -0000 1.8 +++ Database.pm 22 Dec 2004 01:24:40 -0000 1.9 @@ -5,10 +5,13 @@ use DiscNW::Error qw(:try); use DiscNW::Database::MapTable; use DiscNW::Config qw($DATABASE_DSN $DATABASE_USER $DATABASE_PASSWORD); +use DiscNW::Database::Util; use base qw(Exporter); -our @EXPORT = qw(get_database); -our @EXPORT_OK = qw(dbh); +BEGIN { + our @EXPORT = qw(get_database); + our @EXPORT_OK = qw(dbh); +} my %_db_cache; @@ -65,6 +68,12 @@ return @_ ? map("${prefix}$_", @_) : $prefix; } + +sub hackTablePrefixes { + my $self = shift; + return DiscNW::Util::hack_table_prefixes($self->prefix, @_); +} + sub getMapTable { my $self = shift; my ($map_column) = @_; @@ -128,3 +137,10 @@ # is set to 'test_'.) +The method C<hackTablePrefixes> (or the subroutine +subroutine C<DiscNW::Database::Util::hack_table_prefixes>) may also be useful. +It looks for dotted column names (like "TableFoo.column_bar") +in any arguments fed to it, and prefixes the table names +with the table prefix. + + |