Changeset: 5ffeb8ac82d0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5ffeb8ac82d0
Added Files:
        clients/mapiclient/mhelp.c
        clients/mapiclient/mhelp.h
        monetdb5/optimizer/Tests/flowgraph.malC
        monetdb5/optimizer/Tests/flowgraph.stable.err
        monetdb5/optimizer/Tests/flowgraph.stable.out
        sql/jdbc/tests/Tests/Test_PSlargeamount.SQL.bat
        sql/jdbc/tests/Tests/Test_PSlargeamount.SQL.sh
        sql/jdbc/tests/Tests/Test_PSlargeamount.stable.err
        sql/jdbc/tests/Tests/Test_PSlargeamount.stable.out
        sql/jdbc/tests/Tests/Test_PSlargeresponse.SQL.bat
        sql/jdbc/tests/Tests/Test_PSlargeresponse.SQL.sh
        sql/jdbc/tests/Tests/Test_PSlargeresponse.stable.err
        sql/jdbc/tests/Tests/Test_PSlargeresponse.stable.out
        sql/jdbc/tests/Tests/Test_Smoreresults.SQL.bat
        sql/jdbc/tests/Tests/Test_Smoreresults.SQL.sh
        sql/jdbc/tests/Tests/Test_Smoreresults.stable.err
        sql/jdbc/tests/Tests/Test_Smoreresults.stable.out
