Как вызвать объединение / перезапись в Apache Calcite? - PullRequest
0 голосов
/ 28 марта 2020

Возможно ли в настоящее время оптимизировать Calcite от ненужных объединений? Я имею в виду случай, когда:

... у вас есть густое дерево следующим образом:

     ---------------------
     |                   |
     |                   |
|--------|          |---------|
T1       T2         T2        T3

..., которое можно переписать как дерево слева направо не сканируйте T2 снова:

        |-------------------|
        |                   |
  |----------|              |
T1           T2             T3

В моей ситуации я начинаю с RelBuilder для построения дерева операторов, а не из запроса SQL. Оттуда я хотел бы сгенерировать SQL из оптимизированного RelNode. Я просматривал тесты проекта Calcite, чтобы посмотреть, смогу ли я собрать их вместе, и я наткнулся на «Programs.heuristicJoinOrder (...)», который я подключил к своему приложению, однако после перезаписи выражения я заканчиваю с одним узлом MultiJoin, который я не могу преобразовать в SQL.

У кого-нибудь есть пример, как это сделать, пожалуйста?

...