Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Won't Do
-
1.4.3
-
None
Description
As of 1.4 MCS uses a legacy complex machine to process pushed down conditions when run queries in table API mode. MCS populates a map that is globally unique for the client connection with TABLE* - CSEP mappings to use them later in rnd_init().
This is error prone and overcomplicated ways of doing this.
A pair handler::cond_push()/cond_pop() push conditions for a dedicated handler instance. The same instance executes rnd_init() so it is safe to create a stack of ParseTree pointers in handler. MCS must clean them up on handler::reset() thus the mapping clean up must be removed from handler::external_lock().
Attachments
Issue Links
- includes
-
MCOL-4023 MCS doesn't apply optimized WHERE conditions doing UPDATE
- Closed