Committed by Greg Sabino Mullane <[email protected]>
Subject: [DBD::Pg 3/4] In tests, make sure we drop the fully-qualified
versions of the operators we created
---
t/dbdpg_test_setup.pl | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/t/dbdpg_test_setup.pl b/t/dbdpg_test_setup.pl
index 2846dc0..6277df0 100644
--- a/t/dbdpg_test_setup.pl
+++ b/t/dbdpg_test_setup.pl
@@ -821,10 +821,12 @@ sub operator_exists {
my ($dbh,$opname,$leftarg,$rightarg) = @_;
- my $SQL = 'SELECT 1 FROM pg_catalog.pg_operator '.
- 'WHERE oprname=? AND oprleft::regtype::text = ? AND
oprright::regtype::text = ?';
+ my $schema = 'dbd_pg_testschema';
+ my $SQL = 'SELECT 1 FROM pg_operator o, pg_namespace n '.
+ 'WHERE oprname=? AND oprleft::regtype::text = ? AND
oprright::regtype::text = ?'.
+ ' AND o.oprnamespace = n.oid AND n.nspname = ?';
my $sth = $dbh->prepare_cached($SQL);
- my $count = $sth->execute($opname,$leftarg,$rightarg);
+ my $count = $sth->execute($opname,$leftarg,$rightarg,$schema);
$sth->finish();
return $count < 1 ? 0 : 1;
@@ -853,7 +855,7 @@ sub cleanup_database {
for my $name (@operators) {
my ($opname,$leftarg,$rightarg) = split /\./ => $name;
next if ! operator_exists($dbh,$opname,$leftarg,$rightarg);
- $dbh->do("DROP OPERATOR $opname($leftarg,$rightarg)");
+ $dbh->do("DROP OPERATOR
dbd_pg_testschema.$opname($leftarg,$rightarg)");
}
for my $name (@tables) {
--
1.8.4