Luigi,

When is the release of 3.0.0 planned?

We're still waiting to hear back from you on how to do this.

Thanks,

Steve

On Mon, Mar 26, 2018, 8:45 AM Luigi Dell'Aquila <luigi.dellaqu...@gmail.com>
wrote:

> Hi Steve,
>
> Sorry, we are pretty busy with the release of v 3.0.0, I'll try to follow
> up as soon as I can.
>
> The traverse() executor is still there, but only in the old SQL executor.
> The new parser (strict SQL) was implemented for the new executor, so it
> doesn't make much sense to have it in the parser without implementing it in
> the new executor.
> I have to say that in general we don't like the traverse() operator syntax
> much, and now we have many alternatives like TRAVERSE and MATCH queries
> that are supposed to do the same thing, so adding complexity re-introducing
> a legacy behavior does not sound a very good choice.
> To be honest, since we switched on the strictSQL option by default (more
> than two years ago), it's maybe the second time we have an explicit request
> for the traverse() operator, and in both cases it was for a migration from
> previous versions, so I'm pretty confident that we can cover your use case
> what we have, with better performance and a more elegant way.
>
> I'll keep you posted
>
> Thanks
>
> Luigi
>
>
> 2018-03-26 15:52 GMT+02:00 Steven Tomer <steven.to...@gmail.com>:
>
>> Luigi,
>>
>> I haven't heard back on this.
>>
>> Since the backend to the traverse() is still there, we're wondering how
>> much trouble it would be to add it into the new parser.
>>
>> It definitely has some powerful and unique use cases.  If these aren't
>> covered by the new match projection, I would suggest that it should live on
>> to cover them.
>>
>> Thanks,
>>
>> Steve
>>
>> On Tue, Mar 20, 2018, 9:37 AM Steven Tomer <steven.to...@gmail.com>
>> wrote:
>>
>>> Thanks so much!
>>>
>>> Steve
>>>
>>> On Tue, Mar 20, 2018 at 9:34 AM, Luigi Dell'Aquila <
>>> luigi.dellaqu...@gmail.com> wrote:
>>>
>>>> Hi Steve,
>>>>
>>>> Thank you very much, I'll check it asap.
>>>> There is a way to re-enable the old traverse, you have to disable
>>>> strict SQL parsing:
>>>>
>>>> ALTER DATABASE CUSTOM strictSQL=false
>>>>
>>>> Anyway, I wouldn't recommend it in the long run, as you will lose a lot
>>>> of stability in SQL parsing
>>>>
>>>> I'll give you a feedback asap about the query
>>>>
>>>> Thanks
>>>>
>>>> Luigi
>>>>
>>>> 2018-03-20 16:30 GMT+01:00 Steven Tomer <steven.to...@gmail.com>:
>>>>
>>>>> Luigi,
>>>>>
>>>>> I've zipped up the dataset I've been using and am attaching it here.
>>>>>
>>>>> We really need a way to do queries like this.  Is there any chance we
>>>>> can re-enable the old traverse() operator?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Steve
>>>>>
>>>>> On Tue, Mar 13, 2018 at 9:08 AM, Luigi Dell'Aquila <
>>>>> luigi.dellaqu...@gmail.com> wrote:
>>>>>
>>>>>> Hi Steve,
>>>>>>
>>>>>> ah, got it, the old traverse() stopped when it found duplicates,
>>>>>> while the MATCH doesn't.
>>>>>>
>>>>>> Do you have a dataset I can check, so that I can try it and give you
>>>>>> better help?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Luigi
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2018-03-13 16:03 GMT+01:00 Steven Tomer <steven.to...@gmail.com>:
>>>>>>
>>>>>>> Luigi,
>>>>>>>
>>>>>>> That query never returns (looks like it goes into an infinite loop).
>>>>>>>
>>>>>>> I had to kill the server process to make it stop.
>>>>>>>
>>>>>>> Any other ideas?
>>>>>>>
>>>>>>> Steve
>>>>>>>
>>>>>>> On Tue, Mar 13, 2018 at 8:16 AM, Luigi Dell'Aquila <
>>>>>>> luigi.dellaqu...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi Steve,
>>>>>>>>
>>>>>>>> Try this
>>>>>>>>
>>>>>>>> SELECT expand(person) FROM (
>>>>>>>>   MATCH {class: Person, as: person, where: (givenname =
>>>>>>>> 'William')}.in(){while: ($depth = 0 OR givenname != 'George'), where:
>>>>>>>> (givenname = 'George')} RETURN person
>>>>>>>> )
>>>>>>>>
>>>>>>>> The $depth = 0 guarantees that you don't stop traversing
>>>>>>>> immediately; the givenname != 'George' just stops traversing as
>>>>>>>> soon as you find a "George", I guess it is what you want (you don't 
>>>>>>>> need
>>>>>>>> duplicates)
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> Luigi
>>>>>>>>
>>>>>>>> 2018-03-13 14:52 GMT+01:00 Steven Tomer <steven.to...@gmail.com>:
>>>>>>>>
>>>>>>>>> Hello Luigi,
>>>>>>>>>
>>>>>>>>> That's sad news indeed.  It will require a major task to rip out
>>>>>>>>> all of the places we're using traverse().
>>>>>>>>>
>>>>>>>>> I've been playing around with the MATCH operator, and I can't get
>>>>>>>>> it to model the former query:
>>>>>>>>>
>>>>>>>>> SELECT FROM Person WHERE givenname = 'William' and in
>>>>>>>>> traverse(0,-1,'in') ( givenname = 'George' )
>>>>>>>>>
>>>>>>>>> I've tried:
>>>>>>>>>
>>>>>>>>> MATCH {class: Person, as: person, where: (givenname =
>>>>>>>>> 'William')}.in(){while: ($depth > 0), where: (givenname = 'George')} 
>>>>>>>>> RETURN
>>>>>>>>> person
>>>>>>>>> MATCH {class: Person, as: person, where: (givenname =
>>>>>>>>> 'William')}.in('in'){while: ($depth > 0), where: (givenname = 
>>>>>>>>> 'George')}
>>>>>>>>> RETURN person
>>>>>>>>> MATCH {class: Person, as: person, where: (givenname =
>>>>>>>>> 'William')}.in('MyEdge'){while: ($depth > 0), where: (givenname =
>>>>>>>>> 'George')} RETURN person
>>>>>>>>>
>>>>>>>>> None of your examples have an intermediary 'edge' type between
>>>>>>>>> them.  We have Person -> MyEdge -> Person -> MyEdge -> Person.  The 
>>>>>>>>> traverse
>>>>>>>>> operator lets me hop over the edges.  How do you do it with MATCH?
>>>>>>>>>
>>>>>>>>> Steve
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Mar 13, 2018 at 2:07 AM, Luigi Dell'Aquila <
>>>>>>>>> luigi.dellaqu...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Steven,
>>>>>>>>>>
>>>>>>>>>> The traverse() operator was deprecated long time ago and is not
>>>>>>>>>> fully supported anymore.
>>>>>>>>>> I strongly suggest you to use TRAVERSE queries (
>>>>>>>>>> https://orientdb.com/docs/2.2.x/SQL-Traverse.html) or even
>>>>>>>>>> better MATCH queries (
>>>>>>>>>> https://orientdb.com/docs/2.2.x/SQL-Match.html)
>>>>>>>>>>
>>>>>>>>>> Another thing: if you are migrating now, you could probably
>>>>>>>>>> consider v 3.0 (see https://orientdb.com/orientdb-labs/), the
>>>>>>>>>> final GA will be released this week
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>> Luigi
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2018-03-12 23:00 GMT+01:00 StevenTomer <steven.to...@gmail.com>:
>>>>>>>>>>
>>>>>>>>>>> Hello,
>>>>>>>>>>>
>>>>>>>>>>> I'm using OrientDB 2.2.32.  We're updating our software from
>>>>>>>>>>> 2.0.8.
>>>>>>>>>>>
>>>>>>>>>>> The traverse() operator in selects does not appear to be working.
>>>>>>>>>>>
>>>>>>>>>>> When I run the attached program, I get
>>>>>>>>>>> a com.orientechnologies.orient.core.sql.OCommandSQLParsingException.
>>>>>>>>>>>
>>>>>>>>>>> Exception in thread "main"
>>>>>>>>>>> com.orientechnologies.orient.core.sql.OCommandSQLParsingException: 
>>>>>>>>>>> Error
>>>>>>>>>>> parsing query:
>>>>>>>>>>> SELECT FROM Person WHERE givenname = 'William' and in
>>>>>>>>>>> traverse(0,-1,'in') ( givenname = 'George' )
>>>>>>>>>>>                                                     ^
>>>>>>>>>>> Encountered "" at line 1, column 52.
>>>>>>>>>>> Was expecting one of:
>>>>>>>>>>>
>>>>>>>>>>> DB name="familytree"
>>>>>>>>>>>
>>>>>>>>>>> I hope it hasn't been removed.  We use both the TRAVERSE FROM and
>>>>>>>>>>> SELECT FROM WHERE traverse() extensively.
>>>>>>>>>>>
>>>>>>>>>>> TRAVERSE FROM is wonderful for gathering a group of records from
>>>>>>>>>>> a given point.
>>>>>>>>>>> The traverse() operator is wonderful for queries like the above
>>>>>>>>>>> (return all people named William
>>>>>>>>>>> descended from a person named George.
>>>>>>>>>>>
>>>>>>>>>>> We really need both.
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>>
>>>>>>>>>>> Steven Tomer
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>>
>>>>>>>>>>> ---
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "OrientDB" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>> it, send an email to
>>>>>>>>>>> orient-database+unsubscr...@googlegroups.com.
>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>>
>>>>>>>>>> ---
>>>>>>>>>> You received this message because you are subscribed to a topic
>>>>>>>>>> in the Google Groups "OrientDB" group.
>>>>>>>>>> To unsubscribe from this topic, visit
>>>>>>>>>> https://groups.google.com/d/topic/orient-database/ic5UE-kyi-w/unsubscribe
>>>>>>>>>> .
>>>>>>>>>> To unsubscribe from this group and all its topics, send an email
>>>>>>>>>> to orient-database+unsubscr...@googlegroups.com.
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> ---
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "OrientDB" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to orient-database+unsubscr...@googlegroups.com.
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> ---
>>>>>>>> You received this message because you are subscribed to a topic in
>>>>>>>> the Google Groups "OrientDB" group.
>>>>>>>> To unsubscribe from this topic, visit
>>>>>>>> https://groups.google.com/d/topic/orient-database/ic5UE-kyi-w/unsubscribe
>>>>>>>> .
>>>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>>>> orient-database+unsubscr...@googlegroups.com.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "OrientDB" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to orient-database+unsubscr...@googlegroups.com.
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> ---
>>>>>> You received this message because you are subscribed to a topic in
>>>>>> the Google Groups "OrientDB" group.
>>>>>> To unsubscribe from this topic, visit
>>>>>> https://groups.google.com/d/topic/orient-database/ic5UE-kyi-w/unsubscribe
>>>>>> .
>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>> orient-database+unsubscr...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "OrientDB" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to orient-database+unsubscr...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>>>
>>>> ---
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "OrientDB" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/orient-database/ic5UE-kyi-w/unsubscribe
>>>> .
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> orient-database+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "OrientDB" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to orient-database+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "OrientDB" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/orient-database/ic5UE-kyi-w/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> orient-database+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to orient-database+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to