Hi

We want to introduce a new *wildcard ***, to improve the DDL and DML of
IoTDB-SQL.
Wildcard ** will represent one or more levels in the path and the existing
wildcard * will only represent one level in the path even if it's at the
tail of the path.

In DDL, we want to replace the prefix path match with the *precise path
match*, which means the given path will be the pattern of result elements'
full path. The prefix path match could be implemented by leveraging
wildcard **. This change can help users do operations more precisely.
For example the old versions query "count timeseries root.sg " will be
implemented as "count timeseries root.sg.** ". Besides,  the old query
"count timeseries root.sg.*.s " will count timeseries like "root.sg.d.s.t "
because its prefix path matches "root.sg.*.s " but the new query won't do
that any more because its full path doesn't match "root.sg.*.s ".
The same changes will be applyed on DDL of storage group, entity and normal
nodes.

In DML, after introduce wildcard **, *"select * "* won't query all
timeseries in the subtree represented by the given path, but *"select ** "*
will do that. *"select * "* will only query the timeseries on the next
level of the given path.
For example, the new query "select * from root.sg.d" will only query
timeseries like "root.sg.d.s" but not query timeseries like
"root.sg.d.a.s", while "select ** from root.sg.d" will query them all.
Of course, we want to implement *precise path match* in DML too.

Best
-----------------------------
Yukun zhou
School of software, Tsinghua University

周钰坤
清华大学 软件学院

Reply via email to