When executing normal queries, ParameterExtractor is invoked every time, and performs evaluations on parameters. However, with compiled queries the ParameterExtractor is invoked only once, so these evaluations do not take place. This raises some questions:
- Do we have any code in the pipeline which assumes evaluations have taken place? If so, queries would succeed when executed normally but fail as compiled queries.
- At least in theory, the lack of evaluation in compiled queries could make them slower than normal queries. We could make client-side evaluation for compiled queries work by having ParameterExtractor register evaluations as lambdas to be invoked each time a query is executed.
Originally discussed in #19189 (comment)