Changeset: 026c7063eb55 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=026c7063eb55
Added Files:
        sql/test/sciql2sql/Tests/01_create_01.sql
        sql/test/sciql2sql/Tests/01_create_02.sql
        sql/test/sciql2sql/Tests/01_create_03.sql
        sql/test/sciql2sql/Tests/01_create_04.sql
        sql/test/sciql2sql/Tests/01_create_05.sql
        sql/test/sciql2sql/Tests/01_create_06.sql
        sql/test/sciql2sql/Tests/01_create_07.sql
        sql/test/sciql2sql/Tests/01_create_08.sql
        sql/test/sciql2sql/Tests/01_create_09.sql
        sql/test/sciql2sql/Tests/01_create_10.sql
        sql/test/sciql2sql/Tests/01_create_11.sql
        sql/test/sciql2sql/Tests/01_create_12.sql
        sql/test/sciql2sql/Tests/01_create_13.sql
        sql/test/sciql2sql/Tests/01_create_14.sql
        sql/test/sciql2sql/Tests/01_create_15.sql
        sql/test/sciql2sql/Tests/01_create_16.sql
        sql/test/sciql2sql/Tests/01_create_17.sql
        sql/test/sciql2sql/Tests/01_create_18.sql
        sql/test/sciql2sql/Tests/01_create_19.sql
        sql/test/sciql2sql/Tests/01_create_20.sql
        sql/test/sciql2sql/Tests/01_create_21.sql
        sql/test/sciql2sql/Tests/01_create_22.sql
        sql/test/sciql2sql/Tests/01_create_23.sql
        sql/test/sciql2sql/Tests/02_update_01.sql
        sql/test/sciql2sql/Tests/02_update_02.sql
        sql/test/sciql2sql/Tests/02_update_03.sql
        sql/test/sciql2sql/Tests/02_update_04.sql
        sql/test/sciql2sql/Tests/02_update_05.sql
        sql/test/sciql2sql/Tests/03_delete_01.sql
        sql/test/sciql2sql/Tests/04_insert_01.sql
        sql/test/sciql2sql/Tests/04_insert_02.sql
        sql/test/sciql2sql/Tests/04_insert_03.sql
        sql/test/sciql2sql/Tests/04_insert_04.sql
        sql/test/sciql2sql/Tests/README
Branch: SciQL-2
Log Message:

First batch of sciql-2-sql translations
For each sciql query we use a closed by sql
alternative to highlight the semantics.


diffs (truncated from 1002 to 300 lines):

