adrpar / paqu

A parallel query engine for MySQL + Spider Engine built on a fork of shard-query
GNU General Public License v2.0
10 stars 0 forks source link

Limit applied too soon in query with join #15

Closed kristinriebe closed 11 years ago

kristinriebe commented 11 years ago

SELECT p.x,p.y,p.z FROM MDR1.FOFParticles AS fp, MDR1.particles85 AS p WHERE fp.fofId = 85000000000 AND fp.particleId = p.particleId limit 10

results in CALL paquExec('SELECT p.x AS p.x,p.y AS p.y,p.z AS p.z,p.particleId AS p.particleId FROM MDR1.particles85 AS p ORDER BY NULL LIMIT 0,10', 'aggregation_tmp_52487562')-- CALL paquExec('SELECT p.p.x AS p.x,p.p.y AS p.y,p.p.z AS p.z FROM MDR1.FOFParticles AS fp JOIN ( SELECT p.x,p.y,p.z,p.particleId FROM aggregation_tmp_52487562 LIMIT 0,10) AS p WHERE ( fp.fofId = 85000000000 AND fp.particleId = p.p.particleId ) ', 'aggregation_tmp_60388287')-- CALL paquDropTmp('aggregation_tmp_52487562')-- USE spider_tmp_shard-- SET @i=0-- CREATE TABLE multidark_user_kristin.test-join-fp-2 ENGINE=MyISAM SELECT @i:=@i+1 AS row_id, distinct_res_table.* FROM ( SELECT DISTINCT p.x,p.y,p.z FROM aggregation_tmp_60388287 ) as distinct_res_table-- CALL paquDropTmp('aggregation_tmp_60388287')

and returns no results

adrpar commented 11 years ago

LIMIT is now added only to last (outer) query in implicit join resolution. Fixed in d95823d78d5a767791517f0fdb9663375af63e52