Ticket #1049: 0001-ticket-1049-test-subsetting.patch

File 0001-ticket-1049-test-subsetting.patch, 63.6 KB (added by Dimitar Misev, 7 years ago)

incomplete patch addressing this ticket

  • qlparser/oql.yy

    From 15a368cbcb3a9ee3997014d6bd0ed9a095914e76 Mon Sep 17 00:00:00 2001
    From: Dimitar Misev <misev@rasdaman.com>
    Date: Mon, 16 Nov 2015 18:31:58 +0100
    Subject: [PATCH] ticket:1049 - test subsetting
    
    ---
     qlparser/oql.yy                                    |  1 +
     qlparser/qtdomainoperation.cc                      | 10 ++++-
     qlparser/qtvariable.cc                             | 37 ++----------------
     .../testcases_mandatory/test_subsetting/README     | 23 +++++++++++
     .../test_subsetting/known_fails                    |  1 +
     .../test_subsetting/oracle/infinite_bounds.oracle  |  1 +
     .../oracle/infinite_bounds_slice.oracle            |  1 +
     .../oracle/infinite_bounds_slice_error.oracle      |  1 +
     .../oracle/intersect_nonmaterialized_tiles.oracle  |  1 +
     .../intersect_nonmaterialized_tiles_2.oracle       |  1 +
     .../oracle/intersect_out_of_bounds.oracle          |  1 +
     .../oracle/intersect_out_of_bounds_2.oracle        |  1 +
     .../oracle/invalid_infinite_bound.oracle           |  1 +
     .../test_subsetting/oracle/less_indexes.oracle     |  1 +
     .../lower_bound_greater_than_upper_bound.oracle    |  1 +
     .../oracle/materialized_tiles_only.oracle          |  1 +
     .../test_subsetting/oracle/more_indexes.oracle     |  1 +
     ...negative_intersect_nonmaterialized_tiles.oracle |  1 +
     ...gative_intersect_nonmaterialized_tiles_2.oracle |  1 +
     .../oracle/negative_materialized_tiles_only.oracle |  1 +
     .../negative_nonmaterialized_tiles_only.oracle     |  1 +
     .../oracle/nonmaterialized_tiles_only.oracle       |  1 +
     .../oracle/single_infinite_bounds.oracle           |  1 +
     .../oracle/single_infinite_bounds_slice.oracle     |  1 +
     .../single_infinite_bounds_slice_error.oracle      |  1 +
     .../single_intersect_nonmaterialized_tiles.oracle  |  1 +
     ...single_intersect_nonmaterialized_tiles_2.oracle |  1 +
     .../oracle/single_intersect_out_of_bounds.oracle   |  1 +
     .../oracle/single_intersect_out_of_bounds_2.oracle |  1 +
     .../oracle/single_invalid_infinite_bound.oracle    |  1 +
     .../oracle/single_less_indexes.oracle              |  1 +
     ...gle_lower_bound_greater_than_upper_bound.oracle |  1 +
     .../oracle/single_materialized_tiles_only.oracle   |  1 +
     .../oracle/single_more_indexes.oracle              |  1 +
     ...negative_intersect_nonmaterialized_tiles.oracle |  1 +
     ...gative_intersect_nonmaterialized_tiles_2.oracle |  1 +
     .../single_negative_materialized_tiles_only.oracle |  1 +
     ...ngle_negative_nonmaterialized_tiles_only.oracle |  1 +
     .../single_nonmaterialized_tiles_only.oracle       |  1 +
     .../single_slice_intersect_nonmaterialized.oracle  |  1 +
     .../oracle/single_three_bounds.oracle              |  1 +
     .../oracle/slice_intersect_nonmaterialized.oracle  |  1 +
     .../subset_intersect_nonmaterialized_tiles.oracle  |  1 +
     ...subset_intersect_nonmaterialized_tiles_2.oracle |  1 +
     .../oracle/subset_materialized_tiles_only.oracle   |  1 +
     ...negative_intersect_nonmaterialized_tiles.oracle |  1 +
     ...gative_intersect_nonmaterialized_tiles_2.oracle |  1 +
     .../subset_negative_materialized_tiles_only.oracle |  1 +
     ...bset_negative_nonmaterialized_tiles_only.oracle |  1 +
     .../subset_nonmaterialized_tiles_only.oracle       |  1 +
     .../test_subsetting/oracle/three_bounds.oracle     |  1 +
     .../test_subsetting/queries/infinite_bounds.rasql  |  1 +
     .../queries/infinite_bounds_slice.rasql            |  1 +
     .../queries/infinite_bounds_slice_error.rasql      |  1 +
     .../queries/intersect_nonmaterialized_tiles.rasql  |  1 +
     .../intersect_nonmaterialized_tiles_2.rasql        |  1 +
     .../queries/intersect_out_of_bounds.rasql          |  1 +
     .../queries/intersect_out_of_bounds_2.rasql        |  1 +
     .../queries/invalid_infinite_bound.rasql           |  1 +
     .../test_subsetting/queries/less_indexes.rasql     |  1 +
     .../lower_bound_greater_than_upper_bound.rasql     |  1 +
     .../queries/materialized_tiles_only.rasql          |  1 +
     .../test_subsetting/queries/more_indexes.rasql     |  1 +
     .../negative_intersect_nonmaterialized_tiles.rasql |  1 +
     ...egative_intersect_nonmaterialized_tiles_2.rasql |  1 +
     .../queries/negative_materialized_tiles_only.rasql |  1 +
     .../negative_nonmaterialized_tiles_only.rasql      |  1 +
     .../queries/nonmaterialized_tiles_only.rasql       |  1 +
     .../queries/single_infinite_bounds.rasql           |  1 +
     .../queries/single_infinite_bounds_slice.rasql     |  1 +
     .../single_infinite_bounds_slice_error.rasql       |  1 +
     .../single_intersect_nonmaterialized_tiles.rasql   |  1 +
     .../single_intersect_nonmaterialized_tiles_2.rasql |  1 +
     .../queries/single_intersect_out_of_bounds.rasql   |  1 +
     .../queries/single_intersect_out_of_bounds_2.rasql |  1 +
     .../queries/single_invalid_infinite_bound.rasql    |  1 +
     .../queries/single_less_indexes.rasql              |  1 +
     ...ngle_lower_bound_greater_than_upper_bound.rasql |  1 +
     .../queries/single_materialized_tiles_only.rasql   |  1 +
     .../queries/single_more_indexes.rasql              |  1 +
     ..._negative_intersect_nonmaterialized_tiles.rasql |  1 +
     ...egative_intersect_nonmaterialized_tiles_2.rasql |  1 +
     .../single_negative_materialized_tiles_only.rasql  |  1 +
     ...ingle_negative_nonmaterialized_tiles_only.rasql |  1 +
     .../single_nonmaterialized_tiles_only.rasql        |  1 +
     .../single_slice_intersect_nonmaterialized.rasql   |  1 +
     .../queries/single_three_bounds.rasql              |  1 +
     .../queries/slice_intersect_nonmaterialized.rasql  |  1 +
     .../test_subsetting/queries/three_bounds.rasql     |  1 +
     .../testcases_mandatory/test_subsetting/test.sh    |  1 +
     .../testcases_mandatory/test_subsetting/testdata   |  1 +
     systemtest/util/common.sh                          | 10 ++---
     systemtest/util/rasql.sh                           | 44 ++++++++++++++++++++++
     systemtest/util/test_oracle.sh                     | 18 +++++----
     94 files changed, 183 insertions(+), 47 deletions(-)
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/README
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/known_fails
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds_slice.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds_slice_error.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/intersect_nonmaterialized_tiles.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/intersect_nonmaterialized_tiles_2.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/intersect_out_of_bounds.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/intersect_out_of_bounds_2.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/invalid_infinite_bound.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/less_indexes.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/lower_bound_greater_than_upper_bound.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/materialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/more_indexes.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/negative_intersect_nonmaterialized_tiles.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/negative_intersect_nonmaterialized_tiles_2.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/negative_materialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/negative_nonmaterialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/nonmaterialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds_slice.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds_slice_error.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_nonmaterialized_tiles.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_nonmaterialized_tiles_2.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_out_of_bounds.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_out_of_bounds_2.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_invalid_infinite_bound.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_less_indexes.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_lower_bound_greater_than_upper_bound.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_materialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_more_indexes.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_intersect_nonmaterialized_tiles.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_intersect_nonmaterialized_tiles_2.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_materialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_nonmaterialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_nonmaterialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_slice_intersect_nonmaterialized.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/single_three_bounds.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/slice_intersect_nonmaterialized.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/subset_intersect_nonmaterialized_tiles.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/subset_intersect_nonmaterialized_tiles_2.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/subset_materialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_intersect_nonmaterialized_tiles.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_intersect_nonmaterialized_tiles_2.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_materialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_nonmaterialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/subset_nonmaterialized_tiles_only.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/oracle/three_bounds.oracle
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds_slice.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds_slice_error.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/intersect_nonmaterialized_tiles.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/intersect_nonmaterialized_tiles_2.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/intersect_out_of_bounds.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/intersect_out_of_bounds_2.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/invalid_infinite_bound.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/less_indexes.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/lower_bound_greater_than_upper_bound.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/materialized_tiles_only.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/more_indexes.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/negative_intersect_nonmaterialized_tiles.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/negative_intersect_nonmaterialized_tiles_2.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/negative_materialized_tiles_only.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/negative_nonmaterialized_tiles_only.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/nonmaterialized_tiles_only.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds_slice.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds_slice_error.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_nonmaterialized_tiles.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_nonmaterialized_tiles_2.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_out_of_bounds.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_out_of_bounds_2.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_invalid_infinite_bound.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_less_indexes.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_lower_bound_greater_than_upper_bound.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_materialized_tiles_only.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_more_indexes.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_negative_intersect_nonmaterialized_tiles.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_negative_intersect_nonmaterialized_tiles_2.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_negative_materialized_tiles_only.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_negative_nonmaterialized_tiles_only.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_nonmaterialized_tiles_only.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_slice_intersect_nonmaterialized.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/single_three_bounds.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/slice_intersect_nonmaterialized.rasql
     create mode 100644 systemtest/testcases_mandatory/test_subsetting/queries/three_bounds.rasql
     create mode 120000 systemtest/testcases_mandatory/test_subsetting/test.sh
     create mode 120000 systemtest/testcases_mandatory/test_subsetting/testdata
    
    diff --git a/qlparser/oql.yy b/qlparser/oql.yy
    index 2665c28..f70cc71 100644
    a b trimExp: generalExp mintervalExp  
    30943094          parseQueryTree->removeDynamicObject( $2 );
    30953095          parseQueryTree->addDynamicObject( dop );
    30963096          $$ = dop;
     3097          $$->setParseInfo( $2->getParseInfo() );
    30973098          if (mflag == MF_IN_CONTEXT)
    30983099            parseQueryTree->addDomainObject( dop );       
    30993100        };   
  • qlparser/qtdomainoperation.cc

    diff --git a/qlparser/qtdomainoperation.cc b/qlparser/qtdomainoperation.cc
    index e503add..ebb46dc 100644
    a b QtDomainOperation::evaluate( QtDataList* inputList )  
    452452            // get minterval data
    453453            vector<bool>*  trimFlags = new vector<bool>( *((static_cast<QtMintervalData*>(indexData))->getTrimFlags()) );
    454454            r_Minterval    domain    = (static_cast<QtMintervalData*>(indexData))->getMintervalData();
    455 
     455           
    456456            //
    457457            // In case of dynamic index expressions, load optimization has to
    458458            // be performed for the current input expression.
    QtDomainOperation::evaluate( QtDataList* inputList )  
    508508
    509509            if( currentMDDObj )
    510510            {
     511                r_Minterval currentDomain = currentMDDObj->getCurrentDomain();
     512                if (!currentDomain.intersects_with(domain))
     513                {
     514                    LERROR << "Subset domain " << domain << " does not intersect with the spatial domain of MDD " << currentDomain;
     515                    parseInfo.setErrorNo(356);
     516                    throw parseInfo;
     517                }
     518               
    511519                bool trimming   = false;
    512520                bool projection = false;
    513521                nullValues = currentMDDObj->getNullValues();
  • qlparser/qtvariable.cc

    diff --git a/qlparser/qtvariable.cc b/qlparser/qtvariable.cc
    index b9ff623..4dc03ea 100644
    a b QtVariable::evaluate( QtDataList* inputList ) throw (ParseInfo)  
    260260                }
    261261                catch( r_Eno_interval )
    262262                {
    263                     // ticket:358
    264                     // Instead of throwing an exception, return an MDD initialized
    265                     // with null values when selecting an area that doesn't intersect
    266                     // with any existing tiles in the database -- DM 2013-nov-15
    267                     LWARNING << "Warning: specified domain " << loadDomain
    268                             << " does not intersect with spatial domain of MDD, returning empty result.";
    269 
    270                     const MDDBaseType* mddType = currentMDDObj->getMDDBaseType();
    271                     const unsigned int mddTypeSize = mddType->getBaseType()->getSize();
    272                     const r_Area cellCount = loadDomain.cell_count();
    273                     const r_Bytes arrayLength = cellCount * mddTypeSize;
    274 
    275                     // create a transient MDD object for the query result
    276                     MDDObj* resultMDD = new MDDObj( mddType, loadDomain );
    277                     char* data = static_cast<char*>(mymalloc( arrayLength ));
    278 
    279                     // fill with null value
    280                     memset( data, 0, arrayLength );
    281 
    282                     // create transient tile
    283                     Tile* resTile = new Tile( loadDomain, mddType->getBaseType(), data, arrayLength );
    284                     resTile->setPersistent(false);
    285 
    286                     // insert Tile in result mddObj
    287                     resultMDD->insertTile( resTile );
    288                     returnValue = new QtMDD( resultMDD );
    289 
    290                     stopTimer();
    291                     return returnValue;
    292 
    293 //                    LFATAL << "Error: QtVariable::evaluate() - Specified domain does not intersect with spatial domain of MDD.";
    294 //                    parseInfo.setErrorNo(356);
    295 //                    throw parseInfo;
     263                    LFATAL << "Specified domain " << loadDomain
     264                            << " does not intersect with the spatial domain of MDD " << currentMDDObj->getCurrentDomain();
     265                    parseInfo.setErrorNo(356);
     266                    throw parseInfo;
    296267                }
    297268                catch( r_Error& err )
    298269                {
  • new file systemtest/testcases_mandatory/test_subsetting/README

    diff --git a/systemtest/testcases_mandatory/test_subsetting/README b/systemtest/testcases_mandatory/test_subsetting/README
    new file mode 100644
    index 0000000..43365c1
    - +  
     1This test suite checks that subsetting in rasdaman is handled correctly.
     2Test queries in the queries directory should use the testdata described below:
     3
     4* test_subsetting
     5 - 2D char array
     6 - sdom: [-500:755,-500:710]
     7 - tiles: "[0:255,0:210]",
     8          "[500:755,500:710]",
     9          "[-500:-245,-500:-290]"
     10
     11* test_subsetting_single
     12 - 2D RGB array
     13 - sdom: [0:399,0:343]
     14 - tiles: "[0:399,0:343]"
     15
     16* test_subsetting_3d
     17 - 3D char array
     18 - sdom: [0:1,-500:755,-500:710]
     19 - tiles: "[0:0,-500:-500,-499:-290]",
     20          "[0:0,-499:-245,-500:-290]",
     21          "[1:1,500:755,500:710]",
     22          "[0:0,-500:-500,-500:-500]"
     23
  • new file systemtest/testcases_mandatory/test_subsetting/known_fails

    diff --git a/systemtest/testcases_mandatory/test_subsetting/known_fails b/systemtest/testcases_mandatory/test_subsetting/known_fails
    new file mode 100644
    index 0000000..61565d2
    - +  
     1single_negative_intersect_nonmaterialized_tiles.rasql
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds.oracle
    new file mode 100644
    index 0000000..df57309
    - +  
     1  Result element 1: [-500:150,-200:710]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds_slice.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds_slice.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds_slice.oracle
    new file mode 100644
    index 0000000..9471765
    - +  
     1  Result element 1: [-500:150]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds_slice_error.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds_slice_error.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/infinite_bounds_slice_error.oracle
    new file mode 100644
    index 0000000..0f8c781
    - +  
     1rasdaman error 300: Parsing error 300 in line 1, column 22: Unexpected name ].
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/intersect_nonmaterialized_tiles.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/intersect_nonmaterialized_tiles.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/intersect_nonmaterialized_tiles.oracle
    new file mode 100644
    index 0000000..d00e1c4
    - +  
     1  Result element 1: [200:350,200:350]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/intersect_nonmaterialized_tiles_2.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/intersect_nonmaterialized_tiles_2.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/intersect_nonmaterialized_tiles_2.oracle
    new file mode 100644
    index 0000000..0c9e4d5
    - +  
     1  Result element 1: [200:650,200:650]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/intersect_out_of_bounds.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/intersect_out_of_bounds.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/intersect_out_of_bounds.oracle
    new file mode 100644
    index 0000000..c4a58e6
    - +  
     1rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/intersect_out_of_bounds_2.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/intersect_out_of_bounds_2.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/intersect_out_of_bounds_2.oracle
    new file mode 100644
    index 0000000..c4a58e6
    - +  
     1rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/invalid_infinite_bound.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/invalid_infinite_bound.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/invalid_infinite_bound.oracle
    new file mode 100644
    index 0000000..411756e
    - +  
     1rasdaman error 300: Parsing error 300 in line 1, column 21: Unexpected name ,.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/less_indexes.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/less_indexes.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/less_indexes.oracle
    new file mode 100644
    index 0000000..7580708
    - +  
     1rasdaman error 362: Execution error 362 in line 1, column 13, near token c: Specified domain dimensionality does not equal defined dimensionality of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/lower_bound_greater_than_upper_bound.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/lower_bound_greater_than_upper_bound.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/lower_bound_greater_than_upper_bound.oracle
    new file mode 100644
    index 0000000..3696b92
    - +  
     1rasdaman error 389: Execution error 389 in line 1, column 18, near token :: No interval (in case of fixed bounds, the upper one can not be smaller than the lower one).
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/materialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/materialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/materialized_tiles_only.oracle
    new file mode 100644
    index 0000000..2942c45
    - +  
     1  Result element 1: [100:110,100:110]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/more_indexes.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/more_indexes.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/more_indexes.oracle
    new file mode 100644
    index 0000000..7580708
    - +  
     1rasdaman error 362: Execution error 362 in line 1, column 13, near token c: Specified domain dimensionality does not equal defined dimensionality of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/negative_intersect_nonmaterialized_tiles.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/negative_intersect_nonmaterialized_tiles.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/negative_intersect_nonmaterialized_tiles.oracle
    new file mode 100644
    index 0000000..b16f6e2
    - +  
     1  Result element 1: [-400:150,-200:350]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/negative_intersect_nonmaterialized_tiles_2.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/negative_intersect_nonmaterialized_tiles_2.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/negative_intersect_nonmaterialized_tiles_2.oracle
    new file mode 100644
    index 0000000..bd4d0bf
    - +  
     1  Result element 1: [-400:-150,-200:-150]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/negative_materialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/negative_materialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/negative_materialized_tiles_only.oracle
    new file mode 100644
    index 0000000..8d44084
    - +  
     1  Result element 1: [-400:-310,-400:-310]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/negative_nonmaterialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/negative_nonmaterialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/negative_nonmaterialized_tiles_only.oracle
    new file mode 100644
    index 0000000..9108c69
    - +  
     1  Result element 1: [-100:-50,-100:-50]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/nonmaterialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/nonmaterialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/nonmaterialized_tiles_only.oracle
    new file mode 100644
    index 0000000..4fadd1e
    - +  
     1  Result element 1: [300:350,300:350]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds.oracle
    new file mode 100644
    index 0000000..df53a22
    - +  
     1  Result element 1: [0:150,0:343]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds_slice.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds_slice.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds_slice.oracle
    new file mode 100644
    index 0000000..c4a58e6
    - +  
     1rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds_slice_error.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds_slice_error.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_infinite_bounds_slice_error.oracle
    new file mode 100644
    index 0000000..0f8c781
    - +  
     1rasdaman error 300: Parsing error 300 in line 1, column 22: Unexpected name ].
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_nonmaterialized_tiles.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_nonmaterialized_tiles.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_nonmaterialized_tiles.oracle
    new file mode 100644
    index 0000000..75adb33
    - +  
     1  Result element 1: [200:350,200:343]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_nonmaterialized_tiles_2.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_nonmaterialized_tiles_2.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_nonmaterialized_tiles_2.oracle
    new file mode 100644
    index 0000000..e145108
    - +  
     1  Result element 1: [200:399,200:343]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_out_of_bounds.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_out_of_bounds.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_out_of_bounds.oracle
    new file mode 100644
    index 0000000..c4a58e6
    - +  
     1rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_out_of_bounds_2.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_out_of_bounds_2.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_intersect_out_of_bounds_2.oracle
    new file mode 100644
    index 0000000..c4a58e6
    - +  
     1rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_invalid_infinite_bound.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_invalid_infinite_bound.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_invalid_infinite_bound.oracle
    new file mode 100644
    index 0000000..411756e
    - +  
     1rasdaman error 300: Parsing error 300 in line 1, column 21: Unexpected name ,.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_less_indexes.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_less_indexes.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_less_indexes.oracle
    new file mode 100644
    index 0000000..7580708
    - +  
     1rasdaman error 362: Execution error 362 in line 1, column 13, near token c: Specified domain dimensionality does not equal defined dimensionality of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_lower_bound_greater_than_upper_bound.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_lower_bound_greater_than_upper_bound.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_lower_bound_greater_than_upper_bound.oracle
    new file mode 100644
    index 0000000..3696b92
    - +  
     1rasdaman error 389: Execution error 389 in line 1, column 18, near token :: No interval (in case of fixed bounds, the upper one can not be smaller than the lower one).
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_materialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_materialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_materialized_tiles_only.oracle
    new file mode 100644
    index 0000000..2942c45
    - +  
     1  Result element 1: [100:110,100:110]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_more_indexes.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_more_indexes.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_more_indexes.oracle
    new file mode 100644
    index 0000000..7580708
    - +  
     1rasdaman error 362: Execution error 362 in line 1, column 13, near token c: Specified domain dimensionality does not equal defined dimensionality of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_intersect_nonmaterialized_tiles.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_intersect_nonmaterialized_tiles.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_intersect_nonmaterialized_tiles.oracle
    new file mode 100644
    index 0000000..b16f6e2
    - +  
     1  Result element 1: [-400:150,-200:350]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_intersect_nonmaterialized_tiles_2.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_intersect_nonmaterialized_tiles_2.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_intersect_nonmaterialized_tiles_2.oracle
    new file mode 100644
    index 0000000..c4a58e6
    - +  
     1rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_materialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_materialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_materialized_tiles_only.oracle
    new file mode 100644
    index 0000000..c4a58e6
    - +  
     1rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_nonmaterialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_nonmaterialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_negative_nonmaterialized_tiles_only.oracle
    new file mode 100644
    index 0000000..c4a58e6
    - +  
     1rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD.
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_nonmaterialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_nonmaterialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_nonmaterialized_tiles_only.oracle
    new file mode 100644
    index 0000000..ca8fb80
    - +  
     1  Result element 1: [300:350,300:343]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_slice_intersect_nonmaterialized.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_slice_intersect_nonmaterialized.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_slice_intersect_nonmaterialized.oracle
    new file mode 100644
    index 0000000..f9ea176
    - +  
     1  Result element 1: [200:350]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/single_three_bounds.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/single_three_bounds.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/single_three_bounds.oracle
    new file mode 100644
    index 0000000..bbc1eb7
    - +  
     1rasdaman error 389: Execution error 389 in line 1, column 24, near token :: No interval (in case of fixed bounds, the upper one can not be smaller than the lower one).
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/slice_intersect_nonmaterialized.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/slice_intersect_nonmaterialized.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/slice_intersect_nonmaterialized.oracle
    new file mode 100644
    index 0000000..f9ea176
    - +  
     1  Result element 1: [200:350]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/subset_intersect_nonmaterialized_tiles.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/subset_intersect_nonmaterialized_tiles.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/subset_intersect_nonmaterialized_tiles.oracle
    new file mode 100644
    index 0000000..d00e1c4
    - +  
     1  Result element 1: [200:350,200:350]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/subset_intersect_nonmaterialized_tiles_2.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/subset_intersect_nonmaterialized_tiles_2.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/subset_intersect_nonmaterialized_tiles_2.oracle
    new file mode 100644
    index 0000000..0c9e4d5
    - +  
     1  Result element 1: [200:650,200:650]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/subset_materialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/subset_materialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/subset_materialized_tiles_only.oracle
    new file mode 100644
    index 0000000..2942c45
    - +  
     1  Result element 1: [100:110,100:110]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_intersect_nonmaterialized_tiles.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_intersect_nonmaterialized_tiles.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_intersect_nonmaterialized_tiles.oracle
    new file mode 100644
    index 0000000..b16f6e2
    - +  
     1  Result element 1: [-400:150,-200:350]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_intersect_nonmaterialized_tiles_2.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_intersect_nonmaterialized_tiles_2.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_intersect_nonmaterialized_tiles_2.oracle
    new file mode 100644
    index 0000000..bd4d0bf
    - +  
     1  Result element 1: [-400:-150,-200:-150]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_materialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_materialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_materialized_tiles_only.oracle
    new file mode 100644
    index 0000000..8d44084
    - +  
     1  Result element 1: [-400:-310,-400:-310]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_nonmaterialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_nonmaterialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/subset_negative_nonmaterialized_tiles_only.oracle
    new file mode 100644
    index 0000000..9108c69
    - +  
     1  Result element 1: [-100:-50,-100:-50]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/subset_nonmaterialized_tiles_only.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/subset_nonmaterialized_tiles_only.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/subset_nonmaterialized_tiles_only.oracle
    new file mode 100644
    index 0000000..4fadd1e
    - +  
     1  Result element 1: [300:350,300:350]
  • new file systemtest/testcases_mandatory/test_subsetting/oracle/three_bounds.oracle

    diff --git a/systemtest/testcases_mandatory/test_subsetting/oracle/three_bounds.oracle b/systemtest/testcases_mandatory/test_subsetting/oracle/three_bounds.oracle
    new file mode 100644
    index 0000000..bbc1eb7
    - +  
     1rasdaman error 389: Execution error 389 in line 1, column 24, near token :: No interval (in case of fixed bounds, the upper one can not be smaller than the lower one).
  • new file systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds.rasql
    new file mode 100644
    index 0000000..165f5aa
    - +  
     1select sdom(c[*:150,-200:*]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds_slice.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds_slice.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds_slice.rasql
    new file mode 100644
    index 0000000..ee9e33e
    - +  
     1select sdom(c[*:150,-200]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds_slice_error.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds_slice_error.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/infinite_bounds_slice_error.rasql
    new file mode 100644
    index 0000000..d6cf562
    - +  
     1select sdom(c[*:150,*]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/intersect_nonmaterialized_tiles.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/intersect_nonmaterialized_tiles.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/intersect_nonmaterialized_tiles.rasql
    new file mode 100644
    index 0000000..eeeb21c
    - +  
     1select sdom(c[200:350,200:350]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/intersect_nonmaterialized_tiles_2.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/intersect_nonmaterialized_tiles_2.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/intersect_nonmaterialized_tiles_2.rasql
    new file mode 100644
    index 0000000..c1ec4bf
    - +  
     1select sdom(c[200:650,200:650]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/intersect_out_of_bounds.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/intersect_out_of_bounds.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/intersect_out_of_bounds.rasql
    new file mode 100644
    index 0000000..be6a3c9
    - +  
     1select sdom(c[-1000:-600,-1000:-600]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/intersect_out_of_bounds_2.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/intersect_out_of_bounds_2.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/intersect_out_of_bounds_2.rasql
    new file mode 100644
    index 0000000..7b220db
    - +  
     1select sdom(c[-1000:-600,550:800]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/invalid_infinite_bound.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/invalid_infinite_bound.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/invalid_infinite_bound.rasql
    new file mode 100644
    index 0000000..f7f421d
    - +  
     1select sdom(c[300:**,5]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/less_indexes.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/less_indexes.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/less_indexes.rasql
    new file mode 100644
    index 0000000..bf9f395
    - +  
     1select sdom(c[300:350]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/lower_bound_greater_than_upper_bound.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/lower_bound_greater_than_upper_bound.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/lower_bound_greater_than_upper_bound.rasql
    new file mode 100644
    index 0000000..f933df4
    - +  
     1select sdom(c[200:150,200:150]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/materialized_tiles_only.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/materialized_tiles_only.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/materialized_tiles_only.rasql
    new file mode 100644
    index 0000000..bf03a00
    - +  
     1select sdom(c[100:110,100:110]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/more_indexes.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/more_indexes.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/more_indexes.rasql
    new file mode 100644
    index 0000000..de7d47f
    - +  
     1select sdom(c[300:350,5,6,4]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/negative_intersect_nonmaterialized_tiles.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/negative_intersect_nonmaterialized_tiles.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/negative_intersect_nonmaterialized_tiles.rasql
    new file mode 100644
    index 0000000..2dcbc4e
    - +  
     1select sdom(c[-400:150,-200:350]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/negative_intersect_nonmaterialized_tiles_2.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/negative_intersect_nonmaterialized_tiles_2.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/negative_intersect_nonmaterialized_tiles_2.rasql
    new file mode 100644
    index 0000000..e8c45be
    - +  
     1select sdom(c[-400:-150,-200:-150]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/negative_materialized_tiles_only.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/negative_materialized_tiles_only.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/negative_materialized_tiles_only.rasql
    new file mode 100644
    index 0000000..38772c9
    - +  
     1select sdom(c[-400:-310,-400:-310]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/negative_nonmaterialized_tiles_only.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/negative_nonmaterialized_tiles_only.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/negative_nonmaterialized_tiles_only.rasql
    new file mode 100644
    index 0000000..9950bf6
    - +  
     1select sdom(c[-100:-50,-100:-50]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/nonmaterialized_tiles_only.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/nonmaterialized_tiles_only.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/nonmaterialized_tiles_only.rasql
    new file mode 100644
    index 0000000..3dc6a9e
    - +  
     1select sdom(c[300:350,300:350]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds.rasql
    new file mode 100644
    index 0000000..690b902
    - +  
     1select sdom(c[*:150,-200:*]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds_slice.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds_slice.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds_slice.rasql
    new file mode 100644
    index 0000000..79eb8de
    - +  
     1select sdom(c[*:150,-200]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds_slice_error.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds_slice_error.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_infinite_bounds_slice_error.rasql
    new file mode 100644
    index 0000000..72bb2bb
    - +  
     1select sdom(c[*:150,*]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_nonmaterialized_tiles.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_nonmaterialized_tiles.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_nonmaterialized_tiles.rasql
    new file mode 100644
    index 0000000..76b0fa9
    - +  
     1select sdom(c[200:350,200:350]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_nonmaterialized_tiles_2.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_nonmaterialized_tiles_2.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_nonmaterialized_tiles_2.rasql
    new file mode 100644
    index 0000000..4bd58d9
    - +  
     1select sdom(c[200:650,200:650]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_out_of_bounds.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_out_of_bounds.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_out_of_bounds.rasql
    new file mode 100644
    index 0000000..9b06ef4
    - +  
     1select sdom(c[-1000:-600,-1000:-600]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_out_of_bounds_2.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_out_of_bounds_2.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_intersect_out_of_bounds_2.rasql
    new file mode 100644
    index 0000000..f1a9120
    - +  
     1select sdom(c[-1000:-600,550:800]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_invalid_infinite_bound.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_invalid_infinite_bound.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_invalid_infinite_bound.rasql
    new file mode 100644
    index 0000000..bcf8915
    - +  
     1select sdom(c[300:**,5]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_less_indexes.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_less_indexes.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_less_indexes.rasql
    new file mode 100644
    index 0000000..8ed0486
    - +  
     1select sdom(c[300:350]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_lower_bound_greater_than_upper_bound.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_lower_bound_greater_than_upper_bound.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_lower_bound_greater_than_upper_bound.rasql
    new file mode 100644
    index 0000000..8090f7b
    - +  
     1select sdom(c[200:150,200:150]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_materialized_tiles_only.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_materialized_tiles_only.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_materialized_tiles_only.rasql
    new file mode 100644
    index 0000000..64e7ae9
    - +  
     1select sdom(c[100:110,100:110]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_more_indexes.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_more_indexes.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_more_indexes.rasql
    new file mode 100644
    index 0000000..ecfdba3
    - +  
     1select sdom(c[300:350,5,6,4]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_negative_intersect_nonmaterialized_tiles.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_negative_intersect_nonmaterialized_tiles.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_negative_intersect_nonmaterialized_tiles.rasql
    new file mode 100644
    index 0000000..42c8c51
    - +  
     1select sdom(c[-400:150,-200:350]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_negative_intersect_nonmaterialized_tiles_2.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_negative_intersect_nonmaterialized_tiles_2.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_negative_intersect_nonmaterialized_tiles_2.rasql
    new file mode 100644
    index 0000000..d3beb9e
    - +  
     1select sdom(c[-400:-150,-200:-150]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_negative_materialized_tiles_only.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_negative_materialized_tiles_only.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_negative_materialized_tiles_only.rasql
    new file mode 100644
    index 0000000..0e9eca5
    - +  
     1select sdom(c[-400:-310,-400:-310]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_negative_nonmaterialized_tiles_only.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_negative_nonmaterialized_tiles_only.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_negative_nonmaterialized_tiles_only.rasql
    new file mode 100644
    index 0000000..fc60c65
    - +  
     1select sdom(c[-100:-50,-100:-50]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_nonmaterialized_tiles_only.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_nonmaterialized_tiles_only.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_nonmaterialized_tiles_only.rasql
    new file mode 100644
    index 0000000..6c7939c
    - +  
     1select sdom(c[300:350,300:350]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_slice_intersect_nonmaterialized.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_slice_intersect_nonmaterialized.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_slice_intersect_nonmaterialized.rasql
    new file mode 100644
    index 0000000..e4c1ba6
    - +  
     1select sdom(c[200:350,5]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/single_three_bounds.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/single_three_bounds.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/single_three_bounds.rasql
    new file mode 100644
    index 0000000..691df51
    - +  
     1select sdom(c[*:150,*:*:4]) from test_subsetting_single as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/slice_intersect_nonmaterialized.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/slice_intersect_nonmaterialized.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/slice_intersect_nonmaterialized.rasql
    new file mode 100644
    index 0000000..fd702d3
    - +  
     1select sdom(c[200:350,5]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/queries/three_bounds.rasql

    diff --git a/systemtest/testcases_mandatory/test_subsetting/queries/three_bounds.rasql b/systemtest/testcases_mandatory/test_subsetting/queries/three_bounds.rasql
    new file mode 100644
    index 0000000..40a86e4
    - +  
     1select sdom(c[*:150,*:*:4]) from test_subsetting as c
  • new file systemtest/testcases_mandatory/test_subsetting/test.sh

    diff --git a/systemtest/testcases_mandatory/test_subsetting/test.sh b/systemtest/testcases_mandatory/test_subsetting/test.sh
    new file mode 120000
    index 0000000..e1c40fe
    - +  
     1../../util/test_oracle.sh
     2 No newline at end of file
  • new file systemtest/testcases_mandatory/test_subsetting/testdata

    diff --git a/systemtest/testcases_mandatory/test_subsetting/testdata b/systemtest/testcases_mandatory/test_subsetting/testdata
    new file mode 120000
    index 0000000..1c2e2e0
    - +  
     1../test_select/testdata/
     2 No newline at end of file
  • systemtest/util/common.sh

    diff --git a/systemtest/util/common.sh b/systemtest/util/common.sh
    index b04123f..d7a7d78 100644
    a b TEST_RGB2=test_rgb2  
    6464TEST_GREY3D=test_grey3d
    6565TEST_COMPLEX=test_complex
    6666TEST_NULL=nulltest
     67TEST_SUBSETTING=test_subsetting
     68TEST_SUBSETTING_SINGLE=test_subsetting_single
     69TEST_SUBSETTING_3D=test_subsetting_3d
    6770
    6871
    6972# ------------------------------------------------------------------------------
    update_result()  
    337340{
    338341  local rc=$?
    339342
    340   grep "$f" "$KNOWN_FAILS" > /dev/null 2>&1
     343  egrep "^$f$" "$KNOWN_FAILS" > /dev/null 2>&1
    341344  local known_fail=$?
    342345
    343346  if [ $rc != 0 ]; then
    run_test()  
    531534              $WGET -q "$SECORE_URL$QUERY" -O "$out"
    532535              WGET_EXIT_CODE=$?
    533536              ;;
    534       select|rasql|nullvalues|jit)
     537      select|rasql|nullvalues|subsetting)
    535538              QUERY=`cat $f`
    536               if [ "$SVC_NAME" = "jit" ]; then
    537                 QUERY="$QUERY [opt 4]"
    538               fi
    539539              $RASQL -q "$QUERY" --out file --outfile "$out" --quiet > /dev/null 2> "$err"
    540540
    541541              # if an exception was thrown, then the err file has non-zero size
  • systemtest/util/rasql.sh

    diff --git a/systemtest/util/rasql.sh b/systemtest/util/rasql.sh
    index f91cde1..4a43f8b 100644
    a b function import_nullvalues_data()  
    298298}
    299299
    300300#
     301# import data used in rasql subsetting tests. Expects arguments
     302# $1 - testdata dir holding files to be imported
     303#
     304function import_subsetting_data()
     305{
     306  local TESTDATA_PATH="$1"
     307  if [ ! -d "$TESTDATA_PATH" ]; then
     308    error "testdata path $TESTDATA_PATH not found."
     309  fi
     310  if [ ! -f "$TESTDATA_PATH/mr_1.png" ]; then
     311    error "testdata file $TESTDATA_PATH/mr_1.png not found"
     312  fi
     313  if [ ! -f "$TESTDATA_PATH/rgb.png" ]; then
     314    error "testdata file $TESTDATA_PATH/rgb.png not found"
     315  fi
     316 
     317  # check data types
     318  check_type GreySet
     319  check_type RGBSet
     320  check_type GreySet3
     321 
     322  drop_colls $TEST_SUBSETTING $TEST_SUBSETTING_SINGLE $TEST_SUBSETTING_3D
     323
     324  create_coll $TEST_SUBSETTING GreySet
     325  # this creates an object of size: [0:255,0:210]
     326  insert_into $TEST_SUBSETTING "$TESTDATA_PATH/mr_1.png" "" "decode"
     327
     328  # we extend this to an object of size: [0:755,0:710]
     329  # materializing data at: [500:755,500:710]
     330  $RASQL -q "update $TEST_SUBSETTING as m set m assign shift(decode(\$1), [500, 500])" -f "$TESTDATA_PATH/mr_1.png" --quiet > /dev/null
     331
     332  # and let's extend negative in order to test negative indexing: [-500:755,-500:710]
     333  $RASQL -q "update $TEST_SUBSETTING as m set m assign shift(decode(\$1), [-500, -500])" -f "$TESTDATA_PATH/mr_1.png" --quiet > /dev/null
     334 
     335  create_coll $TEST_SUBSETTING_SINGLE RGBSet
     336  insert_into $TEST_SUBSETTING_SINGLE "$TESTDATA_PATH/rgb.png" "" "decode"
     337 
     338  create_coll $TEST_SUBSETTING_3D GreySet3
     339  $RASQL -q "insert into $TEST_SUBSETTING_3D values marray i in [0:0,-500:-500,-500:-500] values 0c" --quiet > /dev/null
     340  $RASQL -q "update $TEST_SUBSETTING_3D as m set m[0,*:*,*:*] assign shift(decode(\$1), [-500, -500])" -f "$TESTDATA_PATH/mr_1.png" --quiet > /dev/null
     341  $RASQL -q "update $TEST_SUBSETTING_3D as m set m[1,*:*,*:*] assign shift(decode(\$1), [500, 500])" -f "$TESTDATA_PATH/mr_1.png" --quiet > /dev/null
     342}
     343
     344#
    301345# drop null values test data, including imported null types
    302346#
    303347drop_nullvalues_data()
  • systemtest/util/test_oracle.sh

    diff --git a/systemtest/util/test_oracle.sh b/systemtest/util/test_oracle.sh
    index f8023b5..878b7cc 100755
    a b  
    4040#       2013-Dec-03     DM         known_fails file listing queries that are known to fail
    4141#
    4242
    43 PROG=`basename $0`
     43PROG=$(basename $0)
    4444
    4545# get dir of linking script
    4646SOURCE="${BASH_SOURCE[0]}"
    drop_data()  
    8585  [ "$SVC_NAME" == "secore" -o "$SVC_NAME" == "nullvalues" ] || drop_colls $TEST_GREY $TEST_GREY2 $TEST_RGB2 $TEST_COMPLEX
    8686  [ "$SVC_NAME" == "secore" -o "$SVC_NAME" == "select" -o "$SVC_NAME" == "nullvalues" ] || drop_petascope_data
    8787  [ "$SVC_NAME" == "nullvalues" ] && drop_nullvalues_data
     88  [ "$SVC_NAME" == "subsetting" ] || drop_colls $TEST_SUBSETTING $TEST_SUBSETTING_SINGLE $TEST_SUBSETTING_3D
    8889}
    8990
    9091#
    cleanup()  
    100101    exit $RC_OK
    101102  fi
    102103}
    103 
    104 # trap keyboard interrupt (control-c)
    105 trap cleanup SIGINT
     104trap cleanup EXIT
    106105
    107106
    108107# ------------------------------------------------------------------------------
    if [ $? -eq 0 ]; then  
    118117fi
    119118echo "$SCRIPT_DIR" | grep "testcases_services" > /dev/null
    120119if [ $? -eq 0 ]; then
     120  check_postgres
    121121  if [ "$SVC_NAME" != "secore" ]; then
    122122    check_petascope || exit $RC_SKIP
    123123  fi
    124124fi
    125 check_postgres
    126125[ "$SVC_NAME" != "secore" ] && check_rasdaman
    127126check_wget
    128127check_gdal
    for i in $*; do  
    138137  esac
    139138done
    140139
     140#
    141141# run import if necessary
     142#
    142143drop_data
    143 [ "$SVC_NAME" == "secore" -o "$SVC_NAME" == "select" -o "$SVC_NAME" == "nullvalues" ] || import_petascope_data "$TESTDATA_PATH"
     144[ "$SVC_NAME" == "secore" -o "$SVC_NAME" == "select" -o "$SVC_NAME" == "nullvalues" -o "$SVC_NAME" == "subsetting" ] || import_petascope_data "$TESTDATA_PATH"
    144145[ "$SVC_NAME" == "select" ] && import_rasql_data "$TESTDATA_PATH"
    145146[ "$SVC_NAME" == "nullvalues" ] && import_nullvalues_data "$TESTDATA_PATH"
     147[ "$SVC_NAME" == "subsetting" ] && import_subsetting_data "$TESTDATA_PATH"
    146148if [ -e "$TESTDATA_PATH/complex.binary" ] ; then
    147149  if [ "$SVC_NAME" == "select" -o "$SVC_NAME" == "nullvalues" ]; then
    148150    check_type Gauss2Set
    for f in *; do  
    161163
    162164  # skip non-files
    163165  [ -f "$f" ] || continue
     166  [ "$f" == core ] && continue
    164167
    165168  # skip scripts, we only want queries
    166169  [[ "$f" == *.pre.sh || "$f" == *.post.sh || "$f" == *.check.sh ]] && continue
    167170
    168171  # uncomment for single test run
    169   #[[ "$f" == 01-* ]] || continue
     172  #[[ "$f" == *.rasql ]] || continue
    170173
    171174  if [ "$SVC_NAME" == "wcps" ]; then
    172175    # skip rasql/xml tests in WCPS test suite for now
    done  
    197200
    198201popd > /dev/null
    199202
    200 cleanup