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

Reply via email to