Changeset: b288cacdd535 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b288cacdd535
Added Files:
        sql/test/sciql2sql/Tests/vector_multi_tiles.sql
Modified Files:
        sql/test/sciql2sql/Tests/All
        sql/test/sciql2sql/Tests/structural_joins.sql
Branch: SciQL-2
Log Message:

Using array projections in FROM clause


diffs (99 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
@@ -27,5 +27,6 @@ structural_joins
 
 # 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/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_multi_tiles.sql 
b/sql/test/sciql2sql/Tests/vector_multi_tiles.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/vector_multi_tiles.sql
@@ -0,0 +1,57 @@
+-- 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);
+INSERT INTO vector values 
+( 0, 1, 1),
+( 1, 1, 2),
+( 2, 2, 1),
+( 3, 2, 5),
+( 4, 3, 7),
+( 5, 3, 7),
+( 6, 4, 1);
+
+-- simple projections using the FROM clause 
+SELECT sum(v) FROM array1D[0];
+SELECT sum(v) FROM array1D[0:3];
+
+-- relational equivalences
+SELECT sum(v) FROM vector WHERE x= 0;
+SELECT sum(v) FROM vector WHERE x>= 0 AND x <3;
+
+-- using a variable [SEGVAULT]
+-- SELECT R.x, (SELECT sum(v) FROM array1D[R.x])
+-- FROM array1D R;
+
+-- relational equivalence
+SELECT R.x, (SELECT sum(v) FROM vector WHERE x=R.x)
+FROM vector R;
+
+-- using a variable [SEGVAULT]
+-- SELECT R.x, (SELECT sum(v) FROM array1D[0:R.v])
+-- FROM array1D R;
+
+-- relational equivalence
+SELECT R.x, (SELECT sum(v) FROM vector WHERE x >= 0 AND x <R.x)
+FROM vector R;
+
+-- using a variable [SEGVAULT]
+-- SELECT R.x, (SELECT sum(v) FROM array1D[0:2:R.v])
+-- FROM array1D R;
+
+-- relational equivalence
+SELECT R.x, (SELECT sum(v) FROM vector WHERE x >= 0 AND x <R.x AND x % 2 = 0)
+FROM vector R;
+
+DROP ARRAY array1D;
+DROP TABLE vector;
+
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to