Author: turnstep
Date: Thu Nov 30 18:45:33 2006
New Revision: 8332
Modified:
DBD-Pg/trunk/Changes
DBD-Pg/trunk/Pg.pm
Log:
Fix pg_description join in table_info with patch from Max Cohan.
Modified: DBD-Pg/trunk/Changes
==============================================================================
--- DBD-Pg/trunk/Changes (original)
+++ DBD-Pg/trunk/Changes Thu Nov 30 18:45:33 2006
@@ -2,6 +2,7 @@
1.50
- Switch from cvs to subversion. Switch from gborg to perl.org.
+ - Fix pg_description join in table_info(). [EMAIL PROTECTED]
1.49 May 7, 2006
- Thanks to Backcountry.com for sponsoring work on this release. [GSM]
Modified: DBD-Pg/trunk/Pg.pm
==============================================================================
--- DBD-Pg/trunk/Pg.pm (original)
+++ DBD-Pg/trunk/Pg.pm Thu Nov 30 18:45:33 2006
@@ -937,6 +937,7 @@
my $showschema = "NULL::text";
my $schemajoin = '';
my $has_objsubid = '';
+ my $objid_join = '';
my $tablespacejoin = '';
my $showtablespace = '';
my @search;
@@ -944,10 +945,12 @@
$showschema = "quote_ident(n.nspname)";
$schemajoin = "LEFT JOIN
pg_catalog.pg_namespace n ON (n.oid = c.relnamespace)";
$has_objsubid = "AND d.objsubid = 0";
+ $objid_join = "c.relfilenode = d.objoid";
}
if ($version >= 70500) {
$tablespacejoin = 'LEFT JOIN
pg_catalog.pg_tablespace t ON (t.oid = c.reltablespace)';
$showtablespace = ', quote_ident(t.spcname) AS
"pg_tablespace_name", quote_ident(t.spclocation) AS "pg_tablespace_location"';
+ $objid_join = "c.oid = d.objoid AND c.tableoid
= d.classoid";
}
## If the schema or table has an underscore or a %, use
a LIKE comparison
@@ -984,7 +987,7 @@
, d.description AS "REMARKS"
$showtablespace
FROM ${DBD::Pg::dr::CATALOG}pg_class AS c
LEFT JOIN
${DBD::Pg::dr::CATALOG}pg_description AS d
- ON (c.relfilenode = d.objoid
$has_objsubid)
+ ON ($objid_join $has_objsubid)
$schemajoin $tablespacejoin
WHERE $whereclause
ORDER BY "TABLE_TYPE", "TABLE_CAT",
"TABLE_SCHEM", "TABLE_NAME"