Here is the query plan:
exchange
-- ONE_TO_ONE_EXCHANGE |UNPARTITIONED|
unnest $$32 <- function-call:
vxquery:{urn:org.apache.vxquery.operators-ext}iterate, Args:[
%0->$$26
]
-- UNNEST |UNPARTITIONED|
subplan {
select (function-call:
vxquery:{urn:org.apache.vxquery.operators-ext}if-then-else, Args:[
vxquery:{urn:org.apache.vxquery.operators-ext}instance-of <{
http://www.w3.org/2001/XMLSchema-extensions}numeric >, Args:[
{http://www.w3.org/2001/XMLSchema}integer : 1
]
function-call:
vxquery:{urn:org.apache.vxquery.operators-ext}value-eq, Args:[
{http://www.w3.org/2001/XMLSchema}integer : 1
%0->$$27
]
function-call: vxquery:{
http://www.w3.org/2005/xpath-functions}boolean, Args:[
{http://www.w3.org/2001/XMLSchema}integer : 1
]
])
-- STREAM_SELECT |UNPARTITIONED|
unnest $$26 at $$27 <- function-call:
vxquery:{urn:org.apache.vxquery.operators-ext}iterate, Args:[
%0->$$24
]
-- UNNEST |UNPARTITIONED|
assign [$$24] <- [function-call:
vxquery:{urn:org.apache.vxquery.operators-ext}sort-distinct-nodes-asc-or-atomics,
Args:[
vxquery:{urn:org.apache.vxquery.operators-ext}child
<element(NameTest({}bidder, {http://www.w3.org/2001/XMLSchema}anyType,
nilled) >, Args:[
vxquery:{urn:org.apache.vxquery.operators-ext}treat <node*>, Args:[
%0->$$22
]
]
]]
-- ASSIGN |UNPARTITIONED|
nested tuple source
-- NESTED_TUPLE_SOURCE |UNPARTITIONED|
}
-- SUBPLAN |UNPARTITIONED|
unnest $$22 <- function-call:
vxquery:{urn:org.apache.vxquery.operators-ext}iterate, Args:[
%0->$$19
]
-- UNNEST |UNPARTITIONED|
unnest $$19 <-
vxquery:{urn:org.apache.vxquery.operators-ext}child
<element(NameTest({}open_auction, {http://www.w3.org/2001/XMLSchema}anyType,
nilled) >, Args:[
%0->$$15
]
-- UNNEST |UNPARTITIONED|
unnest $$15 <-
vxquery:{urn:org.apache.vxquery.operators-ext}child
<element(NameTest({}open_auctions, {http://www.w3.org/2001/XMLSchema}anyType,
nilled) >, Args:[
%0->$$10
]
-- UNNEST |UNPARTITIONED|
unnest $$10 <-
vxquery:{urn:org.apache.vxquery.operators-ext}child
<element(NameTest({}site, {http://www.w3.org/2001/XMLSchema}anyType,
nilled) >, Args:[
vxquery:{urn:org.apache.vxquery.operators-ext}treat
<node*>, Args:[
%0->$$5
]
]
-- UNNEST |UNPARTITIONED|
unnest $$5 <- function-call:
vxquery:{urn:org.apache.vxquery.operators-ext}iterate, Args:[
%0->$$3
]
-- UNNEST |UNPARTITIONED|
assign [$$3] <- [function-call: vxquery:{
http://www.w3.org/2005/xpath-functions}doc, Args:[
{http://www.w3.org/2001/XMLSchema}string :
open_auctions.xml
]]
-- ASSIGN |UNPARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |UNPARTITIONED|
On Fri, Jul 10, 2015 at 9:12 PM, Eldon Carman <[email protected]> wrote:
> I believe the expression can be removed even from your example query. The
> query must be able to pick out the position item in question. The query
> plan should have a positional variable added by default to the query plan.
> Could you post the query plan before and after optimization?
>