Opened 2 years ago

Closed 2 years ago

#2652 closed defect (invalid)

FIX - WCPS needs subset pushdown for binary operators

Reported by: Bang Pham Huu Owned by: Bang Pham Huu
Priority: major Milestone: 10.1
Component: petascope Version: 10.0
Keywords: Cc:
Complexity: Hard

Description

For example there are 2 3D coverages:

  • test_3d with plev irregular axis with coefficients: [0, 10, 50]
  • test_3d_again with plev irregular axis with coefficients: [0, 50]

Now, with this WCPS query:

for $c in (test_3d),
    $d in (test_3d_again)

return encode( ($c + $d) [plev(50)], "png")

This query will return rasql query:

SELECT (c + d)[2] from test_3d AS c, test_3d_again AS d

because the output coverage of the binary operator c + d is c.
Then, the subset plev(50) will be applied to c.

However, this is an error in rasql, because, d[2] doesn't exist.

Hence, the correct way is WCPS needs to push down subset to each operand in the binary operator + in the WCPS query tree.

So the WCPS query (for illustration purpose) should be:

for $c in (test_3d),
    $d in (test_3d_again)

return encode( ($c[plev(50)] + $d[plev(50)]), "png")

Change History (1)

comment:1 by Bang Pham Huu, 2 years ago

Resolution: invalid
Status: assignedclosed

worked already

Note: See TracTickets for help on using tickets.