Committed by Greg Sabino Mullane <[email protected]>

Quick tests per suggestions in ticket 79035

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

diff --git a/t/04misc.t b/t/04misc.t
index 9aff88a..9c0cedc 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 => 56;
+plan tests => 57;
 
 isnt ($dbh, undef, 'Connect to database for miscellaneous tests');
 
@@ -357,5 +357,23 @@ $sth->execute();
 eval { $dbh->begin_work(); };
 is ($@, q{}, $t);
 
+## Check for problems in pg_st_split_statement by having it parse long strings
+my $problem;
+diag "Checking pg_st_split_statement. This may take a while...";
+for my $length (0..16384) {
+    my $sql = sprintf 'SELECT %*d', $length + 3, $length;
+    my $cur_len = $dbh->selectrow_array($sql);
+       next if $cur_len == $length;
+       $problem = "length $length gave us a select of $cur_len";
+       last;
+}
+
+if (defined $problem) {
+       fail "pg_st_split_statment failed: $problem";
+}
+else {
+       pass "pg_st_split_statement gave no problems with various lengths";
+}
+
 cleanup_database($dbh,'test');
 $dbh->disconnect();
-- 
1.7.1

Reply via email to