Changeset: edd6b45af1b2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=edd6b45af1b2
Added Files:
sql/test/sciql2sql/Tests/correlations_fixed.sql
sql/test/sciql2sql/Tests/vector_multi_tiles.sql
Modified Files:
sql/test/sciql2sql/Tests/All
sql/test/sciql2sql/Tests/create_fixed_arrays.sql
sql/test/sciql2sql/Tests/create_range_arrays.sql
sql/test/sciql2sql/Tests/select_vector_array.sql
sql/test/sciql2sql/Tests/slice_2d_array.sql
sql/test/sciql2sql/Tests/slice_fixed_array.sql
sql/test/sciql2sql/Tests/structural_joins.sql
sql/test/sciql2sql/Tests/vector_fixed_tiles.sql
Branch: SciQL-2
Log Message:
merged
diffs (truncated from 361 to 300 lines):
diff --git a/sql/test/sciql2sql/Tests/All b/sql/test/sciql2sql/Tests/All
--- a/sql/test/sciql2sql/Tests/All
+++ b/sql/test/sciql2sql/Tests/All
@@ -24,8 +24,10 @@ select_vector_array
# all kind of array joins
structural_joins
+correclations_fixed
# tiling based on dimensional attributes
vector_fixed_tiles
+vector_multi_tiles
#
# tiling based on mix of dimensional attribues
diff --git a/sql/test/sciql2sql/Tests/correlations_fixed.sql
b/sql/test/sciql2sql/Tests/correlations_fixed.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/correlations_fixed.sql
@@ -0,0 +1,56 @@
+-- Test manipulation of tiles over multple arrays
+CREATE ARRAY array1(x INTEGER DIMENSION[7], v INTEGER DEFAULT 1, w INTEGER
DEFAULT 0);
+INSERT INTO array1 values
+( 0, 1, 1),
+( 1, 1, 2),
+( 2, 2, 1),
+( 3, 2, 5),
+( 4, 3, 7),
+( 5, 3, 7),
+( 6, 4, 1);
+
+CREATE ARRAY array2(LIKE array1);
+INSERT INTO array2 SELECT * FROM array1;
+
+-- relational equivalent
+CREATE TABLE vector1(x INTEGER CHECK(x >=0 and x < 7), v INTEGER DEFAULT 1, w
INTEGER DEFAULT 0);
+INSERT INTO vector1 values
+( 0, 1, 1),
+( 1, 1, 2),
+( 2, 2, 1),
+( 3, 2, 5),
+( 4, 3, 7),
+( 5, 3, 7),
+( 6, 4, 1);
+CREATE TABLE vector2(LIKE vector1);
+INSERT INTO vector2 SELECT * FROM vector1;
+
+-- work with joined arrays
+SELECT array1.x, array2.x FROM array1[x] JOIN array2[x];
+
+--relational equivalent
+SELECT vector1.x, vector2.x FROM vector1 JOIN vector2 ON vector1.x = vector2.x;
+
+-- use constant projections
+SELECT array1.x, array2.x FROM array1[0] JOIN array2[1];
+
+--relational equivalent
+SELECT vector1.x, vector2.x FROM vector1 JOIN vector2 ON vector2.x = 1 AND
vector1.x = 0;
+
+-- use shifting
+SELECT array1.x, array2.x FROM array1[x] JOIN array2[x+1];
+
+--relational equivalent
+SELECT vector1.x, vector2.x FROM vector1 JOIN vector2 ON vector2.x =
vector1.x+1;
+
+-- extend it to a thetajoin
+SELECT array1.x, array2.x, sum(array1.v) FROM array1[x:x+2], array2[x:x+5];
+SELECT array1.x, array2.x, sum(array1.v) FROM array1 A, array2 B GROUP BY
A[x:x+2], B[x:x+5];
+
+--relational equivalent
+
+DROP ARRAY array1;
+DROP ARRAY array2;
+DROP TABLE vector1;
+DROP TABLE vector2;
+
diff --git a/sql/test/sciql2sql/Tests/create_fixed_arrays.sql
b/sql/test/sciql2sql/Tests/create_fixed_arrays.sql
--- a/sql/test/sciql2sql/Tests/create_fixed_arrays.sql
+++ b/sql/test/sciql2sql/Tests/create_fixed_arrays.sql
@@ -1,5 +1,10 @@
-- 1 Dimensional fixed array
CREATE ARRAY array1D(x TINYINT DIMENSION[4], v INTEGER DEFAULT 1, w INTEGER
DEFAULT 0);
+INSERT INTO array1D values
+( 0, 1, 0),
+( 1, 1, 0),
+( 2, 1, 0),
+( 3, 1, 0);
SELECT * FROM array1D;
DROP ARRAY array1D;
@@ -15,6 +20,23 @@ DROP TABLE array1D;
-- a 2 Dimensional fixed array
CREATE ARRAY array2D(x TINYINT DIMENSION[4], y BIGINT DIMENSION[4], v INTEGER
DEFAULT 2);
+INSERT INTO array2D values
+( 0, 0, 2 ),
+( 0, 1, 2 ),
+( 0, 2, 2 ),
+( 0, 3, 2 ),
+( 1, 0, 2 ),
+( 1, 1, 2 ),
+( 1, 2, 2 ),
+( 1, 3, 2 ),
+( 2, 0, 2 ),
+( 2, 1, 2 ),
+( 2, 2, 2 ),
+( 2, 3, 2 ),
+( 3, 0, 2 ),
+( 3, 1, 2 ),
+( 3, 2, 2 ),
+( 3, 3, 2 );
SELECT * FROM array2D;
DROP ARRAY array2D;
@@ -43,6 +65,43 @@ DROP TABLE array2D;
-- a 3D data cube
CREATE ARRAY array3D(x INT DIMENSION[3], y INT DIMENSION[3], z INT DIMENSION
[3], v INT DEFAULT 3);
+INSERT INTO array3D values
+( 0, 0, 0, 3),
+( 0, 0, 0, 3),
+( 0, 0, 0, 3),
+( 0, 1, 0, 3),
+( 0, 1, 0, 3),
+( 0, 1, 0, 3),
+( 0, 2, 0, 3),
+( 0, 2, 0, 3),
+( 0, 2, 0, 3),
+( 1, 0, 0, 3),
+( 1, 0, 0, 3),
+( 1, 0, 0, 3),
+( 1, 1, 0, 3),
+( 1, 1, 0, 3),
+( 1, 1, 0, 3),
+( 1, 2, 0, 3),
+( 1, 2, 0, 3),
+( 1, 2, 0, 3),
+( 2, 0, 0, 3),
+( 2, 0, 0, 3),
+( 2, 0, 0, 3),
+( 2, 1, 0, 3),
+( 2, 1, 0, 3),
+( 2, 1, 0, 3),
+( 2, 2, 0, 3),
+( 2, 2, 0, 3),
+( 2, 2, 0, 3),
+( 3, 0, 0, 3),
+( 3, 0, 0, 3),
+( 3, 0, 0, 3),
+( 3, 1, 0, 3),
+( 3, 1, 0, 3),
+( 3, 1, 0, 3),
+( 3, 2, 0, 3),
+( 3, 2, 0, 3),
+( 3, 2, 0, 3);
SELECT * FROM array3D;
DROP ARRAY array3D;
diff --git a/sql/test/sciql2sql/Tests/create_range_arrays.sql
b/sql/test/sciql2sql/Tests/create_range_arrays.sql
--- a/sql/test/sciql2sql/Tests/create_range_arrays.sql
+++ b/sql/test/sciql2sql/Tests/create_range_arrays.sql
@@ -1,5 +1,10 @@
-- 1 Dimensional range array with default step size for INTEGER
CREATE ARRAY array1Dr(x INTEGER DIMENSION[0:1:4], v INTEGER DEFAULT 1);
+INSERT INTO array1Dr values
+( 0, 1 ),
+( 1, 1 ),
+( 2, 1 ),
+( 3, 1 );
SELECT * FROM array1Dr;
DROP ARRAY array1Dr;
@@ -15,6 +20,13 @@ DROP ARRAY array1Dr;
-- 1 Dimensional range array with default step size
CREATE ARRAY array1Dr(x INTEGER DIMENSION[-4:1:2], v INTEGER DEFAULT 1);
+INSERT INTO array1Dr values
+( -4, 1 ),
+( -3, 1 ),
+( -2, 1 ),
+( -1, 1 ),
+( 0, 1 ),
+( 1, 1 );
SELECT * FROM array1Dr;
DROP ARRAY array1Dr;
@@ -32,6 +44,9 @@ DROP ARRAY array1Dr;
-- 1 Dimensional range array with fixed step size
CREATE ARRAY array1Dr(x INTEGER DIMENSION[0:2:4], v INTEGER DEFAULT 1);
+INSERT INTO array1Dr values
+( 0, 1 ),
+( 2, 1 );
SELECT * FROM array1Dr;
DROP ARRAY array1Dr;
diff --git a/sql/test/sciql2sql/Tests/select_vector_array.sql
b/sql/test/sciql2sql/Tests/select_vector_array.sql
--- a/sql/test/sciql2sql/Tests/select_vector_array.sql
+++ b/sql/test/sciql2sql/Tests/select_vector_array.sql
@@ -1,5 +1,13 @@
-- Test construction of arrays from a 1D fixed array
CREATE ARRAY array1D(x INTEGER DIMENSION[7], v INTEGER DEFAULT 1, w INTEGER
DEFAULT 0);
+INSERT INTO array1D values
+( 0, 1, 1),
+( 1, 1, 2),
+( 2, 2, 1),
+( 3, 2, 5),
+( 4, 3, 7),
+( 5, 3, 7),
+( 6, 4, 1);
-- relational equivalent
CREATE TABLE vector(x INTEGER CHECK(x >=0 and x < 7), v INTEGER DEFAULT 1, w
INTEGER DEFAULT 0);
diff --git a/sql/test/sciql2sql/Tests/slice_2d_array.sql
b/sql/test/sciql2sql/Tests/slice_2d_array.sql
--- a/sql/test/sciql2sql/Tests/slice_2d_array.sql
+++ b/sql/test/sciql2sql/Tests/slice_2d_array.sql
@@ -1,5 +1,22 @@
-- a 2 Dimensional fixed array
CREATE ARRAY array2D(x TINYINT DIMENSION[4], y BIGINT DIMENSION[4], v INTEGER
DEFAULT 2);
+INSERT INTO array2D values
+( 0, 0, 2 ),
+( 0, 1, 2 ),
+( 0, 2, 2 ),
+( 0, 3, 2 ),
+( 1, 0, 2 ),
+( 1, 1, 2 ),
+( 1, 2, 2 ),
+( 1, 3, 2 ),
+( 2, 0, 2 ),
+( 2, 1, 2 ),
+( 2, 2, 2 ),
+( 2, 3, 2 ),
+( 3, 0, 2 ),
+( 3, 1, 2 ),
+( 3, 2, 2 ),
+( 3, 3, 2 );
SELECT * FROM array2D;
DROP ARRAY array2D;
diff --git a/sql/test/sciql2sql/Tests/slice_fixed_array.sql
b/sql/test/sciql2sql/Tests/slice_fixed_array.sql
--- a/sql/test/sciql2sql/Tests/slice_fixed_array.sql
+++ b/sql/test/sciql2sql/Tests/slice_fixed_array.sql
@@ -1,5 +1,13 @@
-- Array slicing examples
CREATE ARRAY array1D(x INTEGER DIMENSION[7], v INTEGER DEFAULT 1, w INTEGER
DEFAULT 0);
+INSERT INTO array1D values
+( 0, 1, 1),
+( 1, 1, 2),
+( 2, 2, 1),
+( 3, 2, 5),
+( 4, 3, 7),
+( 5, 3, 7),
+( 6, 4, 1);
-- relational equivalent
CREATE TABLE vector(x INTEGER CHECK(x >=0 and x < 7), v INTEGER DEFAULT 1, w
INTEGER DEFAULT 0);
diff --git a/sql/test/sciql2sql/Tests/structural_joins.sql
b/sql/test/sciql2sql/Tests/structural_joins.sql
--- a/sql/test/sciql2sql/Tests/structural_joins.sql
+++ b/sql/test/sciql2sql/Tests/structural_joins.sql
@@ -83,12 +83,21 @@ SELECT [x], [y], avg(gray)
FROM image
GROUP BY image[x:x+3][y:y+3];
-SELECT x AS XOFF, y AS YOFF, (
- SELECT avg(A.gray + B.gray)
+SELECT R.x , R.y, (
+ SELECT avg(A.gray)
FROM imageR A, patchR B
WHERE A.x - R.x = B.x AND A.y- R.y = B.y )
FROM imageR R;
+-- multiple groups
+SELECT R.x, R.y, S.x, S.y
+FROM imageR R, imageR S
+WHERE gray >1
+GROUP BY R[x:x+2][y:y+2], S[x:x+2][y:y+2]
+HAVING (R.x-S.x)*(R.x-S.x) + (R.y-S.y)*(R.y-S.y) < 5*5;
+
+--relational equivalent, More work needed
+
DROP ARRAY image;
DROP ARRAY patch;
diff --git a/sql/test/sciql2sql/Tests/vector_fixed_tiles.sql
b/sql/test/sciql2sql/Tests/vector_fixed_tiles.sql
--- a/sql/test/sciql2sql/Tests/vector_fixed_tiles.sql
+++ b/sql/test/sciql2sql/Tests/vector_fixed_tiles.sql
@@ -1,5 +1,13 @@
-- Test tiling over a 1D fixed array
CREATE ARRAY array1D(x INTEGER DIMENSION[7], v INTEGER DEFAULT 1, w INTEGER
DEFAULT 0);
+INSERT INTO array1D values
+( 0, 1, 1),
+( 1, 1, 2),
+( 2, 2, 1),
+( 3, 2, 5),
+( 4, 3, 7),
+( 5, 3, 7),
+( 6, 4, 1);
-- relational equivalent
CREATE TABLE vector(x INTEGER CHECK(x >=0 and x < 7), v INTEGER DEFAULT 1, w
INTEGER DEFAULT 0);
diff --git a/sql/test/sciql2sql/Tests/vector_multi_tiles.sql
b/sql/test/sciql2sql/Tests/vector_multi_tiles.sql
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list