From: Ole John Aske Date: October 16 2010 3:09pm Subject: bzr push into mysql-5.1-telco-7.0-spj-scan-vs-scan branch (ole.john.aske:3316 to 3317) List-Archive: http://lists.mysql.com/commits/120892 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0337161200==" --===============0337161200== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3317 Ole John Aske 2010-10-16 Fix for SPJ variant of bug 57396: Create correct AttributeHeader for an open bound. modified: mysql-test/suite/ndb/r/ndb_join_pushdown.result mysql-test/suite/ndb/t/ndb_join_pushdown.test storage/ndb/src/ndbapi/NdbQueryOperation.cpp 3316 Ole John Aske 2010-10-16 [merge] Merge from 7.0-spj branch modified: sql/sql_select.cc === modified file 'mysql-test/suite/ndb/r/ndb_join_pushdown.result' --- a/mysql-test/suite/ndb/r/ndb_join_pushdown.result 2010-10-15 13:49:39 +0000 +++ b/mysql-test/suite/ndb/r/ndb_join_pushdown.result 2010-10-16 15:05:21 +0000 @@ -4043,6 +4043,17 @@ pk 1 2 drop table t; +create table t (b int, a int, primary key (a,b)) engine=ndb; +insert into t values(0,0); +explain +select * from t as t1 join t as t2 on t2.a=t1.a where t1.a < 8 or t1.a >= 8; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range PRIMARY PRIMARY 0 NULL 10 Parent of 2 pushed join@1; Using where with pushed condition +1 SIMPLE t2 ref PRIMARY PRIMARY 4 test.t1.a 1 Child of pushed join@1 +select * from t as t1 join t as t2 on t2.a=t1.a where t1.a < 8 or t1.a >= 8; +b a b a +0 0 0 0 +drop table t; create temporary table spj_counts_at_end select counter_name, sum(val) AS val from ndbinfo.counters @@ -4060,10 +4071,10 @@ counter_name spj_counts_at_end.val - spj CONST_PRUNED_RANGE_SCANS_RECEIVED 6 LOCAL_TABLE_SCANS_SENT 196 PRUNED_RANGE_SCANS_RECEIVED 16 -RANGE_SCANS_RECEIVED 203 +RANGE_SCANS_RECEIVED 205 READS_NOT_FOUND 405 READS_RECEIVED 61 -SCAN_ROWS_RETURNED 63641 +SCAN_ROWS_RETURNED 63643 TABLE_SCANS_RECEIVED 196 select sum(spj_counts_at_end.val - spj_counts_at_startup.val) as 'LOCAL+REMOTE READS_SENT' from spj_counts_at_end, spj_counts_at_startup @@ -4075,15 +4086,15 @@ LOCAL+REMOTE READS_SENT drop table spj_counts_at_startup; drop table spj_counts_at_end; scan_count -2000 +2003 pruned_scan_count 7 sorted_scan_count 44 pushed_queries_defined -339 +341 pushed_queries_dropped 11 pushed_queries_executed -264 +265 set ndb_join_pushdown = @save_ndb_join_pushdown; === modified file 'mysql-test/suite/ndb/t/ndb_join_pushdown.test' --- a/mysql-test/suite/ndb/t/ndb_join_pushdown.test 2010-10-15 13:49:39 +0000 +++ b/mysql-test/suite/ndb/t/ndb_join_pushdown.test 2010-10-16 15:05:21 +0000 @@ -2869,7 +2869,18 @@ SELECT DISTINCT STRAIGHT_JOIN table1.pk drop table t; +######## +# SPJ variant of bug#57396 +# Test correct format of an 'open bound' +######## +create table t (b int, a int, primary key (a,b)) engine=ndb; +insert into t values(0,0); + +explain +select * from t as t1 join t as t2 on t2.a=t1.a where t1.a < 8 or t1.a >= 8; +select * from t as t1 join t as t2 on t2.a=t1.a where t1.a < 8 or t1.a >= 8; +drop table t; ######################################## # Verify DBSPJ counters for entire test: === modified file 'storage/ndb/src/ndbapi/NdbQueryOperation.cpp' --- a/storage/ndb/src/ndbapi/NdbQueryOperation.cpp 2010-10-15 21:04:14 +0000 +++ b/storage/ndb/src/ndbapi/NdbQueryOperation.cpp 2010-10-16 15:05:21 +0000 @@ -1490,7 +1490,7 @@ NdbQueryImpl::setBound(const NdbRecord * * To encode this, we'll request all rows where the first * key column value is >= NULL */ - AttributeHeader ah(key_record->columns[0].index_attrId, 0); + AttributeHeader ah(0, 0); m_keyInfo.append(NdbIndexScanOperation::BoundLE); m_keyInfo.append(ah.m_value); } --===============0337161200== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/ole.john.aske@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: ole.john.aske@stripped\ # xu6yvbpq3ea2r7vy # target_branch: file:///home/oleja/mysql/mysql-5.1-telco-7.0-spj-\ # scan-scan/ # testament_sha1: fc83c017929d1b74b7795a604c05e3844b5acfd5 # timestamp: 2010-10-16 17:09:21 +0200 # source_branch: bzr+ssh://oaske@stripped/bzrroot/server\ # /mysql-5.1-telco-7.0-spj/ # base_revision_id: ole.john.aske@stripped\ # z2iptfmsezw6bjt9 # # Begin bundle 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 4h1qQQ== --===============0337161200==--