diff DBD/t/15many.t @ 26:a0b0ed79f8ab

Move tests for Bugs 2885, 2889, 2897 and 3235 from main repo to here
author Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
date Tue, 15 Dec 2020 15:05:24 +0100 (2020-12-15)
parents
children 536255410444
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/DBD/t/15many.t
@@ -0,0 +1,50 @@
+#!perl -I./t
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0.  If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V.
+
+$| = 1;
+
+use strict;
+use warnings;
+use DBI();
+use DBD_TEST();
+
+use Test::More;
+
+if (defined $ENV{DBI_DSN}) {
+  plan tests => 4;
+} else {
+  plan skip_all => 'Cannot test without DB info';
+}
+
+my $dbh = DBI->connect or die "Connect failed: $DBI::errstr\n";
+pass('Database connection created');
+
+# fetch 1000 of the 5000 rows, see Bug 2889
+my $query = qq{
+	SELECT * FROM sys.generate_series(0,5000);
+};
+my $sth = $dbh->prepare($query);
+$sth->execute;
+my $r = $sth->fetchall_arrayref(undef, 1000);
+my $count = scalar(@{$r}); # don't say perl isn't weird
+ok($count == 1000, 'got 1000 rows as requested');
+
+# fetch a lot of rows and see we don't get disconnected halfway, see Bug 2897
+$query = qq{
+	SELECT * FROM tables, sys.generate_series(0,1000);
+};
+$sth = $dbh->prepare($query);
+$sth->execute;
+$r = $sth->fetchall_arrayref();
+$count = scalar(@{$r});
+ok($count % 1000 == 0, "got $count rows");
+
+
+
+
+ok( $dbh->disconnect,'Disconnect');