Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-4457

Remove dependency on CalciteConnectionConfig from SqlValidatorCatalogReader and Table core API

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • core, druid-adapter
    • None

    Description

      SqlValidatorCatalogReader#getConfig() returns a CalciteConnectionConfig which represents a set of settings when using a calcite connection. This is an object specific to calcite connector, not to the core API. The reason this method is needed is so that validator can pass it to Table#rolledUpColumnValidInsideAgg(String, SqlCall, SqlNode, CalciteConnectionConfig) but the only instance actually using it is DruidTable.

      open this ticket to refactor the code so that SchemaFactory can accept the config, and inject the config into DruidSchema, it can then be injected into DruidTable . Then refactor Table to remove the extra argument (Table is part of the base API, so it should not depend either on CalciteConnectionConfig) 

      In this way, we will restrict the dependency to only DruidSchema and DruidTable, not the core Catalogreader/Table API.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ChunfengPei chunfeng pei
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: