Opened 8 years ago

Last modified 5 years ago

#1385 closed defect

case fails on array joins with different tiling — at Version 2

Reported by: Dimitar Misev Owned by: apercov
Priority: major Milestone: 10.0
Component: qlparser Version: development
Keywords: Cc: Peter Baumann
Complexity: Medium

Description (last modified by Dimitar Misev)

Currently the CASE statement must only contain arrays that adhere to the same tiling scheme. This may not always be the case, so the algorithm should be generalized.

E.g. these queries in the systemtest:

----------------------------------------------------------------------
induction_all_operations_int_divide.rasql
select (case when test_grey2 = 0 then 0c else div(test_grey, test_grey2) end) from test_grey, test_grey2
----------------------------------------------------------------------
induction_all_operations_modulo.rasql
select (case when test_grey2 = 0 then 0c else mod(test_grey, test_grey2) end) from test_grey, test_grey2

.. fail when test_grey and test_grey2 (mr collections basically) are inserted with different tiling schemes:

rasql --user rasadmin --passwd rasadmin -q 'create collection test_grey GreySet'
rasql --user rasadmin --passwd rasadmin -q 'create collection test_grey2 GreySet'
rasql --user rasadmin --passwd rasadmin -q 'insert into test_grey values decode($1 ) tiling aligned [0:49,0:29] tile size 1500' -f $RMANSRC/src/systemtest/testcases_mandatory/test_select/testdata/mr_1.png

rasql --user rasadmin --passwd rasadmin -q 'insert into test_grey2 values decode($1 ) tiling aligned [0:29,0:59] tile size 1800' -f $RMANSRC/src/systemtest/testcases_mandatory/test_select/testdata/mr_1.png

It may be useful to check how the tiles are matched in binary operations like + and replicate that in qtcase*

select test_grey + test_grey2 from test_grey, test_grey2

Change History (2)

comment:1 by Dimitar Misev, 6 years ago

Description: modified (diff)

comment:2 by Dimitar Misev, 5 years ago

Description: modified (diff)
Owner: changed from Vlad Merticariu to apercov
Status: newassigned
Note: See TracTickets for help on using tickets.