Description
At the moment we have a lot of various cached stuff used for different SQL types (prepared statements for local queries, two-step queries for distributed queries, update plan for DML).
What we need instead of having multiple caches is to create common execution plan for every query, which will hold both DML and SELECT stuff. Approximate content of such a plan:
- Two-step plan
- DML plan
- Partition pruning stuff
- May be even cached physical node distribution (for reduce queries) for the given AffinityTopologyVersion
- Probably AffinityTopologyVersion
Then we will perform a single plan lookup/build per every query execution. In future we will probably display these plans in SQL views.
Attachments
Issue Links
- is a child of
-
IGNITE-11203 SQL: global refactoring
- Open
- links to