[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