Hi Riyafa,
sorry for coming late to the discussion.
Could you change the message of the commit to contain the issue number?
Then the JIRA issue will automatically be updated with a link to the
commit.
The message could be e.g. (also keeping to the 50 char limit for the
subject
line):
VXQUERY-226: fix key listing and array unboxing
Cheers,
Till
On 7 Aug 2016, at 17:58, Riyafa Abdul Hameed wrote:
Hi,
I have squashed the commits for merging[1] and have created an issue
in the
jira[2].
[1] https://github.com/apache/vxquery/pull/143
[2] https://issues.apache.org/jira/browse/VXQUERY-226
Thank you.
Yours sincerely,
Riyafa
On 5 August 2016 at 22:53, Riyafa Abdul Hameed
<[email protected]>
wrote:
Hi,
The issue was in the XMLQueryTranslator. I have fixed the issue with
the
relevant tests[1].
[1] https://github.com/apache/vxquery/pull/138
Thank you.
Yours sincerely,
Riyafa
On 5 August 2016 at 21:01, Till Westmann <[email protected]> wrote:
Hi Riyafa,
I agree with your expected results and at first glance it looks like
an
implementation issue to me.
It seems that the direct application of the object key listing on an
object
results in a different plan than doing the same operation through a
let-variable.
To find the issue I would try to look at the different optimized
plans for
both queries and see what the difference between the plans is. It
almost
looks like the object key listing is not executed and so it might be
that
it
is not part of the plan (even though that seems highly unlikely).
If it is part of the plan, it would be interesting to find out what
exactly
the data model instance looks like that is passed from the key
access to
the
object key listing. Using fn:trace to do that might be a good first
step.
Does this help?
Cheers,
Till
On 5 Aug 2016, at 7:42, Riyafa Abdul Hameed wrote:
Hi,
When looking for a good example for the documentation, I came
across the
following issue in Object key listing and Array unboxing:
The code
let $x := {
“name” : {“id” : 123, “first” : “Riyafa”,
“Last” : “Abdul
Hameed”}}return $x(“name”)()
returns
{“id” : 123, “first” : “Riyafa”, “Last” : “Abdul
Hameed”}
but the code,
let $x := {
“name” : {“id” : 123, “first” : “Riyafa”,
“Last” : “Abdul Hameed”}}
let $y := $x(“name”)return $y()
returns
id
first
Last
But, as I understand both code should return:
id
first
Last
The same issue is present in Array unboxing:
For example the code
let $x := [[ “mercury”, “venus”, “earth”, “mars”
],[ “monday”,
“tuesday”, “wednesday”, “thursday” ]]return $x(1)()
returns
[ “mercury”, “venus”, “earth”, “mars” ]
while the code
let $x := [[ “mercury”, “venus”, “earth”, “mars”
],[ “monday”,
“tuesday”, “wednesday”, “thursday” ]]
let $y := $x(1)return $y()
returns
mercury
venus
earth
mars
Here also I think both should return:
mercury
venus
earth
mars
I would like to know whether this is a language feature or if its
an
implementation issue. If it’s an implementation issue I am not
sure I
understand where the issue is. Any suggestions would be highly
appreciated.
--
Riyafa Abdul Hameed
Undergraduate, University of Moratuwa
Email: [email protected]
Website: https://riyafa.wordpress.com/
<http://riyafa.wordpress.com/>
<http://facebook.com/riyafa.ahf>
<http://lk.linkedin.com/in/riyafa>
<http://twitter.com/Riyafa1>
--
Riyafa Abdul Hameed
Undergraduate, University of Moratuwa
Email: [email protected]
Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/>
<http://facebook.com/riyafa.ahf> <http://lk.linkedin.com/in/riyafa>
<http://twitter.com/Riyafa1>
--
Riyafa Abdul Hameed
Undergraduate, University of Moratuwa
Email: [email protected]
Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/>
<http://facebook.com/riyafa.ahf> <http://lk.linkedin.com/in/riyafa>
<http://twitter.com/Riyafa1>