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 周钰坤 清华大学 软件学院
