Сопоставить запрос как виртуальную таблицу - PullRequest
0 голосов
/ 03 июля 2018

Возможно ли в Apache Calcite отобразить запрос на основе JDBC в виде виртуальной таблицы? Я хотел бы представить таблицу пользователю, но за кулисами она будет реализована в виде запроса через jdbc к источнику данных. Мне известно, что я могу создавать подклассы Table и реализовывать себя при необходимости, но я хотел посмотреть, есть ли поддерживаемый способ сделать это.

Любые предложения будут оценены.

1 Ответ

0 голосов
/ 05 июля 2018

Звучит так, как будто вы хотите создать представление. Вы можете увидеть пример в учебнике . Определения представлений могут быть добавлены к model.json, который вы используете для определения своей схемы, как в примере ниже.

{
  version: '1.0',
  defaultSchema: 'SALES',
  schemas: [
    {
      name: 'SALES',
      type: 'custom',
      factory: 'org.apache.calcite.adapter.csv.CsvSchemaFactory',
      operand: {
        directory: 'target/test-classes/sales'
      },
      tables: [
        {
          name: 'FEMALE_EMPS',
          type: 'view',
          sql: 'SELECT * FROM emps WHERE gender = \'F\''
        }
      ]
    }
  ]
}
...