[interchange-cvs] interchange - heins modified lib/Vend/Table/DBI.pm
interchange-cvs at icdevgroup.org
interchange-cvs at icdevgroup.org
Wed Aug 16 09:26:51 EDT 2006
User: heins
Date: 2006-08-16 13:26:51 GMT
Modified: lib/Vend/Table DBI.pm
Log:
* Give control over the query used for list_fields() routine.
Revision Changes Path
2.72 +7 -3 interchange/lib/Vend/Table/DBI.pm
rev 2.72, prev_rev 2.71
Index: DBI.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Table/DBI.pm,v
retrieving revision 2.71
retrieving revision 2.72
diff -u -r2.71 -r2.72
--- DBI.pm 23 Jun 2006 08:43:57 -0000 2.71
+++ DBI.pm 16 Aug 2006 13:26:50 -0000 2.72
@@ -1,6 +1,6 @@
# Vend::Table::DBI - Access a table stored in an DBI/DBD database
#
-# $Id: DBI.pm,v 2.71 2006/06/23 08:43:57 racke Exp $
+# $Id: DBI.pm,v 2.72 2006/08/16 13:26:50 mheins Exp $
#
# Copyright (C) 2002-2006 Interchange Development Group
# Copyright (C) 1996-2002 Red Hat, Inc.
@@ -21,7 +21,7 @@
# MA 02111-1307 USA.
package Vend::Table::DBI;
-$VERSION = substr(q$Revision: 2.71 $, 10);
+$VERSION = substr(q$Revision: 2.72 $, 10);
use strict;
no warnings qw(uninitialized numeric);
@@ -176,6 +176,9 @@
Pg => 'CREATE _UNIQUE_ INDEX $TABLE$_$COLUMN$ ON _TABLE_ (_COLUMN_)',
default => 'CREATE _UNIQUE_ INDEX $TABLE$_$COLUMN$ ON _TABLE_ (_COLUMN_)',
},
+ LIST_FIELDS_QUERY => {
+ mysql => 'SELECT * FROM `_TABLE_` WHERE 2 = 1',
+ },
SEQUENCE_CREATE => {
Oracle => "CREATE SEQUENCE _SEQUENCE_NAME_",
Pg => "CREATE SEQUENCE _SEQUENCE_NAME_",
@@ -1743,7 +1746,8 @@
my($db, $name, $config) = @_;
my @fld;
- my $q = "SELECT * FROM $name WHERE 2 = 1";
+ my $q = $config->{LIST_FIELDS_QUERY} || "SELECT * FROM _TABLE_ WHERE 2 = 1";
+ $q =~ s/\b_TABLE_\b/$name/g;
my $sth = $db->prepare($q)
or die ::errmsg("%s prepare on %s: %s", 'list_fields', $name, $DBI::errstr);
More information about the interchange-cvs
mailing list