Removed Files:
        
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows.single
        
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single
        sql/benchmarks/ssbm/Tests/01-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/01-explain.reqtests
        sql/benchmarks/ssbm/Tests/01-explain.stable.err
        sql/benchmarks/ssbm/Tests/01-explain.stable.out
        sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/01-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/01-plan.reqtests
        sql/benchmarks/ssbm/Tests/01-plan.stable.err
        sql/benchmarks/ssbm/Tests/01-plan.stable.out
        sql/benchmarks/ssbm/Tests/02-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/02-explain.reqtests
        sql/benchmarks/ssbm/Tests/02-explain.stable.err
        sql/benchmarks/ssbm/Tests/02-explain.stable.out
        sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/02-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/02-plan.reqtests
        sql/benchmarks/ssbm/Tests/02-plan.stable.err
        sql/benchmarks/ssbm/Tests/02-plan.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/03-explain.reqtests
        sql/benchmarks/ssbm/Tests/03-explain.stable.err
        sql/benchmarks/ssbm/Tests/03-explain.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/03-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/03-plan.reqtests
        sql/benchmarks/ssbm/Tests/03-plan.stable.err
        sql/benchmarks/ssbm/Tests/03-plan.stable.out
        sql/benchmarks/ssbm/Tests/04-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/04-explain.reqtests
        sql/benchmarks/ssbm/Tests/04-explain.stable.err
        sql/benchmarks/ssbm/Tests/04-explain.stable.out
        sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/04-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/04-plan.reqtests
        sql/benchmarks/ssbm/Tests/04-plan.stable.err
        sql/benchmarks/ssbm/Tests/04-plan.stable.out
        sql/benchmarks/ssbm/Tests/05-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/05-explain.reqtests
        sql/benchmarks/ssbm/Tests/05-explain.stable.err
        sql/benchmarks/ssbm/Tests/05-explain.stable.out
        sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/05-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/05-plan.reqtests
        sql/benchmarks/ssbm/Tests/05-plan.stable.err
        sql/benchmarks/ssbm/Tests/05-plan.stable.out
        sql/benchmarks/ssbm/Tests/06-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/06-explain.reqtests
        sql/benchmarks/ssbm/Tests/06-explain.stable.err
        sql/benchmarks/ssbm/Tests/06-explain.stable.out
        sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/06-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/06-plan.reqtests
        sql/benchmarks/ssbm/Tests/06-plan.stable.err
        sql/benchmarks/ssbm/Tests/06-plan.stable.out
        sql/benchmarks/ssbm/Tests/07-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/07-explain.reqtests
        sql/benchmarks/ssbm/Tests/07-explain.stable.err
        sql/benchmarks/ssbm/Tests/07-explain.stable.out
        sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/07-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/07-plan.reqtests
        sql/benchmarks/ssbm/Tests/07-plan.stable.err
        sql/benchmarks/ssbm/Tests/07-plan.stable.out
        sql/benchmarks/ssbm/Tests/08-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/08-explain.reqtests
        sql/benchmarks/ssbm/Tests/08-explain.stable.err
        sql/benchmarks/ssbm/Tests/08-explain.stable.out
        sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/08-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/08-plan.reqtests
        sql/benchmarks/ssbm/Tests/08-plan.stable.err
        sql/benchmarks/ssbm/Tests/08-plan.stable.out
        sql/benchmarks/ssbm/Tests/09-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/09-explain.reqtests
        sql/benchmarks/ssbm/Tests/09-explain.stable.err
        sql/benchmarks/ssbm/Tests/09-explain.stable.out
        sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/09-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/09-plan.reqtests
        sql/benchmarks/ssbm/Tests/09-plan.stable.err
        sql/benchmarks/ssbm/Tests/09-plan.stable.out
        sql/benchmarks/ssbm/Tests/10-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/10-explain.reqtests
        sql/benchmarks/ssbm/Tests/10-explain.stable.err
        sql/benchmarks/ssbm/Tests/10-explain.stable.out
        sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/10-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/10-plan.reqtests
        sql/benchmarks/ssbm/Tests/10-plan.stable.err
        sql/benchmarks/ssbm/Tests/10-plan.stable.out
        sql/benchmarks/ssbm/Tests/11-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/11-explain.reqtests
        sql/benchmarks/ssbm/Tests/11-explain.stable.err
        sql/benchmarks/ssbm/Tests/11-explain.stable.out
        sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/11-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/11-plan.reqtests
        sql/benchmarks/ssbm/Tests/11-plan.stable.err
        sql/benchmarks/ssbm/Tests/11-plan.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/12-explain.reqtests
        sql/benchmarks/ssbm/Tests/12-explain.stable.err
        sql/benchmarks/ssbm/Tests/12-explain.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/12-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/12-plan.reqtests
        sql/benchmarks/ssbm/Tests/12-plan.stable.err
        sql/benchmarks/ssbm/Tests/12-plan.stable.out
        sql/benchmarks/ssbm/Tests/13-explain.SQL.py.src
        sql/benchmarks/ssbm/Tests/13-explain.reqtests
        sql/benchmarks/ssbm/Tests/13-explain.stable.err
        sql/benchmarks/ssbm/Tests/13-explain.stable.out
        sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/13-plan.SQL.py.src
        sql/benchmarks/ssbm/Tests/13-plan.reqtests
        sql/benchmarks/ssbm/Tests/13-plan.stable.err
        sql/benchmarks/ssbm/Tests/13-plan.stable.out
        sql/benchmarks/tpch/Tests/01-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/01-explain.reqtests
        sql/benchmarks/tpch/Tests/01-explain.stable.err
        sql/benchmarks/tpch/Tests/01-explain.stable.out
        sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/01-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/01-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/01-plan.reqtests
        sql/benchmarks/tpch/Tests/01-plan.stable.err
        sql/benchmarks/tpch/Tests/01-plan.stable.out
        sql/benchmarks/tpch/Tests/01-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/02-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/02-explain.reqtests
        sql/benchmarks/tpch/Tests/02-explain.stable.err
        sql/benchmarks/tpch/Tests/02-explain.stable.out
        sql/benchmarks/tpch/Tests/02-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/02-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/02-plan.reqtests
        sql/benchmarks/tpch/Tests/02-plan.stable.err
        sql/benchmarks/tpch/Tests/02-plan.stable.out
        sql/benchmarks/tpch/Tests/02-plan.stable.out.32bit
        sql/benchmarks/tpch/Tests/03-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/03-explain.reqtests
        sql/benchmarks/tpch/Tests/03-explain.stable.err
        sql/benchmarks/tpch/Tests/03-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/03-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/03-plan.reqtests
        sql/benchmarks/tpch/Tests/03-plan.stable.err
        sql/benchmarks/tpch/Tests/03-plan.stable.out
        sql/benchmarks/tpch/Tests/03-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/04-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/04-explain.reqtests
        sql/benchmarks/tpch/Tests/04-explain.stable.err
        sql/benchmarks/tpch/Tests/04-explain.stable.out
        sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/04-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/04-plan.reqtests
        sql/benchmarks/tpch/Tests/04-plan.stable.err
        sql/benchmarks/tpch/Tests/04-plan.stable.out
        sql/benchmarks/tpch/Tests/05-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/05-explain.reqtests
        sql/benchmarks/tpch/Tests/05-explain.stable.err
        sql/benchmarks/tpch/Tests/05-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/05-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/05-plan.reqtests
        sql/benchmarks/tpch/Tests/05-plan.stable.err
        sql/benchmarks/tpch/Tests/05-plan.stable.out
        sql/benchmarks/tpch/Tests/05-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/06-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/06-explain.reqtests
        sql/benchmarks/tpch/Tests/06-explain.stable.err
        sql/benchmarks/tpch/Tests/06-explain.stable.out
        sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/06-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/06-plan.reqtests
        sql/benchmarks/tpch/Tests/06-plan.stable.err
        sql/benchmarks/tpch/Tests/06-plan.stable.out
        sql/benchmarks/tpch/Tests/06-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/07-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/07-explain.reqtests
        sql/benchmarks/tpch/Tests/07-explain.stable.err
        sql/benchmarks/tpch/Tests/07-explain.stable.out
        sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/07-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/07-plan.reqtests
        sql/benchmarks/tpch/Tests/07-plan.stable.err
        sql/benchmarks/tpch/Tests/07-plan.stable.out
        sql/benchmarks/tpch/Tests/07-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/08-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/08-explain.reqtests
        sql/benchmarks/tpch/Tests/08-explain.stable.err
        sql/benchmarks/tpch/Tests/08-explain.stable.out
        sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/08-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/08-plan.reqtests
        sql/benchmarks/tpch/Tests/08-plan.stable.err
        sql/benchmarks/tpch/Tests/08-plan.stable.out
        sql/benchmarks/tpch/Tests/08-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/09-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/09-explain.reqtests
        sql/benchmarks/tpch/Tests/09-explain.stable.err
        sql/benchmarks/tpch/Tests/09-explain.stable.out
        sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/09-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/09-plan.reqtests
        sql/benchmarks/tpch/Tests/09-plan.stable.err
        sql/benchmarks/tpch/Tests/09-plan.stable.out
        sql/benchmarks/tpch/Tests/09-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/10-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/10-explain.reqtests
        sql/benchmarks/tpch/Tests/10-explain.stable.err
        sql/benchmarks/tpch/Tests/10-explain.stable.out
        sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/10-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/10-plan.reqtests
        sql/benchmarks/tpch/Tests/10-plan.stable.err
        sql/benchmarks/tpch/Tests/10-plan.stable.out
        sql/benchmarks/tpch/Tests/10-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/11-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/11-explain.reqtests
        sql/benchmarks/tpch/Tests/11-explain.stable.err
        sql/benchmarks/tpch/Tests/11-explain.stable.out
        sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/11-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/11-plan.reqtests
        sql/benchmarks/tpch/Tests/11-plan.stable.err
        sql/benchmarks/tpch/Tests/11-plan.stable.out
        sql/benchmarks/tpch/Tests/11-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/12-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/12-explain.reqtests
        sql/benchmarks/tpch/Tests/12-explain.stable.err
        sql/benchmarks/tpch/Tests/12-explain.stable.out
        sql/benchmarks/tpch/Tests/12-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/12-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/12-plan.reqtests
        sql/benchmarks/tpch/Tests/12-plan.stable.err
        sql/benchmarks/tpch/Tests/12-plan.stable.out
        sql/benchmarks/tpch/Tests/13-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/13-explain.reqtests
        sql/benchmarks/tpch/Tests/13-explain.stable.err
        sql/benchmarks/tpch/Tests/13-explain.stable.out
        sql/benchmarks/tpch/Tests/13-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/13-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/13-plan.reqtests
        sql/benchmarks/tpch/Tests/13-plan.stable.err
        sql/benchmarks/tpch/Tests/13-plan.stable.out
        sql/benchmarks/tpch/Tests/13-plan.stable.out.32bit
        sql/benchmarks/tpch/Tests/14-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/14-explain.reqtests
        sql/benchmarks/tpch/Tests/14-explain.stable.err
        sql/benchmarks/tpch/Tests/14-explain.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/14-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/14-plan.reqtests
        sql/benchmarks/tpch/Tests/14-plan.stable.err
        sql/benchmarks/tpch/Tests/14-plan.stable.out
        sql/benchmarks/tpch/Tests/14-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/15-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/15-explain.reqtests
        sql/benchmarks/tpch/Tests/15-explain.stable.err
        sql/benchmarks/tpch/Tests/15-explain.stable.out
        sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/15-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/15-plan.reqtests
        sql/benchmarks/tpch/Tests/15-plan.stable.err
        sql/benchmarks/tpch/Tests/15-plan.stable.out
        sql/benchmarks/tpch/Tests/15-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/16-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/16-explain.reqtests
        sql/benchmarks/tpch/Tests/16-explain.stable.err
        sql/benchmarks/tpch/Tests/16-explain.stable.out
        sql/benchmarks/tpch/Tests/16-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/16-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/16-plan.reqtests
        sql/benchmarks/tpch/Tests/16-plan.stable.err
        sql/benchmarks/tpch/Tests/16-plan.stable.out
        sql/benchmarks/tpch/Tests/16-plan.stable.out.32bit
        sql/benchmarks/tpch/Tests/17-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/17-explain.reqtests
        sql/benchmarks/tpch/Tests/17-explain.stable.err
        sql/benchmarks/tpch/Tests/17-explain.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/17-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/17-plan.reqtests
        sql/benchmarks/tpch/Tests/17-plan.stable.err
        sql/benchmarks/tpch/Tests/17-plan.stable.out
        sql/benchmarks/tpch/Tests/17-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/18-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/18-explain.reqtests
        sql/benchmarks/tpch/Tests/18-explain.stable.err
        sql/benchmarks/tpch/Tests/18-explain.stable.out
        sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/18-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/18-plan.reqtests
        sql/benchmarks/tpch/Tests/18-plan.stable.err
        sql/benchmarks/tpch/Tests/18-plan.stable.out
        sql/benchmarks/tpch/Tests/18-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/19-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/19-explain.reqtests
        sql/benchmarks/tpch/Tests/19-explain.stable.err
        sql/benchmarks/tpch/Tests/19-explain.stable.out
        sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/19-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/19-plan.reqtests
        sql/benchmarks/tpch/Tests/19-plan.stable.err
        sql/benchmarks/tpch/Tests/19-plan.stable.out
        sql/benchmarks/tpch/Tests/19-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/20-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/20-explain.reqtests
        sql/benchmarks/tpch/Tests/20-explain.stable.err
        sql/benchmarks/tpch/Tests/20-explain.stable.out
        sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/20-plan.reqtests
        sql/benchmarks/tpch/Tests/20-plan.stable.err
        sql/benchmarks/tpch/Tests/20-plan.stable.out
        sql/benchmarks/tpch/Tests/20-plan.stable.out.int128
        sql/benchmarks/tpch/Tests/21-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/21-explain.reqtests
        sql/benchmarks/tpch/Tests/21-explain.stable.err
        sql/benchmarks/tpch/Tests/21-explain.stable.out
        sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/21-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/21-plan.reqtests
        sql/benchmarks/tpch/Tests/21-plan.stable.err
        sql/benchmarks/tpch/Tests/21-plan.stable.out
        sql/benchmarks/tpch/Tests/22-explain.SQL.py.src
        sql/benchmarks/tpch/Tests/22-explain.reqtests
        sql/benchmarks/tpch/Tests/22-explain.stable.err
        sql/benchmarks/tpch/Tests/22-explain.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/22-plan.SQL.py.src
        sql/benchmarks/tpch/Tests/22-plan.reqtests
        sql/benchmarks/tpch/Tests/22-plan.stable.err
        sql/benchmarks/tpch/Tests/22-plan.stable.out
