pg_attrdef.adsrc no longer on Pg12+
John Napiorkowski [Sun, 12 Apr 2020 11:52:59 +0000 (06:52 -0500)]
pg_get_expr() is available back to Pg7.4 at least

Changes
lib/SQL/Translator/Parser/DBI/PostgreSQL.pm

diff --git a/Changes b/Changes
index 766379e..4ff5f7c 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,7 @@
 Changes for SQL::Translator
 
+ * Update Pg support to allow version 12 (still supporting back to 7.4)
+
 1.61 - 2020-04-19
  * Fixes for Sybase producer
  * Support CHECK (expr) for SQLite and MySQLoids
index b08be12..54949cd 100644 (file)
@@ -38,7 +38,7 @@ sub parse {
 
     my $column_select = $dbh->prepare(
       "SELECT a.attname, format_type(t.oid, a.atttypmod) as typname, a.attnum,
-              a.atttypmod as length, a.attnotnull, a.atthasdef, ad.adsrc,
+              a.atttypmod as length, a.attnotnull, a.atthasdef, pg_get_expr(ad.adbin, ad.adrelid) as adsrc,
               d.description
        FROM pg_type t, pg_attribute a
        LEFT JOIN pg_attrdef ad ON (ad.adrelid = a.attrelid AND a.attnum = ad.adnum)