Bug in intarray bench script
In the contrib/intarray benchmarking script bench.pl, the -e option to print
the plan via EXPLAIN is using the DBI do() method which discards output
resulting in nothing being printed. Judging by the usage help (“show explain”)
I assume the intention is to print the plan to STDOUT when invoked (which is
exactly what I wanted in this case, thus bumping into this) but at least on
recent DBI/DBD::Pg versions the do() method is not returning the rows.
Attached patch use the selectall_arrayref() method instead and output the plan
when -e is invoked.
cheers ./daniel
Attachments:
intarray_bench.diffapplication/octet-stream; name=intarray_bench.diffDownload
diff --git a/contrib/intarray/bench/bench.pl b/contrib/intarray/bench/bench.pl
index 8746291..395d616 100755
--- a/contrib/intarray/bench/bench.pl
+++ b/contrib/intarray/bench/bench.pl
@@ -92,7 +92,8 @@ if ($opt{v})
if ($opt{e})
{
- $dbi->do("explain $sql");
+ my @plan = map { "$_->[0]\n" } @{$dbi->selectall_arrayref("explain $sql")};
+ print @plan;
}
my $t0 = [gettimeofday];
The following review has been posted through the commitfest application:
make installcheck-world: not tested
Implements feature: not tested
Spec compliant: not tested
Documentation: not tested
The patch changes the benchmark tool in a way that the explain output is printed to standard out - what one would expect from the "-e" (explain) option.
The new status of this patch is: Ready for Committer
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
"Andreas 'ads' Scherbaum" <ads@pgug.de> writes:
The patch changes the benchmark tool in a way that the explain output is printed to standard out - what one would expect from the "-e" (explain) option.
The new status of this patch is: Ready for Committer
Pushed, thanks.
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers