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