tree 52b4f3ff8bac1fa085988c54e85d21c7fbe7f942
parent 846345669d5fa625666eb3682260b7a80d9769c1
author Gian Merlino <gianmerlino@gmail.com> 1660545079 -0700
committer GitHub <noreply@github.com> 1660545079 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJi+eg3CRBK7hj4Ov3rIwAA2xwIAImyUkrhd1JQv++1vs1pPuU4
 MELtBQLMSrdEiZI6kic/N3fLOU8tOOPgopsqAxGFMha4k3q7alDEfwiSesHB7jBb
 gXs5BV064863b4AfWF9zZytId0kcZx6X9PETVFrkf2oMWjvB3x9MRh5dvzc7pnd5
 U36P1/vjWhUwOBQEgWAoq32JhXui9RDhIljYAe1FKW5TswTWfxYyUFm4gGVEjoRL
 kH7Ir0wuY3x47NLwR5YCVMMJlljNI+Kbd5vx52py8rwcEIU+5l1ijWHQ77SlVC9M
 PyWZWlIQ6dMO3nnrEMMjRU9B/ebBhFzVU47p1NwXPY+Aowtddd6vpLGvfpqZnkw=
 =SPue
 -----END PGP SIGNATURE-----
 

SQL: Morph QueryMakerFactory into SqlEngine. (#12897)

* SQL: Morph QueryMakerFactory into SqlEngine.

Groundwork for introducing an indexing-service-task-based SQL engine
under the umbrella of #12262. Also includes some other changes related
to improving error behavior.

Main changes:

1) Elevate the QueryMakerFactory interface (an extension point that allows
   customization of how queries are made) into SqlEngine. SQL engines
   can influence planner behavior through EngineFeatures, and can fully
   control the mechanics of query execution using QueryMakers.

2) Remove the server-wide QueryMakerFactory choice, in favor of the choice
   being made by the SQL entrypoint. The indexing-service-task-based
   SQL engine would be associated with its own entrypoint, like
   /druid/v2/sql/task.

Other changes:

1) Adjust DruidPlanner to try either DRUID or BINDABLE convention based
   on analysis of the planned rels; never try both. In particular, we
   no longer try BINDABLE when DRUID fails. This simplifies the logic
   and improves error messages.

2) Adjust error message "Cannot build plan for query" to omit the SQL
   query text. Useful because the text can be quite long, which makes it
   easy to miss the text about the problem.

3) Add a feature to block context parameters used internally by the SQL
   planner from being supplied by end users.

4) Add a feature to enable adding row signature to the context for
   Scan queries. This is useful in building the task-based engine.

5) Add saffron.properties file that turns off sets and graphviz dumps
   in "cannot plan" errors. Significantly reduces log spam on the Broker.

* Fixes from CI.

* Changes from review.

* Can vectorize, now that join-to-filter is on by default.

* Checkstyle! And variable renames!

* Remove throws from test.