Hi, I was debugging ignite sql execution code for following query.
SELECT id, moduleId,ipEnd, ipStart FROM IpContainerIpV4Data USE INDEX(ip_container_ipv4_idx1) WHERE subscriptionId = ? AND moduleId = ? AND (ipStart <= ? AND ipEnd >= ?) UNION ALL SELECT id, moduleId,ipEnd, ipStart FROM IpContainerIpV4Data USE INDEX(ip_container_ipv4_idx1) WHERE subscriptionId = ? AND moduleId = ? AND (ipStart <= ? AND ipEnd >= ?) UNION ALL SELECT id, moduleId,ipEnd, ipStart FROM IpContainerIpV4Data USE INDEX(ip_container_ipv4_idx1) WHERE subscriptionId = ? AND moduleId = ? AND (ipStart >= ? AND ipEnd <= ?) I found that ignite splits this union query into 3 different map queries and then creates GridMergeTable. [code:: GridReduceQueryExecutor.createMergeTable]. But could not spend more time on debugging. Is this a in-memory temp table or real table created in H2 DB in file system. Can some please explain this? If it is In memory table then how does ignite handle and merge/sort/group large results sets which does not fit into application heap ? Thanks, Prasad