diff --git a/sql/test/sciql2sql/Tests/01_create_01.sql 
b/sql/test/sciql2sql/Tests/01_create_01.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_01.sql
@@ -0,0 +1,30 @@
+-- use the [size] shortcut for integer type dimensions
+--!CREATE ARRAY ary(x TINYINT DIMENSION[4], y BIGINT DIMENSION[-5], v FLOAT 
DEFAULT 3.7);
+--!SELECT * FROM ary;
+--!DROP ARRAY ary;
+
+CREATE TABLE ary(x TINYINT CHECK(x >=0 && x < 4), y BIGINT CHECK( y>=-5 and 
y<0), v FLOAT DEFAULT 3.7);
+INSERT INTO ary values 
+( 0,   -4,     3.7     ),
+( 0,   -3,     3.7     ),
+( 0,   -2,     3.7     ),
+( 0,   -1,     3.7     ),
+( 0,    0,     3.7     ),
+( 1,   -4,     3.7     ),
+( 1,   -3,     3.7     ),
+( 1,   -2,     3.7     ),
+( 1,   -1,     3.7     ),
+( 1,    0,     3.7     ),
+( 2,   -4,     3.7     ),
+( 2,   -3,     3.7     ),
+( 2,   -2,     3.7     ),
+( 2,   -1,     3.7     ),
+( 2,    0,     3.7     ),
+( 3,   -4,     3.7     ),
+( 3,   -3,     3.7     ),
+( 3,   -2,     3.7     ),
+( 3,   -1,     3.7     ),
+( 3,    0,     3.7     );
+
+SELECT * FROM ary;
+DROP ARRAY ary;
diff --git a/sql/test/sciql2sql/Tests/01_create_02.sql 
b/sql/test/sciql2sql/Tests/01_create_02.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_02.sql
@@ -0,0 +1,12 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION, v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+-- Every dimension value is allowed. It has an undefined step size.
+CREATE TABLE ary (x INTEGER, v FLOAT DEFAULT 3.7);
+
+-- what is the semantics of insertion of v=NULL
+SELECT * FROM ary;
+DROP TABLE ary;
+
diff --git a/sql/test/sciql2sql/Tests/01_create_03.sql 
b/sql/test/sciql2sql/Tests/01_create_03.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_03.sql
@@ -0,0 +1,10 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION[*], v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+-- Every dimension value is allowed. Every step size is allowed.
+CREATE TABLE ary (x INTEGER, v FLOAT DEFAULT 3.7);
+SELECT * FROM ary;
+DROP TABLE ary;
+
diff --git a/sql/test/sciql2sql/Tests/01_create_04.sql 
b/sql/test/sciql2sql/Tests/01_create_04.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_04.sql
@@ -0,0 +1,21 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION[3:13], v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+CREATE TABLE ary (x INTEGER, v FLOAT DEFAULT 3.7 CHECK(x >= 3 and x < 13);
+INSERT INTO ary values
+(  3, 3.7 ),
+(  4, 3.7 ),
+(  5, 3.7 ),
+(  6, 3.7 ),
+(  7, 3.7 ),
+(  8, 3.7 ),
+(  9, 3.7 ),
+(  10, 3.7 ),
+(  11, 3.7 ),
+(  12, 3.7 );
+SELECT * FROM ary;
+DROP TABLE ary;
+
+
diff --git a/sql/test/sciql2sql/Tests/01_create_05.sql 
b/sql/test/sciql2sql/Tests/01_create_05.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_05.sql
@@ -0,0 +1,8 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION[*:13], v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+CREATE TABLE ary (x INTEGER CHECK(x <13), v FLOAT DEFAULT 3.7);
+SELECT * FROM ary;
+DROP TABLE ary;
diff --git a/sql/test/sciql2sql/Tests/01_create_06.sql 
b/sql/test/sciql2sql/Tests/01_create_06.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_06.sql
@@ -0,0 +1,8 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION[3:*], v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+CREATE TABLE ary (x INTEGER, v FLOAT DEFAULT 3.7 CHECK(x >= 3));
+SELECT * FROM ary;
+DROP TABLE ary;
diff --git a/sql/test/sciql2sql/Tests/01_create_07.sql 
b/sql/test/sciql2sql/Tests/01_create_07.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_07.sql
@@ -0,0 +1,8 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION[*:3:13], v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+CREATE TABLE ary (x INTEGER CHECK (x < 13 and x % 3 == 0), v FLOAT DEFAULT 
3.7);
+SELECT * FROM ary;
+DROP TABLE ary;
diff --git a/sql/test/sciql2sql/Tests/01_create_08.sql 
b/sql/test/sciql2sql/Tests/01_create_08.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_08.sql
@@ -0,0 +1,23 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION[3:*:13], v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+-- The actual filling is undefined, because the step size is not set.
+-- The maximum would be obtained with step=1
+CREATE TABLE ary (x INTEGER CHECK(x >= 3 AND X < 13), v FLOAT DEFAULT 3.7);
+INSERT INTO ary values
+(  3, 3.7 ),
+(  4, 3.7 ),
+(  5, 3.7 ),
+(  6, 3.7 ),
+(  7, 3.7 ),
+(  8, 3.7 ),
+(  9, 3.7 ),
+(  10, 3.7 ),
+(  11, 3.7 ),
+(  12, 3.7 );
+SELECT * FROM ary;
+DROP TABLE ary;
+
+
diff --git a/sql/test/sciql2sql/Tests/01_create_09.sql 
b/sql/test/sciql2sql/Tests/01_create_09.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_09.sql
@@ -0,0 +1,13 @@
+-- create an unbounded array
+CREATE ARRAY ary (x INTEGER DIMENSION[3:3:*], v FLOAT DEFAULT 3.7);
+SELECT * FROM ary;
+DROP ARRAY ary;
+
+-- The actual filling is undefined, because the step size is not set.
+-- The maximum would be obtained with step=1
+CREATE TABLE ary (x INTEGER CHECK(x >= 3 AND x % 3=0), v FLOAT DEFAULT 3.7);
+SELECT * FROM ary;
+DROP TABLE ary;
+
+
+
diff --git a/sql/test/sciql2sql/Tests/01_create_10.sql 
b/sql/test/sciql2sql/Tests/01_create_10.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_10.sql
@@ -0,0 +1,8 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION[*:*:13], v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+CREATE TABKE ary (x INTEGER CHECK( x < 13), v FLOAT DEFAULT 3.7);
+SELECT * FROM ary;
+DROP TABLE ary;
diff --git a/sql/test/sciql2sql/Tests/01_create_11.sql 
b/sql/test/sciql2sql/Tests/01_create_11.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_11.sql
@@ -0,0 +1,9 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION[*:3:*], v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+-- UNDEFINED because you don't know the starting point
+CREATE TABLE ary (x INTEGER, v FLOAT DEFAULT 3.7);
+SELECT * FROM ary;
+DROP TABLE ary;
diff --git a/sql/test/sciql2sql/Tests/01_create_12.sql 
b/sql/test/sciql2sql/Tests/01_create_12.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_12.sql
@@ -0,0 +1,9 @@
+-- create an unbounded array
+--! CREATE ARRAY ary (x INTEGER DIMENSION[3:*:*], v FLOAT DEFAULT 3.7);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+CREATE TABLE ary (x INTEGER CHECK(x >= 3), v FLOAT DEFAULT 3.7);
+SELECT * FROM ary;
+DROP TABLE ary;
+
diff --git a/sql/test/sciql2sql/Tests/01_create_13.sql 
b/sql/test/sciql2sql/Tests/01_create_13.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql2sql/Tests/01_create_13.sql
@@ -0,0 +1,114 @@
+-- create an array with multiple dimensions and multiple cell values
+--! CREATE ARRAY ary (dimx INT DIMENSION[17:3:27], dimy INT 
DIMENSION[31:2:40], dimz INT DIMENSION[0:5:19], v1 FLOAT DEFAULT 0.43, v2 FLOAT 
DEFAULT 3.3, v3 INT DEFAULT 999);
+--! SELECT * FROM ary;
+--! DROP ARRAY ary;
+
+CREATE TABLE ary (dimx INTEGER CHECK(x >= 17 AND x <27 AND x % 3 =2),
+                                 dimy INTEGER CHECK(x >= 31 AND x <40 AND x % 
2 =1),
+                                 dimz INTEGER CHECK(x >= 0 AND x <19 AND x % 5 
= 0),
+                                 v1 FLOAT DEFAULT 0.42,
+                                 v2 FLOAT DEFAULT 3.3,
+                                 v3 INTEGER DEFAULT 999);
+INSERT INTO ary values
+(  17, 31, 0, 0.43,3.3,999),
+(  17, 31, 5, 0.43,3.3,999),
+(  17, 31, 10, 0.43,3.3,999),
+(  17, 31, 15, 0.43,3.3,999),
+
+(  17, 33, 0, 0.43,3.3,999),
+(  17, 33, 5, 0.43,3.3,999),
+(  17, 33, 10, 0.43,3.3,999),
+(  17, 33, 15, 0.43,3.3,999),
+
+(  17, 35, 0, 0.43,3.3,999),
+(  17, 35, 5, 0.43,3.3,999),
+(  17, 35, 10, 0.43,3.3,999),
+(  17, 35, 15, 0.43,3.3,999),
+
+(  17, 37, 0, 0.43,3.3,999),
+(  17, 37, 5, 0.43,3.3,999),
+(  17, 37, 10, 0.43,3.3,999),
+(  17, 37, 15, 0.43,3.3,999),
+
+(  17, 39, 0, 0.43,3.3,999),
+(  17, 39, 5, 0.43,3.3,999),
+(  17, 39, 10, 0.43,3.3,999),
+(  17, 39, 15, 0.43,3.3,999),
+
+(  20, 31, 0, 0.43,3.3,999),
+(  20, 31, 5, 0.43,3.3,999),
+(  20, 31, 10, 0.43,3.3,999),
+(  20, 31, 15, 0.43,3.3,999),
+
+(  20, 33, 0, 0.43,3.3,999),
+(  20, 33, 5, 0.43,3.3,999),
+(  20, 33, 10, 0.43,3.3,999),
+(  20, 33, 15, 0.43,3.3,999),
+
+(  20, 35, 0, 0.43,3.3,999),
+(  20, 35, 5, 0.43,3.3,999),
+(  20, 35, 10, 0.43,3.3,999),
+(  20, 35, 15, 0.43,3.3,999),
+
+(  20, 37, 0, 0.43,3.3,999),
+(  20, 37, 5, 0.43,3.3,999),
+(  20, 37, 10, 0.43,3.3,999),
+(  20, 37, 15, 0.43,3.3,999),
+
+(  20, 39, 0, 0.43,3.3,999),
+(  20, 39, 5, 0.43,3.3,999),
+(  20, 39, 10, 0.43,3.3,999),
+(  20, 39, 15, 0.43,3.3,999),
+
+(  23, 31, 0, 0.43,3.3,999),
+(  23, 31, 5, 0.43,3.3,999),
+(  23, 31, 10, 0.43,3.3,999),
+(  23, 31, 15, 0.43,3.3,999),
+
+(  23, 33, 0, 0.43,3.3,999),
+(  23, 33, 5, 0.43,3.3,999),
+(  23, 33, 10, 0.43,3.3,999),
+(  23, 33, 15, 0.43,3.3,999),
+
+(  23, 35, 0, 0.43,3.3,999),
+(  23, 35, 5, 0.43,3.3,999),
+(  23, 35, 10, 0.43,3.3,999),
+(  23, 35, 15, 0.43,3.3,999),
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to