cube-js/cube

Time range does not work with AWS ES (open distro)

开放

#3,129 创建于 2021年7月19日

 (3 条评论) (0 个反应) (0 位负责人)Rust (1,965 个派生)batch import
driver:elasticsearchhelp wanted

仓库指标

星标
 (19,563 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

Describe the bug Time range does not work with AWS ES

To Reproduce Steps to reproduce the behavior:

  1. Create a valid cube schema connected to AWS ES 7.7
  2. Build a query with time range set to anything other than all time.
  3. Run the query
  4. See error

Expected behavior Generate SQL should use a date function compatible with AWS ES as documented https://opendistro.github.io/for-elasticsearch-docs/docs/sql/functions/

Currently it uses DATE_TRUNC which is not supported by open distro ES.

Screenshots

Error: "{\n \"error\": {\n \"reason\": \"Invalid SQL query\",\n \"details\": \"Failed to parse query due to offending symbol [:] at: 'SELECT\\n DATE_TRUNC('day', d_n_s_activity_red.timestamp:' <--- HERE... More details: Expecting tokens in {'SELECT', '('}\",\n \"type\": \"SyntaxAnalysisException\"\n },\n \"status\": 400\n}"

Version: v0.27.53 AWS ES 7.7

贡献者指南