sql-bench/test-table-elimination fails with SQL syntax error on OPTIMIZE if executed with --fast

Bug #986739 reported by Elena Stepanova
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
New
Low
Sergey Petrunia

Bug Description

Got error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(0x1a19340)' at line 1 when executing 'OPTIMIZE TABLE'

Offending query as it's written into the general log:

OPTIMIZE TABLE ARRAY(0x1a19340)

If sql-bench/test-table-elimination is executed with --fast option (and assuming that bug #986731 is fixed), it calls 'vacuum' subroutine which, in turn, attempts to run OPTIMIZE TABLE. The 'vacuum' subroutine expects that the tables for OPTIMIZE are provided as an array, but test-table-elimination calls it with a reference to an array. The following change seems to fix the problem:

@@ -199,12 +199,12 @@

 if ($opt_fast && defined($server->{vacuum}))
 {
- $server->vacuum(0,\$dbh,["elim_facts", "elim_attr1", "elim_attr2"]);
+ $server->vacuum(0,\$dbh,("elim_facts", "elim_attr1", "elim_attr2"));
 }

Reproducible on maria-5.1

bzr version-info
revision-id: <email address hidden>
date: 2012-04-06 13:31:33 +0500
build-date: 2012-04-22 05:08:00 +0400
revno: 3146

Same code in other versions.

To reproduce,
- start MariaDB server;
- run test-table-elimination --socket=<socket> --fast
(if it fails with a syntax error in LOCK TABLES, fix bug #986731 first).

Tags: tests
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.