Author: turnstep
Date: Thu Mar 26 08:29:48 2009
New Revision: 12634
Modified:
DBD-Pg/trunk/Changes
DBD-Pg/trunk/Pg.pm
Log:
Have column_info use a better expression.
Modified: DBD-Pg/trunk/Changes
==============================================================================
--- DBD-Pg/trunk/Changes (original)
+++ DBD-Pg/trunk/Changes Thu Mar 26 08:29:48 2009
@@ -11,6 +11,7 @@
- Fix a memory leak when parsing returned arrays. Reported by Bálint
Szilakszi.
[GSM] (CPAN bug #44225)
- Do proper dequoting of boolean arrays [Armando Santos, GSM] (CPAN bug
#43768)
+ - Use pg_get_expr in column_info when available [Adam Sjøgren]
- Fix minor bugs in POD docs. [Frank Wiegand] (CPAN bug #44242)
- Fix minor bug in POD docs. [Tim Mattison]
Modified: DBD-Pg/trunk/Pg.pm
==============================================================================
--- DBD-Pg/trunk/Pg.pm (original)
+++ DBD-Pg/trunk/Pg.pm Thu Mar 26 08:29:48 2009
@@ -433,6 +433,10 @@
my $remarks = 'pg_catalog.col_description(a.attrelid,
a.attnum)';
+ my $column_def = $dbh->{private_dbdpg}{version} >= 80000
+ ? 'pg_catalog.pg_get_expr(af.adbin, af.adrelid)'
+ : 'af.adsrc';
+
my $col_info_sql = qq!
SELECT
NULL::text AS "TABLE_CAT"
@@ -447,7 +451,7 @@
, NULL::text AS "NUM_PREC_RADIX"
, CASE a.attnotnull WHEN 't' THEN 0 ELSE 1 END
AS "NULLABLE"
, $remarks AS "REMARKS"
- , af.adsrc AS "COLUMN_DEF"
+ , $column_def AS "COLUMN_DEF"
, NULL::text AS "SQL_DATA_TYPE"
, NULL::text AS "SQL_DATETIME_SUB"
, NULL::text AS "CHAR_OCTET_LENGTH"