Bug #15722 Engine_condition_pushdown fails when using blobs(text)
Submitted: 13 Dec 2005 22:40 Modified: 8 Apr 2006 14:48
Reporter: Adam Dixon (Candidate Quality Contributor) Email Updates:
Status: Closed Impact on me:
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:5.0.15 Cluster OS:Linux (RHEL4)
Assigned to: Martin Skold CPU Architecture:Any

[13 Dec 2005 22:40] Adam Dixon
I have two dedicated mysql API nodes in my cluster, I was testing pushdown;
set one of them to pushdown (via  engine-condition-pushdown=1 in my.cnf), all good according to 'show global variables;'. Then I construct my query and run it on the mysql node with pushdown on;

mysql> select indexedfield from Table1 where nonindexedfield1 like '%oly%';
ERROR 1296 (HY000): Got error 4209 'Length parameter in equal/setValue is incorrect' from ndbcluster

perror states;
OS error code 4209:  Length parameter in equal/setValue is incorrect: Permanent error: Application error

So I just try it on the other server; to see what gives;
9 rows in set (0.56 sec)

So I turn pushdown off on the node with it on;
9 rows in set (0.47 sec)

Note I am setting pushdown on globally via my.cnf using this (if that makes a diff); #engine-condition-pushdown=1 the table contains 16000 odd rows.

And just to be sure, I uncommented it one more time to try, same error. 

How to repeat:
See above description.
[27 Mar 2006 12:28] Jonas Oreland
The problem is condiftion push-down on blobs (tinytext in this case).
Smaller testcase

create table t1 (a int primary key auto_increment, b tinytext not null);
insert into t1 (b) values ('jonas'), ('jensing'), ('johan');
set engine_condition_pushdown = off;
select * from t1 where b like '%jo%';
set engine_condition_pushdown = on;
select * from t1 where b like '%jo%';


Generally we don't support condition push-down on blobs.
However tinytext can be made to work.
Either case, this should be fixed so that
1) engine-push-down is (silently) disabled on blobs (and possibly fixed to tinytext)
2) documention is updated so this is "known"
[29 Mar 2006 6:47] Martin Skold
Pushed to 5.0.20 and 5.1.9
[8 Apr 2006 14:48] Jon Stephens
Thank you for your bug report. This issue has been addressed in the
documentation. The updated documentation will appear on our website
shortly, and will be included in the next release of the relevant

Additional info:

Documented as limitation on engine_condition_pushdown in 5.0 and 5.1 versions of Optimisation chapter (does not apply in 4.1). Closed.