-
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
|
3094 | 3094 | parseQueryTree->removeDynamicObject( $2 ); |
3095 | 3095 | parseQueryTree->addDynamicObject( dop ); |
3096 | 3096 | $$ = dop; |
| 3097 | $$->setParseInfo( $2->getParseInfo() ); |
3097 | 3098 | if (mflag == MF_IN_CONTEXT) |
3098 | 3099 | parseQueryTree->addDomainObject( dop ); |
3099 | 3100 | }; |
-
diff --git a/qlparser/qtdomainoperation.cc b/qlparser/qtdomainoperation.cc
index e503add..ebb46dc 100644
a
|
b
|
QtDomainOperation::evaluate( QtDataList* inputList )
|
452 | 452 | // get minterval data |
453 | 453 | vector<bool>* trimFlags = new vector<bool>( *((static_cast<QtMintervalData*>(indexData))->getTrimFlags()) ); |
454 | 454 | r_Minterval domain = (static_cast<QtMintervalData*>(indexData))->getMintervalData(); |
455 | | |
| 455 | |
456 | 456 | // |
457 | 457 | // In case of dynamic index expressions, load optimization has to |
458 | 458 | // be performed for the current input expression. |
… |
… |
QtDomainOperation::evaluate( QtDataList* inputList )
|
508 | 508 | |
509 | 509 | if( currentMDDObj ) |
510 | 510 | { |
| 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 | |
511 | 519 | bool trimming = false; |
512 | 520 | bool projection = false; |
513 | 521 | nullValues = currentMDDObj->getNullValues(); |
-
diff --git a/qlparser/qtvariable.cc b/qlparser/qtvariable.cc
index b9ff623..4dc03ea 100644
a
|
b
|
QtVariable::evaluate( QtDataList* inputList ) throw (ParseInfo)
|
260 | 260 | } |
261 | 261 | catch( r_Eno_interval ) |
262 | 262 | { |
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; |
296 | 267 | } |
297 | 268 | catch( r_Error& err ) |
298 | 269 | { |
-
diff --git a/systemtest/testcases_mandatory/test_subsetting/README b/systemtest/testcases_mandatory/test_subsetting/README
new file mode 100644
index 0000000..43365c1
-
|
+
|
|
| 1 | This test suite checks that subsetting in rasdaman is handled correctly. |
| 2 | Test 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 | |
-
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
-
|
+
|
|
| 1 | single_negative_intersect_nonmaterialized_tiles.rasql |
-
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] |
-
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] |
-
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
-
|
+
|
|
| 1 | rasdaman error 300: Parsing error 300 in line 1, column 22: Unexpected name ]. |
-
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] |
-
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] |
-
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
-
|
+
|
|
| 1 | rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD. |
-
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
-
|
+
|
|
| 1 | rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD. |
-
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
-
|
+
|
|
| 1 | rasdaman error 300: Parsing error 300 in line 1, column 21: Unexpected name ,. |
-
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
-
|
+
|
|
| 1 | rasdaman error 362: Execution error 362 in line 1, column 13, near token c: Specified domain dimensionality does not equal defined dimensionality of MDD. |
-
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
-
|
+
|
|
| 1 | rasdaman 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). |
-
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] |
-
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
-
|
+
|
|
| 1 | rasdaman error 362: Execution error 362 in line 1, column 13, near token c: Specified domain dimensionality does not equal defined dimensionality of MDD. |
-
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] |
-
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] |
-
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] |
-
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] |
-
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] |
-
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] |
-
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
-
|
+
|
|
| 1 | rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD. |
-
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
-
|
+
|
|
| 1 | rasdaman error 300: Parsing error 300 in line 1, column 22: Unexpected name ]. |
-
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] |
-
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] |
-
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
-
|
+
|
|
| 1 | rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD. |
-
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
-
|
+
|
|
| 1 | rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD. |
-
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
-
|
+
|
|
| 1 | rasdaman error 300: Parsing error 300 in line 1, column 21: Unexpected name ,. |
-
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
-
|
+
|
|
| 1 | rasdaman error 362: Execution error 362 in line 1, column 13, near token c: Specified domain dimensionality does not equal defined dimensionality of MDD. |
-
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
-
|
+
|
|
| 1 | rasdaman 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). |
-
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] |
-
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
-
|
+
|
|
| 1 | rasdaman error 362: Execution error 362 in line 1, column 13, near token c: Specified domain dimensionality does not equal defined dimensionality of MDD. |
-
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] |
-
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
-
|
+
|
|
| 1 | rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD. |
-
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
-
|
+
|
|
| 1 | rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD. |
-
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
-
|
+
|
|
| 1 | rasdaman error 356: Execution error 356 in line 1, column 13, near token c: Specified domain does not intersect with spatial domain of MDD. |
-
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] |
-
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] |
-
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
-
|
+
|
|
| 1 | rasdaman 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). |
-
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] |
-
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] |
-
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] |
-
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] |
-
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] |
-
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] |
-
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] |
-
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] |
-
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] |
-
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
-
|
+
|
|
| 1 | rasdaman 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). |
-
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
-
|
+
|
|
| 1 | select sdom(c[*:150,-200:*]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[*:150,-200]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[*:150,*]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[200:350,200:350]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[200:650,200:650]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-1000:-600,-1000:-600]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-1000:-600,550:800]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[300:**,5]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[300:350]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[200:150,200:150]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[100:110,100:110]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[300:350,5,6,4]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-400:150,-200:350]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-400:-150,-200:-150]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-400:-310,-400:-310]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-100:-50,-100:-50]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[300:350,300:350]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[*:150,-200:*]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[*:150,-200]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[*:150,*]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[200:350,200:350]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[200:650,200:650]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-1000:-600,-1000:-600]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-1000:-600,550:800]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[300:**,5]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[300:350]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[200:150,200:150]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[100:110,100:110]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[300:350,5,6,4]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-400:150,-200:350]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-400:-150,-200:-150]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-400:-310,-400:-310]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[-100:-50,-100:-50]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[300:350,300:350]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[200:350,5]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[*:150,*:*:4]) from test_subsetting_single as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[200:350,5]) from test_subsetting as c |
-
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
-
|
+
|
|
| 1 | select sdom(c[*:150,*:*:4]) from test_subsetting as c |
-
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 |
-
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 |
-
diff --git a/systemtest/util/common.sh b/systemtest/util/common.sh
index b04123f..d7a7d78 100644
a
|
b
|
TEST_RGB2=test_rgb2
|
64 | 64 | TEST_GREY3D=test_grey3d |
65 | 65 | TEST_COMPLEX=test_complex |
66 | 66 | TEST_NULL=nulltest |
| 67 | TEST_SUBSETTING=test_subsetting |
| 68 | TEST_SUBSETTING_SINGLE=test_subsetting_single |
| 69 | TEST_SUBSETTING_3D=test_subsetting_3d |
67 | 70 | |
68 | 71 | |
69 | 72 | # ------------------------------------------------------------------------------ |
… |
… |
update_result()
|
337 | 340 | { |
338 | 341 | local rc=$? |
339 | 342 | |
340 | | grep "$f" "$KNOWN_FAILS" > /dev/null 2>&1 |
| 343 | egrep "^$f$" "$KNOWN_FAILS" > /dev/null 2>&1 |
341 | 344 | local known_fail=$? |
342 | 345 | |
343 | 346 | if [ $rc != 0 ]; then |
… |
… |
run_test()
|
531 | 534 | $WGET -q "$SECORE_URL$QUERY" -O "$out" |
532 | 535 | WGET_EXIT_CODE=$? |
533 | 536 | ;; |
534 | | select|rasql|nullvalues|jit) |
| 537 | select|rasql|nullvalues|subsetting) |
535 | 538 | QUERY=`cat $f` |
536 | | if [ "$SVC_NAME" = "jit" ]; then |
537 | | QUERY="$QUERY [opt 4]" |
538 | | fi |
539 | 539 | $RASQL -q "$QUERY" --out file --outfile "$out" --quiet > /dev/null 2> "$err" |
540 | 540 | |
541 | 541 | # if an exception was thrown, then the err file has non-zero size |
-
diff --git a/systemtest/util/rasql.sh b/systemtest/util/rasql.sh
index f91cde1..4a43f8b 100644
a
|
b
|
function import_nullvalues_data()
|
298 | 298 | } |
299 | 299 | |
300 | 300 | # |
| 301 | # import data used in rasql subsetting tests. Expects arguments |
| 302 | # $1 - testdata dir holding files to be imported |
| 303 | # |
| 304 | function 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 | # |
301 | 345 | # drop null values test data, including imported null types |
302 | 346 | # |
303 | 347 | drop_nullvalues_data() |
-
diff --git a/systemtest/util/test_oracle.sh b/systemtest/util/test_oracle.sh
index f8023b5..878b7cc 100755
a
|
b
|
|
40 | 40 | # 2013-Dec-03 DM known_fails file listing queries that are known to fail |
41 | 41 | # |
42 | 42 | |
43 | | PROG=`basename $0` |
| 43 | PROG=$(basename $0) |
44 | 44 | |
45 | 45 | # get dir of linking script |
46 | 46 | SOURCE="${BASH_SOURCE[0]}" |
… |
… |
drop_data()
|
85 | 85 | [ "$SVC_NAME" == "secore" -o "$SVC_NAME" == "nullvalues" ] || drop_colls $TEST_GREY $TEST_GREY2 $TEST_RGB2 $TEST_COMPLEX |
86 | 86 | [ "$SVC_NAME" == "secore" -o "$SVC_NAME" == "select" -o "$SVC_NAME" == "nullvalues" ] || drop_petascope_data |
87 | 87 | [ "$SVC_NAME" == "nullvalues" ] && drop_nullvalues_data |
| 88 | [ "$SVC_NAME" == "subsetting" ] || drop_colls $TEST_SUBSETTING $TEST_SUBSETTING_SINGLE $TEST_SUBSETTING_3D |
88 | 89 | } |
89 | 90 | |
90 | 91 | # |
… |
… |
cleanup()
|
100 | 101 | exit $RC_OK |
101 | 102 | fi |
102 | 103 | } |
103 | | |
104 | | # trap keyboard interrupt (control-c) |
105 | | trap cleanup SIGINT |
| 104 | trap cleanup EXIT |
106 | 105 | |
107 | 106 | |
108 | 107 | # ------------------------------------------------------------------------------ |
… |
… |
if [ $? -eq 0 ]; then
|
118 | 117 | fi |
119 | 118 | echo "$SCRIPT_DIR" | grep "testcases_services" > /dev/null |
120 | 119 | if [ $? -eq 0 ]; then |
| 120 | check_postgres |
121 | 121 | if [ "$SVC_NAME" != "secore" ]; then |
122 | 122 | check_petascope || exit $RC_SKIP |
123 | 123 | fi |
124 | 124 | fi |
125 | | check_postgres |
126 | 125 | [ "$SVC_NAME" != "secore" ] && check_rasdaman |
127 | 126 | check_wget |
128 | 127 | check_gdal |
… |
… |
for i in $*; do
|
138 | 137 | esac |
139 | 138 | done |
140 | 139 | |
| 140 | # |
141 | 141 | # run import if necessary |
| 142 | # |
142 | 143 | drop_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" |
144 | 145 | [ "$SVC_NAME" == "select" ] && import_rasql_data "$TESTDATA_PATH" |
145 | 146 | [ "$SVC_NAME" == "nullvalues" ] && import_nullvalues_data "$TESTDATA_PATH" |
| 147 | [ "$SVC_NAME" == "subsetting" ] && import_subsetting_data "$TESTDATA_PATH" |
146 | 148 | if [ -e "$TESTDATA_PATH/complex.binary" ] ; then |
147 | 149 | if [ "$SVC_NAME" == "select" -o "$SVC_NAME" == "nullvalues" ]; then |
148 | 150 | check_type Gauss2Set |
… |
… |
for f in *; do
|
161 | 163 | |
162 | 164 | # skip non-files |
163 | 165 | [ -f "$f" ] || continue |
| 166 | [ "$f" == core ] && continue |
164 | 167 | |
165 | 168 | # skip scripts, we only want queries |
166 | 169 | [[ "$f" == *.pre.sh || "$f" == *.post.sh || "$f" == *.check.sh ]] && continue |
167 | 170 | |
168 | 171 | # uncomment for single test run |
169 | | #[[ "$f" == 01-* ]] || continue |
| 172 | #[[ "$f" == *.rasql ]] || continue |
170 | 173 | |
171 | 174 | if [ "$SVC_NAME" == "wcps" ]; then |
172 | 175 | # skip rasql/xml tests in WCPS test suite for now |
… |
… |
done
|
197 | 200 | |
198 | 201 | popd > /dev/null |
199 | 202 | |
200 | | cleanup |