You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iotdb.apache.org by "Xiangdong Huang (Jira)" <ji...@apache.org> on 2020/02/01 12:26:00 UTC

[jira] [Created] (IOTDB-447) Support query on time series which are not created

Xiangdong Huang created IOTDB-447:
-------------------------------------

             Summary: Support query on time series which are not created
                 Key: IOTDB-447
                 URL: https://issues.apache.org/jira/browse/IOTDB-447
             Project: Apache IoTDB
          Issue Type: Bug
          Components: Core/Engine
    Affects Versions: 0.9.1
            Reporter: Xiangdong Huang


Hi,

I occur a new case, which is also common I think.

As we have supported auto-creating time series, users may give up  creating time series manually (like me!). Then the following scenario occurs:

1. I know I have some meteorological stations that can collect the temperature, press etc..

2. But, they may be not sent to the server in one packet. Therefore, I have to write codes like:

 
{code:java}
// code placeholder
if ( temperature != null ){
	schema.add("temperature");
	values.add(temperature + "");
}

if ( press != null ){
	schema.add("press");
	values.add(press + "");
}

if ( windSpeed10min != null ){//10分钟风速
	schema.add("windSpeed10min");
	values.add(windSpeed10min + "");
}

session.insert(devicePath, observationTimeLong, schema, values);
{code}
Remember that I do not know when these stations will send the measurements to the server. For example, maybe some stations have no anemoscopes, maybe the anemoscopes of some stations are broken before I deploy my application.

However, I do not know about that when I develop my query applications.

3. So, when I query data, I will write statements like:

SELECT temperature, press,windDirection2min,windSpeed10min,... FROM root.national.*.5.*.*.* WHERE time = '2020-01-19T04:00:00.000+08:00'

 

Ok, now suppose there is one station that never sent "windSpeed10min" to the server because of mentioned reasons in 2, then the query will fail because: 

Msg: Statement format is not right: Path: "root.national.*.5.*.*.*.*.windSpeed10min" doesn't correspond to any known time series.

 

What can I do? I can not query measurements and stations one by one...

 

If we do not allow auto-creating time series, the above scenario does not happen because we will create ALL POSSIBLE time series at first. But, we know it is not good, and that is one of the reasons that we support the auto-creating time series.

 

So, now that we support auto-creating time series, it is better to fill the result of not existed time series as NULL rather than return an error message to block all queries.

 

 

 

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)