Committed by Greg Sabino Mullane <[email protected]>

Subject: [DBD::Pg 1/2] Test using lots of placeholders.

---
 t/04misc.t |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/t/04misc.t b/t/04misc.t
index 9c0cedc..7f6eadc 100644
--- a/t/04misc.t
+++ b/t/04misc.t
@@ -18,7 +18,7 @@ my $dbh = connect_database();
 if (! $dbh) {
        plan skip_all => 'Connection to database failed, cannot continue 
testing';
 }
-plan tests => 57;
+plan tests => 70;
 
 isnt ($dbh, undef, 'Connect to database for miscellaneous tests');
 
@@ -375,5 +375,18 @@ else {
        pass "pg_st_split_statement gave no problems with various lengths";
 }
 
+## Check for problems with insane number of placeholders
+for my $ph (1..13) {
+       my $total = 2**$ph;
+       $t = "prepare/execute works with $total placeholders";
+       my $sql = 'SELECT count(*) FROM pg_class WHERE relpages IN (' . ('?,' x 
$total);
+       $sql =~ s/.$/\)/;
+       my $sth = $dbh->prepare($sql);
+       my @arr = (1..$total);
+       my $count = $sth->execute(@arr);
+       is $count, 1, $t;
+}
+
+
 cleanup_database($dbh,'test');
 $dbh->disconnect();
-- 
1.7.1

Reply via email to