Создайте RelNode запроса select с помощью concat

#apache-calcite

#apache-calcite

Вопрос:

Я просмотрел документацию Apache Calcite. relNode Правильно ли для следующего запроса в BigQuery?

 SELECT CONCAT('a or b',' ', 'n', first_name) 
FROM foo.schema.employee
WHERE first_name = 'name';
  
 relNode = builder
          .scan("schema.employee")
          .filter(builder.call(SqlStdOperatorTable.EQUALS,
                         builder.field("first_name"), 
                         builder.literal("name"))
          .project(builder.call(SqlStdOperatorTable.CONCAT,
                           builder.literal("a or b"),
                           builder.literal(" "),
                           builder.literal("\n"),
                           builder.field(first_name)))
          .build()  
  

Ответ №1:

На первый взгляд это выглядит правильно. Я бы посоветовал вам подтвердить, просмотрев результаты запроса, а также преобразовав ваш RelNode в SQL.