Author: turnstep
Date: Fri Mar 16 06:51:49 2007
New Revision: 9263

Modified:
   DBD-Pg/trunk/Pg.pm

Log:
Quick anti-taint workaround to satisfy RT #24223


Modified: DBD-Pg/trunk/Pg.pm
==============================================================================
--- DBD-Pg/trunk/Pg.pm  (original)
+++ DBD-Pg/trunk/Pg.pm  Fri Mar 16 06:51:49 2007
@@ -268,11 +268,13 @@
                                return $dbh->set_err(1, $message);
                        }
                        my $oid = $sth->fetchall_arrayref()->[0][0];
+                       $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, 
substring(d.adsrc for 128) AS def\n".
                                "FROM ${DBD::Pg::dr::CATALOG}pg_index i, 
${DBD::Pg::dr::CATALOG}pg_attribute a, ${DBD::Pg::dr::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.attrelid = $oid AND i.indisunique IS 
TRUE\n".
                                "  AND a.atthasdef IS TRUE AND 
i.indkey[0]=a.attnum\n".
                                " AND d.adsrc ~ '^nextval'";
                        $sth = $dbh->prepare($SQL);

Reply via email to