Hi Precise path match means precise full path match. Users need to construct the full path pattern, using wildcard or not, when writing sql. In your example, using "count timeseries root.sg.*.s.*" to count in "root.sg.d.s.t " is what we want users to do.
" Select * " is a simple representation of select component in a sql statement when using wildcard *. Sorry about the content, there are some style characters, used for emphasizing but confusing readers when viewed in raw text. I have not noticed that before. You may check out the e-mail in gmail. Here's the raw text. Please check out. 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 周钰坤 清华大学 软件学院 Xiangdong Huang <[email protected]> 于2021年8月27日周五 下午1:47写道: > > Hi, > > I am lost when reading the content.... what is *" "* *precise etc.....? > > > In DDL, we want to replace the prefix path match with the *precise path > > match* > > What is *precise path match*? > > > For example the old versions query "count timeseries root.sg " will be > > implemented as "count timeseries root.sg.** ". > > OK, it is clear. > > > > 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 ". > > So if we want to count timesereis "root.sg.d.s.t " (I mean, > root.sg.d.s.t is a timeseries, not a prefix path), > we need to use "count timeseries root.sg.*.s.*"? > > in your DML paragraph, I can not understand what *"select * "* is. > > Best, > ----------------------------------- > Xiangdong Huang > School of Software, Tsinghua University > > 黄向东 > 清华大学 软件学院 > > 周钰坤 <[email protected]> 于2021年8月26日周四 下午12:47写道: > > > > 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 > > > > 周钰坤 > > 清华大学 软件学院
