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

Reply via email to