Changeset: cea283c1558d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cea283c1558d
Added Files:
sql/test/BugTracker-2018/Tests/timestamp-as-boolean.Bug-6642.sql
sql/test/BugTracker-2018/Tests/timestamp-as-boolean.Bug-6642.stable.err
sql/test/BugTracker-2018/Tests/timestamp-as-boolean.Bug-6642.stable.out
Modified Files:
clients/mapiclient/mhelp.c
gdk/gdk_align.c
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_cross.c
gdk/gdk_join.c
gdk/gdk_project.c
gdk/gdk_select.c
gdk/gdk_unique.c
monetdb5/optimizer/opt_dataflow.c
sql/include/sql_hash.h
sql/server/rel_select.c
sql/test/BugTracker-2018/Tests/All
tools/merovingian/daemon/config/monetdbd.in
Branch: default
Log Message:
Merge with Aug2018 branch.
diffs (truncated from 1027 to 300 lines):
diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c
--- a/clients/mapiclient/mhelp.c
+++ b/clients/mapiclient/mhelp.c
@@ -14,11 +14,11 @@
/* produce a synposis of the SQL syntax, inspired by a competing product.
* Use the conventional grammar constructs:
- * [ A | B ] optionally token A or B or none
- * { A | B } exactly one of the options should be chosen
- * A [ ',' ...] a comma separate lists of A elements
- * { A | B } ... a series of A and Bs
- * ( A B ) [','...] a series of AB,AB,AB,AB
+ * [ A | B ] token A or B or none
+ * { A | B } exactly one of the options A or B should be chosen
+ * A [',' ...] a comma separated list of A elements
+ * { A | B } ... a series of A and B's
+ * { A B } [',' ...] a series of A B,A B,A B,A B
*
* Ideally each major command line should point into the website for
* more details and variations not covered here.
@@ -47,27 +47,27 @@ SQLhelp sqlhelp[] = {
// major commands
{"ALTER TABLE",
"",
- "ALTER TABLE qname ADD [COLUMN] { column_def | table_constraint }\n"
- "ALTER TABLE qname ALTER [COLUMN] ident SET DEFAULT value\n"
- "ALTER TABLE qname ALTER [COLUMN] ident SET [NOT] NULL\n"
- "ALTER TABLE qname ALTER [COLUMN] ident DROP DEFAULT\n"
- "ALTER TABLE qname ALTER [COLUMN] ident SET STORAGE {string | NULL}\n"
- "ALTER TABLE qname DROP [COLUMN] ident [RESTRICT | CASCADE]\n"
- "ALTER TABLE qname DROP CONSTRAINT ident [RESTRICT | CASCADE]\n"
+ "ALTER TABLE qname ADD [ COLUMN ] { column_def | table_constraint }\n"
+ "ALTER TABLE qname ALTER [ COLUMN ] ident SET DEFAULT value\n"
+ "ALTER TABLE qname ALTER [ COLUMN ] ident SET [NOT] NULL\n"
+ "ALTER TABLE qname ALTER [ COLUMN ] ident DROP DEFAULT\n"
+ "ALTER TABLE qname ALTER [ COLUMN ] ident SET STORAGE {string |
NULL}\n"
+ "ALTER TABLE qname DROP [ COLUMN ] ident [ RESTRICT | CASCADE ]\n"
+ "ALTER TABLE qname DROP CONSTRAINT ident [ RESTRICT | CASCADE ]\n"
"ALTER TABLE qname SET { { READ | INSERT } ONLY | READ WRITE }",
"column_def,table_constraint",
"See also https://www.monetdb.org/Documentation/SQLreference/Alter"},
{"ALTER MERGE TABLE",
"",
- "ALTER TABLE qname ADD TABLE qname [AS PARTITION opt_partition_spec]\n"
- "ALTER TABLE qname DROP TABLE qname [RESTRICT | CASCADE]\n"
+ "ALTER TABLE qname ADD TABLE qname [ AS PARTITION opt_partition_spec
]\n"
+ "ALTER TABLE qname DROP TABLE qname [ RESTRICT | CASCADE ]\n"
"ALTER TABLE qname SET TABLE qname AS PARTITION opt_partition_spec",
"",
"See also
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/DataPartitioning"},
{"ALTER SEQUENCE",
"",
"ALTER SEQUENCE ident [ AS datatype] [ RESTART [WITH start]]
[INCREMENT BY increment]\n"
- "[MINVALUE minvalue | NO MINVALUE] [MAXVALUE maxvalue | NOMAXVALUE] |
[ [ NO] CYCLE]",
+ "[MINVALUE minvalue | NO MINVALUE] [MAXVALUE maxvalue | NOMAXVALUE] |
[ [NO] CYCLE]",
NULL,
"See also
https://www.monetdb.org/Documentation/Manuals/SQLreference/SerialTypes"},
{"ALTER USER",
@@ -86,7 +86,7 @@ SQLhelp sqlhelp[] = {
"See also
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/statistics"},
{"CALL",
"",
- "CALL qname '(' [ [scalar_expression ] [ ',' ...] ]')' | CALL ident
'.' ident",
+ "CALL qname '(' [ scalar_expression [',' ...] ] ')' | CALL ident '.'
ident",
NULL,
NULL},
{"CASE",
@@ -108,13 +108,13 @@ SQLhelp sqlhelp[] = {
NULL},
{"COPY BINARY",
"Append binary representations into a table",
- "COPY [nrofrecords] BINARY INTO qname [column_list] FROM string
[','...] [NO CONSTRAINT]",
+ "COPY [nrofrecords] BINARY INTO qname [column_list] FROM string [','
...] [NO CONSTRAINT]",
"nrofrecords",
"See also
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/BinaryBulkLoad"},
{"COPY INTO",
"Parse a csv-file into a table",
- "COPY [nrofrecords] INTO qname [column_list] FROM string [','...]
[headerlist] [ separators]\n"
- " [NULL [AS] string] [LOCKED] [BEST EFFORT] [NO CONSTRAINT] [FWF '('
integer [','...]')'\n"
+ "COPY [nrofrecords] INTO qname [column_list] FROM string [',' ...]
[headerlist] [ separators]\n"
+ " [NULL [AS] string] [LOCKED] [BEST EFFORT] [NO CONSTRAINT] [FWF '('
integer [',' ...] ')'\n"
"COPY [nrofrecords] INTO qname [column_list] FROM STDIN [headerlist] [
separators]\n"
" [NULL [AS] string] [LOCKED] [BEST EFFORT] [NO CONSTRAINT]\n"
"COPY query_expression INTO [STDOUT | string] [seps] [NULL [AS]
string]",
@@ -125,33 +125,33 @@ SQLhelp sqlhelp[] = {
"COPY LOADER INTO qname FROM qname '(' [ scalar_expression ... ] ')'",
NULL,
NULL},
- {"CREATE AGGREGATE FUNCTION",
+ {"CREATE AGGREGATE",
"",
- "CREATE [ OR REPLACE ] AGGREGATE FUNCTION qname '(' { '*' | [ param
[',' ...]] } ')'\n"
- " RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')'
}\n"
+ "CREATE [ OR REPLACE ] AGGREGATE qname '(' { '*' | [ param [',' ...]]
} ')'\n"
+ " RETURNS { data_type | TABLE '(' function_return [',' ...] ')' }\n"
" EXTERNAL NAME ident ',' ident\n"
- "CREATE [ OR REPLACE ] AGGREGATE FUNCTION qname '(' { '*' | [ param
[',' ...]] }')'\n"
- " RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')'
}\n"
+ "CREATE [ OR REPLACE ] AGGREGATE qname '(' { '*' | [ param [',' ...]]
} ')'\n"
+ " RETURNS { data_type | TABLE '(' function_return [',' ...] ')' }\n"
" LANGUAGE ident external_code",
"param,data_type,function_return",
NULL},
{"CREATE FILTER FUNCTION",
"",
"CREATE [ OR REPLACE ] FILTER FUNCTION qname '(' { '*' | [ param [','
...]] } ')'\n"
- " RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')'
}\n"
+ " RETURNS { data_type | TABLE '(' function_return [',' ...] ')' }\n"
" EXTERNAL NAME ident ',' ident",
"param,data_type,function_return",
NULL},
{"CREATE FUNCTION",
"",
"CREATE [ OR REPLACE ] FUNCTION qname '(' { '*' | [ param [',' ...]] }
')'\n"
- " RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')'
}\n"
+ " RETURNS { data_type | TABLE '(' function_return [',' ...] ')' }\n"
" EXTERNAL NAME ident ',' ident\n"
"CREATE [ OR REPLACE ] FUNCTION qname '(' { '*' | [ param [',' ...]] }
')'\n"
- " RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')'
}\n"
+ " RETURNS { data_type | TABLE '(' function_return [',' ...] ')' }\n"
" BEGIN [ ATOMIC ] statement [ ';' ...] END\n"
- "CREATE [ OR REPLACE ] FUNCTION qname '(' { '*' | [ param [',' ...]]
}')'\n"
- " RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')'
}\n"
+ "CREATE [ OR REPLACE ] FUNCTION qname '(' { '*' | [ param [',' ...]] }
')'\n"
+ " RETURNS { data_type | TABLE '(' function_return [',' ...] ')' }\n"
" LANGUAGE ident external_code",
"param,data_type,function_return,external_code",
NULL},
@@ -162,7 +162,7 @@ SQLhelp sqlhelp[] = {
NULL},
{"CREATE PROCEDURE",
"",
- "CREATE [ OR REPLACE ] PROCEDURE qname '(' { '*' | [ param [',' ...]]
}')'\n"
+ "CREATE [ OR REPLACE ] PROCEDURE qname '(' { '*' | [ param [',' ...]]
} ')'\n"
" EXTERNAL NAME ident ',' ident\n"
"CREATE [ OR REPLACE ] PROCEDURE qname '(' { '*' | [ param [',' ...]]
} ')'\n"
" BEGIN [ ATOMIC ] procedure_statement [ ';' ...] END\n"
@@ -199,7 +199,7 @@ SQLhelp sqlhelp[] = {
{"CREATE SEQUENCE",
"Define a new sequence generator",
"CREATE SEQUENCE ident [ AS datatype] [ START [WITH start]] [INCREMENT
BY increment]\n"
- "[MINVALUE minvalue | NO MINVALUE] [MAXVALUE maxvalue | NOMAXVALUE] |
[ [ NO] CYCLE]",
+ "[MINVALUE minvalue | NO MINVALUE] [MAXVALUE maxvalue | NOMAXVALUE] |
[ [NO] CYCLE]",
NULL,
"See also
https://www.monetdb.org/Documentation/Manuals/SQLreference/SerialTypes"},
{"CREATE STREAM TABLE",
@@ -211,7 +211,7 @@ SQLhelp sqlhelp[] = {
"",
"CREATE TABLE [ IF NOT EXISTS ] qname table_source [STORAGE ident
string]\n"
"CREATE TABLE [ IF NOT EXISTS ] qname FROM LOADER function_ref\n"
- "CREATE [ LOCAL | GLOBAL ] TEMP[ORARY] TABLE [ IF NOT EXISTS ] qname
table_source [on_commit]",
+ "CREATE [ LOCAL | GLOBAL ] { TEMPORARY | TEMP } TABLE [ IF NOT EXISTS
] qname table_source [on_commit]",
"table_source,on_commit,function_ref",
NULL},
{"CREATE TRIGGER",
@@ -354,10 +354,10 @@ SQLhelp sqlhelp[] = {
"See also https://www.monetdb.org/Documentation/SQLreference/Updates"},
{"GRANT",
"Define access privileges",
- "GRANT privileges TO grantee_list [ WITH GRANT OPTION ]"
- "GRANT authid [',' ... ] TO grantee_list [ WITH ADMIN OPTION]",
- "grantee_list,authid",
- NULL},
+ "GRANT privileges TO grantee [',' ...] [ WITH GRANT OPTION ]\n"
+ "GRANT role [',' ...] TO grantee [',' ...] [ WITH ADMIN OPTION]",
+ "privileges,role",
+ "See also
https://www.monetdb.org/Documentation/SQLreference/Permissions"},
{"RELEASE SAVEPOINT",
"",
"RELEASE SAVEPOINT ident",
@@ -370,10 +370,10 @@ SQLhelp sqlhelp[] = {
NULL},
{"REVOKE",
"Remove some privileges",
- "REVOKE [GRANT OPTION FOR] privileges FROM grantee [ ',' ... ] [ FROM
[CURRENT_USER | CURRENT_ROLE]]\n"
- "REVOKE [ADMIN OPTION FOR] authid [ ',' ... ] FROM grantee [ ',' ... ]
[ FROM [CURRENT_USER | CURRENT_ROLE]]",
- "privileges,authid,grantee",
- NULL},
+ "REVOKE [GRANT OPTION FOR] privileges FROM { grantee [',' ...] |
CURRENT_USER | CURRENT_ROLE }\n"
+ "REVOKE [ADMIN OPTION FOR] role [',' ...] FROM { grantee [',' ...] |
CURRENT_USER | CURRENT_ROLE }",
+ "privileges,grantee,role",
+ "See also
https://www.monetdb.org/Documentation/SQLreference/Permissions"},
{"ROLLBACK",
"Rollback the current transaction",
"ROLLBACK [WORK] [ AND CHAIN | AND NO CHAIN ] [TO SAVEPOINT ident]",
@@ -393,13 +393,12 @@ SQLhelp sqlhelp[] = {
"[ WHERE condition ]\n"
"[ GROUP BY grouping_element ',', ...] ]\n"
"[ HAVING condition [',' ...] ]\n"
- "[ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ]\n"
+ "[ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] [ CORRESPONDING ]
select ]\n"
"[ ORDER BY expression [ ASC | DESC ] [',' ...] ]\n"
"[ LIMIT { count | param } ]\n"
- "[ OFFSET { count | param} ]\n"
- "[ SAMPLE size ]\n"
- " select_expression {UNION | INTERSECT | EXCEPT} [ALL | DISTINCT]
[CORRESPONDING] select_expression",
- "",
+ "[ OFFSET { count | param } ]\n"
+ "[ SAMPLE size ]",
+ "with_list,expression",
"See also
https://www.monetdb.org/Documentation/SQLreference/TableExpressions"},
{"SET",
"Assign a value to a variable or column",
@@ -482,21 +481,21 @@ SQLhelp sqlhelp[] = {
"See also
https://www.monetdb.org/Documentation/SQLreference/Flowofcontrol"},
{"WINDOW",
"",
- "{RANK | DENSE_RANK | PERCENT_RANK | CUME_DIST} OVER window_name |\n"
- "{RANK | DENSE_RANK | PERCENT_RANK | CUME_DIST} OVER '('\n"
- "[window_name] [PARTITION BY column_ref ... ]\n"
- "[ORDER BY sort_spec]\n"
- "{ROWS | RANGE} {UNBOUNDED PRECEDING | value PRECEDING | CURRENT
ROW}\n"
- "[BETWEEN {UNBOUNDED FOLLOWING | value FOLLOWING | UNBOUNDED PRECEDING
| value PRECEDING | CURRENT ROW}\n"
- "AND {UNBOUNDED FOLLOWING | value FOLLOWING | UNBOUNDED PRECEDING |
value PRECEDING | CURRENT ROW} ]\n"
- "[EXCLUDING {CURRENT ROW | GROUP | TIES | NO OTHERS}",
+ "{ RANK | DENSE_RANK | PERCENT_RANK | CUME_DIST } OVER window_name |\n"
+ "{ RANK | DENSE_RANK | PERCENT_RANK | CUME_DIST } OVER '('\n"
+ "[ window_name ] [ PARTITION BY column_ref ... ]\n"
+ "[ ORDER BY sort_spec]\n"
+ "{ ROWS | RANGE } { UNBOUNDED PRECEDING | value PRECEDING | CURRENT
ROW }\n"
+ "[ BETWEEN { UNBOUNDED FOLLOWING | value FOLLOWING | UNBOUNDED
PRECEDING | value PRECEDING | CURRENT ROW }\n"
+ " AND { UNBOUNDED FOLLOWING | value FOLLOWING | UNBOUNDED PRECEDING |
value PRECEDING | CURRENT ROW } ]\n"
+ "[ EXCLUDING {CURRENT ROW | GROUP | TIES | NO OTHERS} ]",
NULL,
"See also
https://www.monetdb.org/Documentation/Manuals/SQLreference/WindowFunctions"},
// The subgrammar rules
{"assignment_list",
NULL,
- "column '=' DEFAULT | column '=' search_condition | '(' column
[','...] ')' '=' subquery",
+ "column '=' DEFAULT | column '=' search_condition | '(' column [','
...] ')' '=' subquery",
"search_condition,column,subquery",
NULL},
{"authid",
@@ -511,7 +510,7 @@ SQLhelp sqlhelp[] = {
NULL},
{"column_list",
NULL,
- "'(' ident [ ',' ... ] ')'",
+ "'(' ident [',' ...] ')'",
NULL,
NULL},
{"column_option",
@@ -521,7 +520,7 @@ SQLhelp sqlhelp[] = {
NULL},
{"column_option_list",
NULL,
- "ident WITH OPTIONS '(' column_constraint ')' [ ',' ... ]",
+ "ident WITH OPTIONS '(' column_constraint ')' [',' ...]",
"column_constraint",
NULL},
{"column_constraint",
@@ -559,7 +558,7 @@ SQLhelp sqlhelp[] = {
NULL},
{"drop_table_element",
NULL,
- "{ CONSTRAINT | TABLE | COLUMN } ident [ { RESTRICT | CASCADE } ]",
+ "{ CONSTRAINT | TABLE | COLUMN } ident [ RESTRICT | CASCADE ]",
NULL,
NULL},
{"end_time",
@@ -575,12 +574,12 @@ SQLhelp sqlhelp[] = {
{"generated_column",
NULL,
"AUTO_INCREMENT | GENERATED ALWAYS AS IDENTITY [ '(' [ AS datatype] [
START [WITH start]] [INCREMENT BY increment]\n"
- "[MINVALUE minvalue | NO MINVALUE] [MAXVALUE maxvalue | NOMAXVALUE] |
[ [ NO] CYCLE] ')' ] ",
+ "[MINVALUE minvalue | NO MINVALUE] [MAXVALUE maxvalue | NOMAXVALUE] |
[ [NO] CYCLE] ')' ] ",
NULL,
"See also
https://www.monetdb.org/Documentation/Manuals/SQLreference/SerialTypes"},
{"global_privileges",
NULL,
- "{ COPY FROM | COPY INTO } [ ',' ... ]",
+ "{ COPY FROM | COPY INTO } [',' ...]",
NULL,
NULL},
{"grantee",
@@ -600,7 +599,7 @@ SQLhelp sqlhelp[] = {
NULL},
{"ident_list",
NULL,
- "ident [ ',' ... ]",
+ "ident [',' ...]",
NULL,
NULL},
{"interval",
@@ -667,9 +666,8 @@ SQLhelp sqlhelp[] = {
NULL},
{"privileges",
NULL,
- "{ ALL [PRIVILEGES ] | INSERT | DELETE | EXECUTE | REFERENCES | SELECT
| TRUNCATE | UPDATE } column_list ON "
- " { [TABLE] qname | routine_designator } | global_privileges",
- "global_privileges,routine_designator",
+ "table_privileges | EXECUTE ON [ FUNCTION | AGGREGATE ] qname |
global_privileges",
+ "table_privileges,global_privileges",
NULL},
{"procedure_statement",
NULL,
@@ -688,7 +686,7 @@ SQLhelp sqlhelp[] = {
NULL},
{"reference_action",
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list