Hello, Trying to understand how exactly SQL queries are executed in Ignite. A few questions
1. To what extent is H2 used? Does it store the data? Does it create the indexes? Is it used only for generating execution plans? I believe that all the data used to be stored in H2, but with the new durable memory architecture, I believe that's no longer the case. 2. Which indexes are used? Ignite creates B+ tree indexes and stores them in Index pages, but I also see AFFINITY_KEY, _key_PK and _key_PK_hash indexes created in H2. 3. When is data brought onto the heap? I am assuming that groupby and aggregate require all the matching queries to first be copied from off-heap to heap 4. How does lazy evaluation work? For example, for group_by, does it bring batches of matching records with the same group_by key onto the heap? I am not necessarily looking for the exact answers, but rather pointer in the right direction (documentation, code, jiras) Cheers, Eugene