You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.5 KiB
38 lines
1.5 KiB
4 years ago
|
From 88d2f8f1fc95bcd16e95d3fc667783fb7a9ab05b Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Dagfinn=20Ilmari=20Manns=C3=A5ker?= <ilmari@ilmari.org>
|
||
|
Date: Fri, 11 Jan 2019 23:47:29 +0000
|
||
|
Subject: [PATCH] Remove usage of deprecated pg_attrdef.adsrc column
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
It doesn't track outside change that might affect the representation,
|
||
|
and will be removed in PostgreSQL 12.
|
||
|
|
||
|
Petr Písař: Ported to 3.7.4 from 88d2f8f1fc95bcd16e95d3fc667783fb7a9ab05b.
|
||
|
---
|
||
|
Pg.pm | 4 ++--
|
||
|
|
||
|
diff --git a/Pg.pm b/Pg.pm
|
||
|
index 2b46800..0ffe083 100644
|
||
|
--- a/Pg.pm
|
||
|
+++ b/Pg.pm
|
||
|
@@ -349,12 +349,12 @@ use 5.008001;
|
||
|
$oid =~ /(\d+)/ or die qq{OID was not numeric?!?\n};
|
||
|
$oid = $1;
|
||
|
## This table has a primary key. Is there a sequence associated with it via a unique, indexed column?
|
||
|
- $SQL = "SELECT a.attname, i.indisprimary, pg_catalog.pg_get_expr(adbin,adrelid)\n".
|
||
|
+ $SQL = "SELECT a.attname, i.indisprimary, pg_catalog.pg_get_expr(d.adbin, d.adrelid)\n".
|
||
|
"FROM pg_catalog.pg_index i, pg_catalog.pg_attribute a, pg_catalog.pg_attrdef d\n ".
|
||
|
"WHERE i.indrelid = $oid AND d.adrelid=a.attrelid AND d.adnum=a.attnum\n".
|
||
|
" AND a.attrelid = $oid AND i.indisunique IS TRUE\n".
|
||
|
" AND a.atthasdef IS TRUE AND i.indkey[0]=a.attnum\n".
|
||
|
- q{ AND d.adsrc ~ '^nextval'};
|
||
|
+ " AND pg_catalog.pg_get_expr(d.adbin, d.adrelid) ~ '^nextval'";
|
||
|
$sth = $dbh->prepare($SQL);
|
||
|
$count = $sth->execute();
|
||
|
if (!defined $count or $count eq '0E0') {
|
||
|
--
|
||
|
2.21.0
|
||
|
|