Modified Files:
        clients/ChangeLog
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/exports.stable.out
        clients/mapiclient/Makefile.ag
        clients/mapiclient/mclient.c
        gdk/gdk_value.c
        monetdb5/extras/mal_optimizer_template/Tests/All
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_function.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        monetdb5/mal/mal_interpreter.c
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/mal/iterator.c
        monetdb5/modules/mal/mdb.c
        monetdb5/modules/mal/mdb.h
        monetdb5/modules/mal/mdb.mal
        monetdb5/optimizer/Tests/All
        monetdb5/optimizer/optimizer.c
        monetdb5/optimizer/optimizer.h
        monetdb5/optimizer/optimizer.mal
        sql/backends/monet5/Tests/pyapi10.stable.err
        sql/backends/monet5/Tests/pyapi10.stable.out
        sql/backends/monet5/Tests/pyapi25.stable.err
        sql/backends/monet5/Tests/pyapi25.stable.out
        sql/backends/monet5/UDF/pyapi/pytypes.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/benchmarks/ssbm/Tests/All
        sql/benchmarks/tpch/Tests/All
        sql/jdbc/tests/Tests/All
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
        sql/server/rel_select.c
        sql/server/rel_updates.c
        sql/server/sql_atom.c
        sql/server/sql_atom.h
        sql/server/sql_mvc.c
        
sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows
        testing/Mfilter.py
        tools/merovingian/client/monetdb.c
        tools/merovingian/daemon/discoveryrunner.c
        tools/merovingian/daemon/multiplex-funnel.c
        tools/merovingian/utils/glob.c
        tools/merovingian/utils/glob.h
Branch: protocol
Log Message:

Merge with default.


diffs (truncated from 23401 to 300 lines):

diff --git a/clients/ChangeLog b/clients/ChangeLog
--- a/clients/ChangeLog
+++ b/clients/ChangeLog
@@ -1,3 +1,6 @@
 # ChangeLog file for clients
 # This file is updated with Maddlog
 
+* Sun Oct 30 2016 Martin Kersten <m...@cwi.nl>
+- Added an more elaborate \help command for SQL expressions.
+
diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -5661,43 +5661,11 @@ Ready.
 [ "batcalc",   "sign", "pattern batcalc.sign(b:bat[:sht]):bat[:bte] ", 
"CMDbatSIGN;",  "Unary sign (-1,0,1) over the tail of the bat"  ]
 [ "batcalc",   "sign", "pattern 
batcalc.sign(b:bat[:sht],s:bat[:oid]):bat[:bte] ",     "CMDbatSIGN;",  "Unary 
sign (-1,0,1) over the tail of the bat with candidates list"     ]
 [ "batcalc",   "sqlblob",      "command 
batcalc.sqlblob(v:bat[:str]):bat[:sqlblob] ",  "batstr_2_sqlblob;",    "cast to 
sqlblob"       ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:bit]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from bit to str, signal error on 
overflow"        ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:bit],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from bit to str with candidates 
list, signal error on overflow"   ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:bte]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from bte to str, signal error on 
overflow"        ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:bte],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from bte to str with candidates 
list, signal error on overflow"   ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:dbl]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from dbl to str, signal error on 
overflow"        ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:dbl],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from dbl to str with candidates 
list, signal error on overflow"   ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:flt]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from flt to str, signal error on 
overflow"        ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:flt],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from flt to str with candidates 
list, signal error on overflow"   ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:int]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from int to str, signal error on 
overflow"        ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:int],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from int to str with candidates 
list, signal error on overflow"   ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:lng]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from lng to str, signal error on 
overflow"        ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:lng],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from lng to str with candidates 
list, signal error on overflow"   ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:oid]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from oid to str, signal error on 
overflow"        ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:oid],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from oid to str with candidates 
list, signal error on overflow"   ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:sht]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from sht to str, signal error on 
overflow"        ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:sht],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from sht to str with candidates 
list, signal error on overflow"   ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:str]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from str to str, signal error on 
overflow"        ]
-[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:str],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from str to str with candidates 
list, signal error on overflow"   ]
+[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:any]):bat[:str] ",  
"CMDconvertsignal_str;",        "cast from any to str, signal error on 
overflow"        ]
+[ "batcalc",   "str",  "pattern batcalc.str(b:bat[:any],s:bat[:oid]):bat[:str] 
",      "CMDconvertsignal_str;",        "cast from any to str with candidates 
list, signal error on overflow"   ]
 [ "batcalc",   "str",  "pattern 
batcalc.str(eclass:int,d1:int,s1:int,has_tz:int,v:bat[:any_1],digits:int):bat[:str]
 ", "SQLbatstr_cast;",      "cast to string and check for overflow" ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:bit]):bat[:str] ",  "CMDconvert_str;",      "cast 
from bit to str"  ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:bit],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from bit to str with candidates list"     ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:bte]):bat[:str] ",  "CMDconvert_str;",      "cast 
from bte to str"  ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:bte],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from bte to str with candidates list"     ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:dbl]):bat[:str] ",  "CMDconvert_str;",      "cast 
from dbl to str"  ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:dbl],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from dbl to str with candidates list"     ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:flt]):bat[:str] ",  "CMDconvert_str;",      "cast 
from flt to str"  ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:flt],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from flt to str with candidates list"     ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:int]):bat[:str] ",  "CMDconvert_str;",      "cast 
from int to str"  ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:int],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from int to str with candidates list"     ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:lng]):bat[:str] ",  "CMDconvert_str;",      "cast 
from lng to str"  ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:lng],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from lng to str with candidates list"     ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:oid]):bat[:str] ",  "CMDconvert_str;",      "cast 
from oid to str"  ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:oid],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from oid to str with candidates list"     ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:sht]):bat[:str] ",  "CMDconvert_str;",      "cast 
from sht to str"  ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:sht],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from sht to str with candidates list"     ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:str]):bat[:str] ",  "CMDconvert_str;",      "cast 
from str to str"  ]
-[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:str],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from str to str with candidates list"     ]
+[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:any]):bat[:str] ",  "CMDconvert_str;",      "cast 
from any to str"  ]
+[ "batcalc",   "str_noerror",  "pattern 
batcalc.str_noerror(b:bat[:any],s:bat[:oid]):bat[:str] ",      
"CMDconvert_str;",      "cast from any to str with candidates list"     ]
 [ "batcalc",   "strings",      "command batcalc.strings(v:bat[:str]):bat[:str] 
",      "BATSTRstrings;",       "Return the strings"    ]
 [ "batcalc",   "sub_noerror",  "pattern 
batcalc.sub_noerror(b1:bat[:bte],b2:bat[:bte]):bat[:bte] ",    "CMDbatSUB;",   
"Return B1 - B2, overflow causes NIL value"     ]
 [ "batcalc",   "sub_noerror",  "pattern 
batcalc.sub_noerror(b1:bat[:bte],b2:bat[:bte],s:bat[:oid]):bat[:bte] ",        
"CMDbatSUB;",   "Return B1 - B2 with candidates list, overflow causes NIL 
value"        ]
@@ -7329,16 +7297,7 @@ Ready.
 [ "calc",      "sqlblob",      "command calc.sqlblob(b:sqlblob):sqlblob ",     
"BLOBblob_blob;",       ""      ]
 [ "calc",      "sqlblob",      "command calc.sqlblob(s:str):sqlblob ", 
"BLOBsqlblob_fromstr;", ""      ]
 [ "calc",      "sqlblob",      "command calc.sqlblob(v:str):sqlblob ", 
"str_2_sqlblob;",       "cast to sqlblob"       ]
-[ "calc",      "str",  "pattern calc.str(v:bit):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
-[ "calc",      "str",  "pattern calc.str(v:bte):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
-[ "calc",      "str",  "pattern calc.str(v:dbl):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
-[ "calc",      "str",  "pattern calc.str(v:flt):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
-[ "calc",      "str",  "pattern calc.str(v:int):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
-[ "calc",      "str",  "pattern calc.str(v:lng):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
-[ "calc",      "str",  "pattern calc.str(v:oid):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
-[ "calc",      "str",  "pattern calc.str(v:sht):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
-[ "calc",      "str",  "pattern calc.str(v:str):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
-[ "calc",      "str",  "pattern calc.str(v:void):str ",        
"CMDvarCONVERT;",       "Cast VALUE to str"     ]
+[ "calc",      "str",  "pattern calc.str(v:any):str ", "CMDvarCONVERT;",       
"Cast VALUE to str"     ]
 [ "calc",      "str",  "command calc.str(v:date):str ",        
"SQLdate_2_str;",       "cast date to str"      ]
 [ "calc",      "str",  "command calc.str(v:sqlblob):str ",     
"SQLsqlblob_2_str;",    "cast sqlblob to str"   ]
 [ "calc",      "str",  "pattern 
calc.str(eclass:int,d1:int,s1:int,has_tz:int,v:any_1,digits:int):str ",        
"SQLstr_cast;", "cast to string and check for overflow" ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -2316,7 +2316,7 @@ InstrPtr newStmt(MalBlkPtr mb, const cha
 Symbol newSymbol(str nme, int kind);
 int newTmpVariable(MalBlkPtr mb, malType type);
 int newTypeVariable(MalBlkPtr mb, malType type);
-int newVariable(MalBlkPtr mb, str name, size_t len, malType type);
+int newVariable(MalBlkPtr mb, const char *name, size_t len, malType type);
 str nextRef;
 str notRef;
 str not_ilikeRef;
diff --git a/clients/mapiclient/Makefile.ag b/clients/mapiclient/Makefile.ag
--- a/clients/mapiclient/Makefile.ag
+++ b/clients/mapiclient/Makefile.ag
@@ -13,7 +13,7 @@ lib_mcutil = {
 }
 
 bin_mclient = {
-       SOURCES = mclient.c ReadlineTools.c ReadlineTools.h
+       SOURCES = mclient.c ReadlineTools.c ReadlineTools.h mhelp.c mhelp.h
        LIBS = libmcutil ../mapilib/libmapi \
                ../../common/stream/libstream \
                ../../common/utils/libmutils \
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -44,6 +44,7 @@
 #include "msqldump.h"
 #include "mprompt.h"
 #include "dotmonetdb.h"
+
 #ifdef HAVE_LOCALE_H
 #include <locale.h>
 #endif
@@ -188,6 +189,9 @@ static char *nullstring = default_nullst
 
 #define my_isspace(c)  ((c) == '\f' || (c) == '\n' || (c) == ' ')
 
+#include <ctype.h>
+#include "mhelp.h"
+
 static timertype
 gettime(void)
 {
@@ -2146,17 +2150,18 @@ static void
 showCommands(void)
 {
        /* shared control options */
-       mnstr_printf(toConsole, "\\?      - show this message\n");
+       mnstr_printf(toConsole, "\\?       - show this message\n");
        if (mode == MAL)
-               mnstr_printf(toConsole, "?pat    - MAL function help. 
pat=[modnme[.fcnnme][(][)]] wildcard *\n");
-       mnstr_printf(toConsole, "\\<file  - read input from file\n");
-       mnstr_printf(toConsole, "\\>file  - save response in file, or stdout if 
no file is given\n");
+               mnstr_printf(toConsole, "?pat  - MAL function help. 
pat=[modnme[.fcnnme][(][)]] wildcard *\n");
+       mnstr_printf(toConsole, "\\<file   - read input from file\n");
+       mnstr_printf(toConsole, "\\>file   - save response in file, or stdout 
if no file is given\n");
 #ifdef HAVE_POPEN
-       mnstr_printf(toConsole, "\\|cmd   - pipe result to process, or stop 
when no command is given\n");
+       mnstr_printf(toConsole, "\\|cmd    - pipe result to process, or stop 
when no command is given\n");
 #endif
 #ifdef HAVE_LIBREADLINE
-       mnstr_printf(toConsole, "\\h      - show the readline history\n");
+       mnstr_printf(toConsole, "\\history - show the readline history\n");
 #endif
+       mnstr_printf(toConsole, "\\help    - synopsis of the SQL syntax\n");
 #if 0
        mnstr_printf(toConsole, "\\t      - toggle timer\n");
 #endif
@@ -2772,20 +2777,25 @@ doFile(Mapi mid, stream *fp, int useinse
                                        pager = strdup(line);
                                        continue;
 #endif
-#ifdef HAVE_LIBREADLINE
                                case 'h':
                                {
+#ifdef HAVE_LIBREADLINE
                                        int h;
                                        char *nl;
 
-                                       for (h = 0; h < history_length; h++) {
-                                               nl = history_get(h) ? 
history_get(h)->line : 0;
-                                               if (nl)
-                                                       mnstr_printf(toConsole, 
"%d %s\n", h, nl);
-                                       }
+                                       if( strcmp(line,"\\history") ==0){
+                                               for (h = 0; h < history_length; 
h++) {
+                                                       nl = history_get(h) ? 
history_get(h)->line : 0;
+                                                       if (nl)
+                                                               
mnstr_printf(toConsole, "%d %s\n", h, nl);
+                                               }
+                                       } else
+#endif
+                                               sql_help(line, toConsole);
                                        continue;
                                }
 /* for later
+#ifdef HAVE_LIBREADLINE
                                case '!':
                                {
                                        char *nl;
@@ -2799,8 +2809,8 @@ doFile(Mapi mid, stream *fp, int useinse
                                        mnstr_printf(toConsole, "Expansion 
needs work\n");
                                        continue;
                                }
+#endif
 */
-#endif
                                case 'e':
                                        echoquery = 1;
                                        continue;
diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c
new file mode 100644
--- /dev/null
+++ b/clients/mapiclient/mhelp.c
@@ -0,0 +1,695 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
+ */
+
+/**
+ * 2016 Martin Kersten
+ *
+ * The SQL syntax help synopsis.
+ */
+
+/* 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
+ *
+ * Ideally each major command line should point into the website for
+ * more details and variations not covered here.
+ * */
+
+#include "monetdb_config.h"
+#include <ctype.h>
+#include <string.h>
+#include "stream.h"
+#include "mhelp.h"
+
+typedef struct{
+       char *command;
+       char *synopsis;
+       char *syntax;
+       char *rules;
+       char *comments;
+} SQLhelp;
+
+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 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\n"
+         "ALTER TABLE qname DROP TABLE qname [RESTRICT | CASCADE]\n",
+         "",
+         "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]",
+         0,
+         "See also 
https://www.monetdb.org/Documentation/Manuals/SQLreference/SerialTypes";
+       },
+       { "ALTER USER",
+         "",
+     "ALTER USER ident  WITH [ ENCRYPTED | UNENCRYPTED] PASSWORD string\n"
+     "ALTER USER ident  SET SCHEMA ident\n"
+     "ALTER USER ident  WITH [ENCRYPTED | UNENCRYPTED] PASSWORD SET SCHEMA 
ident\n"
+     "ALTER USER RENAME TO ident  \n"
+     "ALTER USER SET [ ENCRYPTED | UNENCRYPTED] PASSWORD string USING OLD 
PASSWORD string",
+         0, "See also https://www.monetdb.org/Documentation/SQLreference/Users";
+       },
+    { "ANALYZE",
+         "Collect statistics for optimizations",
+         "ANALYZE qname [column_list] [SAMPLE size] [MINMAX]",
+         "column_list",
+         "See also 
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/statistics";
+       },
+       { "CALL",
+         "",
+         "CALL qname '(' [ [scalar_expression ] [ ',' ...]  ]')' | CALL ident 
'.' ident",
+         0,0
+       },
+       { "CASE",
+         "Case statement for procedures/functions",
+         "CASE  scalar_expression [ when_statement ...]  [ELSE 
procedure_statement ... ] END CASE",
+         0,"See also 
https://www.monetdb.org/Documentation/SQLreference/Flowofcontrol";
+       },
+    { "COMMIT",
+         "Commit the current transaction",
+         "COMMIT [ WORK ] [ AND CHAIN | AND NO CHAIN ]",
+         0,0
+       },
+       { "COPY BINARY",
+         "Append binary representations into a table",
+         "COPY [nrofrecords] BINARY INTO qname [column_list] FROM string 
[','...] [NO CONSTRAINT]",
+         "nrofrecords",
+         "see 
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/BinaryBulkLoad";
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to