-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160
> I agree that Class::DBI may be involved. However, the module Class::DBI
> specifically is not installed.
There is no doubt that Class::DBI is intimately involved here. The error
is coming from:
/usr/lib/perl5/site_perl/5.8.8/Class/DBI/Loader/Generic.pm
> In this file, the following method is called:
> (In this method the value of $table is '"access"'; and I do mean '(double
> quote)access(double quote)' (without the single quotes of course). The
> double quoting of the table name is where the problem stems from.)
> ---- Begin Method ----
> sub set_up_table {
> my ( $class, $table, $opts ) = @_;
...
> SELECT a.attname, a.attnum
> FROM ${catalog}pg_class c, ${catalog}pg_attribute a
> WHERE c.relname = ?
Yep, that's the problem. Looks like DBI::Class is mixing and matching
relation names. If they want to use the tablenames "raw" for use in
system catalogs, they should probably be getting the table names
themselves: I suspect they are getting them through DBI/DBD::Pg, which is
properly quoting them. The quotes are for people doing things like
$SQL = "UPDATE $table SET foo=12 WHERE foo=24";
The only time the quotes will mess things up is when people do things like
try to put those values directly into pg_class.
Alternatively, there are aready DBI methods to get the primary key
for a table: see primary_key_info. This looks like a Class::DBI bug:
they need to either get all the information themselves via the system
catalogs, or rely on DBI (via DBD::Pg) to get it for them. The mixing
and matching is causing the problems.
I'm not very familiar with Class::DBI, but I'd definitely check there
first, and see if this has been reported on a mailing list or a bug
report, or raise the issue on one or both yourself.
- --
Greg Sabino Mullane [EMAIL PROTECTED]
End Point Corporation
PGP Key: 0x14964AC8 200707311122
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----
iD8DBQFGr1PKvJuQZxSWSsgRAx0nAJ4h/OlaYMtXOF/G4Ys8lizHoNoR/gCbBj7R
px/gMXv6obk8Bgwph46+RfQ=
=meqs
-----END PGP SIGNATURE-----