Changeset: 057cd136eb82 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=057cd136eb82
Modified Files:
        sql/server/sql_parser.y
        sql/test/sciql/Tests/05_select_01.stable.out
        sql/test/sciql/Tests/05_select_02.sql
        sql/test/sciql/Tests/05_select_02.stable.out
Branch: sciql
Log Message:

modified parse rules to work with SELECT statement with dimension qualifiers in 
its projection column list (e.g., SELECT [x] FROM matrix)

minor changes in related tests and approval


diffs (159 lines):

diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -3785,8 +3785,21 @@ column_exp:
                  append_symbol(l, $1);
                  append_string(l, $2);
                  $$ = _symbol_create_list( SQL_COLUMN, l ); }
- | '[' scalar_exp ']'
-               { $$ = _symbol_create_symbol( SQL_COLUMN, $2 ); }
+ |  '[' '*' ']'
+               { dlist *l = L();
+                 append_string(l, NULL);
+                 append_string(l, NULL);
+                 $$ = _symbol_create_list( SQL_TABLE, l ); }
+ |  '[' ident '.' '*' ']'
+               { dlist *l = L();
+                 append_string(l, $2);
+                 append_string(l, NULL);
+                 $$ = _symbol_create_list( SQL_TABLE, l ); }
+ |  '[' search_condition ']' opt_alias_name
+               { dlist *l = L();
+                 append_symbol(l, $2);
+                 append_string(l, $4);
+                 $$ = _symbol_create_list( SQL_COLUMN, l ); }
  ;
 
 opt_alias_name:
diff --git a/sql/test/sciql/Tests/05_select_01.stable.out 
b/sql/test/sciql/Tests/05_select_01.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql/Tests/05_select_01.stable.out
@@ -0,0 +1,54 @@
+stdout of test '05_select_01` in directory 'test/sciql` itself:
+
+
+# 18:09:08 >  
+# 18:09:08 >   mserver5  --debug=10 --set gdk_nr_threads=0  --set 
"gdk_dbfarm=/export/scratch0/zhang/monet-install/sciql/debug/var/MonetDB" --set 
mapi_open=true --set mapi_port=37218 --set monet_prompt= --trace --forcemito 
--set mal_listing=2  "--dbname=mTests_test_sciql" --set mal_listing=0 ; echo ; 
echo Over..
+# 18:09:08 >  
+
+# MonetDB 5 server v11.6.0
+# This is an unreleased version
+# Serving database 'mTests_test_sciql', using 4 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically 
linked
+# Found 7.749 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2011 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://jarl.ins.cwi.nl:37218/
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+
+Ready.
+
+Over..
+
+# 18:09:08 >  
+# 18:09:08 >  mclient -lsql -ftest -i -e --host=jarl --port=37218 
+# 18:09:08 >  
+
+#CREATE ARRAY matrix (x INT DIMENSION[4], y INT DIMENSION[4], v FLOAT DEFAULT 
0.0);
+#UPDATE matrix SET v = CASE WHEN x>y THEN x + y WHEN x<y THEN x - y ELSE 0 END;
+[ 16   ]
+#SELECT x, y, v FROM matrix WHERE v >2; 
+% sys.matrix,  sys.matrix,     sys.matrix # table_name
+% x,   y,      v # name
+% int, int,    double # type
+% 1,   1,      22 # length
+[ 2,   1,      3       ]
+[ 3,   0,      3       ]
+[ 3,   1,      4       ]
+[ 3,   2,      5       ]
+#SELECT [x], [y], v FROM matrix WHERE v >2; 
+% sys.matrix,  sys.matrix,     sys.matrix # table_name
+% x,   y,      v # name
+% int, int,    double # type
+% 1,   1,      22 # length
+[ 2,   1,      3       ]
+[ 3,   0,      3       ]
+[ 3,   1,      4       ]
+[ 3,   2,      5       ]
+#DROP ARRAY matrix;
+
+# 18:09:08 >  
+# 18:09:08 >  Done.
+# 18:09:08 >  
+
diff --git a/sql/test/sciql/Tests/05_select_02.sql 
b/sql/test/sciql/Tests/05_select_02.sql
--- a/sql/test/sciql/Tests/05_select_02.sql
+++ b/sql/test/sciql/Tests/05_select_02.sql
@@ -1,10 +1,10 @@
-CREATE ARRAY matrix2 (x INT DIMENSION[4], y INT DIMENSION[4], v FLOAT DEFAULT 
0.0);
+CREATE ARRAY matrix (x INT DIMENSION[4], y INT DIMENSION[4], v FLOAT DEFAULT 
0.0);
 
 CREATE TABLE tbl (i int, k int);
 INSERT INTO tbl VALUES (2, 11), (2, 12), (3, 11), (3, 12);
 
-SELECT [tbl.k], [y], v FROM matrix JOIN tbl ON matrix.x = tbl.i;
+SELECT [tbl.k], [y], x FROM matrix JOIN tbl ON matrix.x = tbl.i;
 
-DROP ARRAY matrix2;
+DROP ARRAY matrix;
 DROP TABLE tbl;
 
diff --git a/sql/test/sciql/Tests/05_select_02.stable.out 
b/sql/test/sciql/Tests/05_select_02.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/sciql/Tests/05_select_02.stable.out
@@ -0,0 +1,51 @@
+stdout of test '05_select_02` in directory 'test/sciql` itself:
+
+
+# 18:09:08 >  
+# 18:09:08 >   mserver5  --debug=10 --set gdk_nr_threads=0  --set 
"gdk_dbfarm=/export/scratch0/zhang/monet-install/sciql/debug/var/MonetDB" --set 
mapi_open=true --set mapi_port=37218 --set monet_prompt= --trace --forcemito 
--set mal_listing=2  "--dbname=mTests_test_sciql" --set mal_listing=0 ; echo ; 
echo Over..
+# 18:09:08 >  
+
+# MonetDB 5 server v11.6.0
+# This is an unreleased version
+# Serving database 'mTests_test_sciql', using 4 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically 
linked
+# Found 7.749 GiB available main-memory.
+# Copyright (c) 1993-July 2008 CWI.
+# Copyright (c) August 2008-2011 MonetDB B.V., all rights reserved
+# Visit http://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://jarl.ins.cwi.nl:37218/
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+
+Ready.
+
+Over..
+
+# 18:09:08 >  
+# 18:09:08 >  mclient -lsql -ftest -i -e --host=jarl --port=37218 
+# 18:09:08 >  
+
+#CREATE ARRAY matrix (x INT DIMENSION[4], y INT DIMENSION[4], v FLOAT DEFAULT 
0.0);
+#CREATE TABLE tbl (i int, k int);
+#INSERT INTO tbl VALUES (2, 11), (2, 12), (3, 11), (3, 12);
+[ 4    ]
+#SELECT [tbl.k], [y], v FROM matrix JOIN tbl ON matrix.x = tbl.i;
+% sys.tbl,     sys.matrix,     sys.matrix # table_name
+% k,   y,      x # name
+% int, int,    int # type
+% 2,   1,      1 # length
+[ 11,  0,      3       ]
+[ 11,  1,      3       ]
+[ 11,  2,      3       ]
+[ 11,  3,      3       ]
+[ 12,  0,      3       ]
+[ 12,  1,      3       ]
+[ 12,  2,      3       ]
+[ 12,  3,      3       ]
+#DROP ARRAY matrix;
+#DROP TABLE tbl;
+
+# 18:09:08 >  
+# 18:09:08 >  Done.
+# 18:09:08 >  
+
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to