SteveYurongSu commented on issue #1329: URL: https://github.com/apache/streampipes/issues/1329#issuecomment-1446673239
In order to confirm whether the behavior of InfluxDB is reasonable, I checked the behavior of IoTDB (v0.13.4) when querying a existed timeline with no data between `startDate` and `endDate`, and finally found that their behavior is really different. The IoTDB server returned the metadata of the timeline but with an empty array for rows in result dataset. It clearly indicated that the actual timelines exist but there was no data available for the given query. The behavior of IoTDB was what exactly we expected for. 🤔 Steps to check the behavior of IoTDB: ``` IoTDB> insert into root.sg.d(time, s1,s2) values (0, 1, 2) Msg: The statement is executed successfully. IoTDB> insert into root.sg.d(time, s1,s2) values (1, 1, 2) Msg: The statement is executed successfully. IoTDB> insert into root.sg.d(time, s1,s2) values (2, 1, 2) Msg: The statement is executed successfully. IoTDB> insert into root.sg.d(time, s1,s2) values (30, 1, 2) Msg: The statement is executed successfully. IoTDB> insert into root.sg.d(time, s1,s2) values (40, 1, 2) Msg: The statement is executed successfully. IoTDB> insert into root.sg.d(time, s1,s2) values (50, 1, 2) Msg: The statement is executed successfully. IoTDB> insert into root.sg.d(time, s1,s2) values (60, 1, 2) Msg: The statement is executed successfully. ``` ``` IoTDB> show timeseries +------------+-----+-------------+--------+--------+-----------+----+----------+--------+-------------------+ | timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|deadband|deadband parameters| +------------+-----+-------------+--------+--------+-----------+----+----------+--------+-------------------+ |root.sg.d.s1| null| root.sg| FLOAT| GORILLA| SNAPPY|null| null| null| null| |root.sg.d.s2| null| root.sg| FLOAT| GORILLA| SNAPPY|null| null| null| null| +------------+-----+-------------+--------+--------+-----------+----+----------+--------+-------------------+ Total line number = 2 It costs 0.042s ``` ``` IoTDB> select ** from root +-----------------------------+------------+------------+ | Time|root.sg.d.s1|root.sg.d.s2| +-----------------------------+------------+------------+ |1970-01-01T08:00:00.000+08:00| 1.0| 2.0| |1970-01-01T08:00:00.001+08:00| 1.0| 2.0| |1970-01-01T08:00:00.002+08:00| 1.0| 2.0| |1970-01-01T08:00:00.030+08:00| 1.0| 2.0| |1970-01-01T08:00:00.040+08:00| 1.0| 2.0| |1970-01-01T08:00:00.050+08:00| 1.0| 2.0| |1970-01-01T08:00:00.060+08:00| 1.0| 2.0| +-----------------------------+------------+------------+ Total line number = 7 It costs 0.073s ``` ``` IoTDB> select s1, s2 from root.sg.d where time > 10 and time < 20 +----+------------+------------+ |Time|root.sg.d.s1|root.sg.d.s2| +----+------------+------------+ +----+------------+------------+ Empty set. It costs 0.103s ``` ``` IoTDB> select s1, s2, s3 from root.sg.d where time > 10 and time < 20 +----+------------+------------+ |Time|root.sg.d.s1|root.sg.d.s2| +----+------------+------------+ +----+------------+------------+ Empty set. It costs 0.012s ``` ``` IoTDB> select s1, s2, s3 from root.sg.d where time > 10 +-----------------------------+------------+------------+ | Time|root.sg.d.s1|root.sg.d.s2| +-----------------------------+------------+------------+ |1970-01-01T08:00:00.030+08:00| 1.0| 2.0| |1970-01-01T08:00:00.040+08:00| 1.0| 2.0| |1970-01-01T08:00:00.050+08:00| 1.0| 2.0| |1970-01-01T08:00:00.060+08:00| 1.0| 2.0| +-----------------------------+------------+------------+ Total line number = 4 It costs 0.012s ``` On the other hand, I think it may be ok if InfluxDB's standard behavior does not affect the implementation of streampipes. What do you think? @bossenti -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
