Bug #69052 Quoting an integer value prevents clsuter condition pushdown
Submitted: 24 Apr 2013 12:58 Modified: 29 Apr 2013 12:27
Reporter: Hartmut Holzgraefe Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S5 (Performance)
Version:mysql-cluster-7.2.10 OS:Linux
Assigned to: CPU Architecture:Any

[24 Apr 2013 12:58] Hartmut Holzgraefe
Description:
When running a query against an unindexed integer column `foo`

  SELECT * FROM t1 WHERE `foo` = 23;

uses condition pushdown just fine while

  SELECT * FROM t1 WHERE `foo` = '23';

does not and so has to transfer all table row
data to the api node first.

As quoting integers is often used as a poor mans
injection prevention method it is often seen in
mysql client application, and with other storage
engines the performance penalty is negligible ...

How to repeat:
* Create a cluster table with an unindexed integer column
* populate it with a sufficient amount of rows, preferably with unique values on the unindexed column
* check execution time and explain plan of a select against a specific value of the unindexed column with and without quoting that value as a string
[29 Apr 2013 12:27] MySQL Verification Team
Hello Hartmut,

Thank you for the report.
I can not repeat described behavior on reported and latest GA versions.
Could you please provide exact test case and/or relevant details to reproduce?

Thanks,
Umesh
[29 Apr 2013 12:29] MySQL Verification Team
Test case..

Attachment: 69052.txt (text/plain), 19.30 KiB.