Hi,

+1 for reopen it. The error messages should be consistent in these 4 cases.

--
Jialin Qiao
School of Software, Tsinghua University

乔嘉林
清华大学 软件学院

> -----原始邮件-----
> 发件人: "Lei Rui" <[email protected]>
> 发送时间: 2019-10-09 18:31:21 (星期三)
> 收件人: "[email protected]" <[email protected]>
> 抄送: 
> 主题: Re:  [DISCUSS] (IOTDB-240) query problem for iotdb filter
> 
> Hi,
> 
> 
> Even settled with response 1, I don't think this issue of inconsistent error 
> messages is solved.
> 
> 
> case 1: select ZT1 from root.demo
> case 2: select ZT1,ZT31 from root.demo 
> case 3: select ZT1,ZT31 from root.demo where ZT1>0
> In the above cases, "root.demo.ZT31" exists and "root.demo.ZT1" doesn't exist.
> The merged pr#423 for this issue checks the existence of every path extracted 
> from the SELECT & FROM clause.
> Therefore, the iotdb-client in case 1&2&3 will now respond with a consistent 
> error message - "Msg: Execute statement error: Path: "root.demo.ZT1" not 
> corresponding any known time series".
> 
> 
> But consider case 4: "select ZT31 from root.demo where ZT1>0" and the path 
> "root.demo.ZT1" in the filter expression doesn't exist. 
> The iotdb-client will respond with the original error message - "Msg: Execute 
> statement error: Index: 0, Size: 0" , which is still inconsistent with case 
> 1&2&3.
> 
> 
> So, I suggest this issue be reopened.
> 
> 
> Lei Rui
> On 10/9/2019 09:34,Jialin Qiao<[email protected]> wrote:
> Hi,
> 
> I prefer Response 1.
> 
> When users query some paths that do not exist, it means there are logical 
> errors and we'd better reject the request to let users fix it.
> 
> --
> Jialin Qiao
> School of Software, Tsinghua University
> 
> 乔嘉林
> 清华大学 软件学院
> 
> -----原始邮件-----
> 发件人: suyue <[email protected]>
> 发送时间: 2019-10-08 20:54:59 (星期二)
> 收件人: [email protected]
> 抄送:
> 主题: Re: [DISCUSS] (IOTDB-240) query problem for iotdb filter
> 
> Hi, all.
> 
> I tried to make the following queries in MySQL:(There is a ‘projectID' column 
> in the 'CONFIG' table but no xx column.)
> select projectID, xx from CONFIG;
> Then, I got :[Code: 1054, SQL State: 42S22]  Unknown column 'xx' in 'field 
> list’
> 
> So, I prefer to report errors directly when there are non-existent columns in 
> the query statement, which is Response 1.
> 
> 
> 
> 
> 
> 在 2019年10月8日,下午7:14,Lei Rui <[email protected]> 写道:
> 
> Hi all,
> I want to have more discussions on the responses of selecting non-existent 
> timeseries.
> Let's focus on the condition 2 - "select ZT1,ZT31 from root.demo" where 
> root.demo.ZT1 doesn't exist.
> There can be 3 responses as follows.
> Response 1: reject service and return an error message.
> Response 2: provide service by neglecting "ZT1" and directly return the 
> result table of "select ZT31 from root.demo".
> Response 3: provide service by returning the result table with fields under 
> the column "root.demo.ZT1" being null.
> From my side, I definitely disapprove response 3 because of the possible 
> confusion raised about the schema.
> My question is which one do you prefer, response 1 or response 2?
> I myself prefer response 2 to response 1, because response 2 not only conveys 
> clearly the message that "root.demo.ZT1" doesn't exist, but also returns 
> existent data.
> Sincerely,
> Lei Rui
> 
> 
> On 9/26/2019 14:52,南京大学软件学院薛恺丰<[email protected]> wrote:
> Hi~ I'm working on this issue and I think "both condition 2 and 3 should 
> respond with error message" is better
> 
> 
> 
> 
> ------------------ 原始邮件 ------------------
> 发件人: "Yuan Tian (Jira)"<[email protected]>;
> 发送时间: 2019年9月25日(星期三) 晚上9:56
> 收件人: "dev"<[email protected]>;
> 
> 主题: [jira] [Created] (IOTDB-240) query problem for iotdb filter
> 
> 
> 
> EJTTianyu created IOTDB-240:
> -------------------------------
> 
> Summary: query problem for iotdb filter
> Key: IOTDB-240
> URL: https://issues.apache.org/jira/browse/IOTDB-240
> Project: Apache IoTDB
> Issue Type: Bug
> Reporter: EJTTianyu
> 
> 
> When querying a timeseries that does not exist, iotdb shows different 
> behavior for SQL with or without filter.
> After starting a new iotdb instance, The following steps in iotdb-client 
> below could reproduce the problem.
> Step 1: set storage group to root.demo
> Step 2: CREATE TIMESERIES root.demo.ZT31 WITH DATATYPE=INT64, ENCODING=RLE
> Step 3:insert into root.demo(timestamp,ZT31) values(1,1)
> when using sql:
> 1.select ZT1 from root.demo
> iotdb-client responds with message "Msg: Execute statement error: do not 
> select any existing series"
> 2.select ZT1,ZT31 from root.demo
> iotdb-client responds with
> +-----------------------------------+--------------+
> |                               Time|root.demo.ZT31|
> +-----------------------------------+--------------+
> |      1970-01-01T08:00:00.001+08:00|             1|
> +-----------------------------------+--------------+
> 3.select ZT1,ZT31 from root.demo where ZT1>0
> iotdb-client responds with message "Msg: Execute statement error: Index: 0, 
> Size: 0"
> 
> Timeseries ZT1 does not exist in condition 2 and condition 3. However, 
> without using ZT1 as filter to query  multiple sensors(at least one exists), 
> iotdb could respond with datapoints. When using ZT1 as filter, the returned 
> msg confused users.
> 
> In my opinion, both condition 2 and 3 should respond with message "Msg: 
> Execute statement error: do not select any existing series". Or condition 2 
> responds with datapoints, condition 3 responds with "Msg: Execute statement 
> error: do not select any existing series".
> 
> 
> 
> 
> --
> This message was sent by Atlassian Jira
> (v8.3.4#803005)
> 

Reply via email to