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

Reply via email to