Changeset: 2d3928711f7a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2d3928711f7a
Added Files:
        sql/backends/monet5/UDF/pyapi3/50_pyapi3.mal
        sql/backends/monet5/UDF/pyapi3/Makefile.ag
        sql/backends/monet5/UDF/pyapi3/Tests/All
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_00.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_00.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_00.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_01.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_01.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_01.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_02.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_02.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_02.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_03.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_03.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_03.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_04.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_04.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_04.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_05.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_05.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_05.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_06.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_06.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_06.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_07.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_07.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_07.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_09.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_09.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_09.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_10.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_10.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_10.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_11.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_11.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_11.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_12.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_12.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_12.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_13.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_13.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_13.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_15.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_16.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_16.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_16.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_17.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_17.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_17.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_18.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_18.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_18.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_19.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_19.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_19.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_20.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_20.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_20.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_21.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_21.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_21.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_23.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_23.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_23.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_24.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_24.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_24.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_26.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_26.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_26.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_27.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_27.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_27.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_28.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_28.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_28.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_29.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_29.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_29.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_30.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_30.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_30.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_31.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_31.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_31.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_32.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_32.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_32.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_02.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_02.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_02.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_05.SQL.sh
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_05.stable.err
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_05.stable.out
        sql/backends/monet5/UDF/pyapi3/connection3.c
        sql/backends/monet5/UDF/pyapi3/conversion3.c
        sql/backends/monet5/UDF/pyapi3/emit3.c
        sql/backends/monet5/UDF/pyapi3/formatinput3.c
        sql/backends/monet5/UDF/pyapi3/pyapi3.c
        sql/backends/monet5/UDF/pyapi3/pyapi3.mal
        sql/backends/monet5/UDF/pyapi3/pyloader3.c
        sql/backends/monet5/UDF/pyapi3/pytypes3.c
        sql/backends/monet5/UDF/pyapi3/type_conversion3.c
        sql/backends/monet5/UDF/pyapi3/unicode3.c
        
sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.out.Darwin.src
        
sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.out.FreeBSD
        
sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.sql
        
sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.err
        
sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.out
        
sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.sql
        
sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.err
        
sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
        sql/test/BugTracker-2017/Tests/fullouterjoinfilter.Bug-6256.sql
        sql/test/BugTracker-2017/Tests/fullouterjoinfilter.Bug-6256.stable.err
        sql/test/BugTracker-2017/Tests/fullouterjoinfilter.Bug-6256.stable.out
        sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.sql
        sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.err
        sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.out
        sql/test/BugTracker-2017/Tests/with-alias-bug.6246.sql
        sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.err
        sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.out
        sql/test/BugTracker-2017/Tests/wrong_aggregation_count.Bug-6257.sql
        
sql/test/BugTracker-2017/Tests/wrong_aggregation_count.Bug-6257.stable.err
        
sql/test/BugTracker-2017/Tests/wrong_aggregation_count.Bug-6257.stable.out
        sql/test/orderidx/Tests/oidx_all_types.sql
        sql/test/orderidx/Tests/oidx_all_types.stable.err
        sql/test/orderidx/Tests/oidx_all_types.stable.out
        sql/test/orderidx/Tests/oidx_hge_type.sql
        sql/test/orderidx/Tests/oidx_hge_type.stable.err
        sql/test/orderidx/Tests/oidx_hge_type.stable.out.int128
Removed Files:
        monetdb5/optimizer/opt_statistics.c
        monetdb5/optimizer/opt_statistics.h
Modified Files:
        .hgtags
        MonetDB.spec
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/eventparser.c
        clients/mapiclient/eventparser.h
        configure.ag
        debian/changelog
        gdk/gdk.h
        gdk/gdk_align.c
        gdk/gdk_atoms.c
        gdk/gdk_bat.c
        gdk/gdk_bbp.c
        gdk/gdk_calc.c
        gdk/gdk_hash.c
        gdk/gdk_heap.c
        gdk/gdk_logger.c
        gdk/gdk_logger.h
        gdk/gdk_private.h
        gdk/gdk_storage.c
        gdk/gdk_tm.c
        gdk/gdk_utils.c
        gdk/gdk_utils.h
        gdk/gdk_value.c
        geom/monetdb5/geom.c
        geom/monetdb5/geom.mal
        geom/monetdb5/geomBulk.c
        geom/monetdb5/geom_upgrade.c
        libversions
        monetdb5/extras/mal_optimizer_template/opt_sql_append.c
        monetdb5/extras/rapi/converters.c.h
        monetdb5/extras/rapi/rapi.c
        monetdb5/mal/mal.c
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_dataflow.c
        monetdb5/mal/mal_errors.h
        monetdb5/mal/mal_exception.c
        monetdb5/mal/mal_factory.c
        monetdb5/mal/mal_function.c
        monetdb5/mal/mal_function.h
        monetdb5/mal/mal_import.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_linker.c
        monetdb5/mal/mal_listing.c
        monetdb5/mal/mal_listing.h
        monetdb5/mal/mal_module.c
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_resolve.c
        monetdb5/mal/mal_resource.c
        monetdb5/mal/mal_session.c
        monetdb5/mal/mal_stack.c
        monetdb5/modules/atoms/blob.c
        monetdb5/modules/atoms/blob.mal
        monetdb5/modules/atoms/color.c
        monetdb5/modules/atoms/inet.c
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/str.c
        monetdb5/modules/atoms/url.c
        monetdb5/modules/atoms/uuid.c
        monetdb5/modules/atoms/xml.c
        monetdb5/modules/kernel/aggr.c
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/kernel/batstr.c
        monetdb5/modules/kernel/status.c
        monetdb5/modules/mal/batExtensions.c
        monetdb5/modules/mal/batcalc.c
        monetdb5/modules/mal/bbp.c
        monetdb5/modules/mal/calc.c
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/groupby.c
        monetdb5/modules/mal/groupby.h
        monetdb5/modules/mal/inspect.c
        monetdb5/modules/mal/json_util.h
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/manifold.c
        monetdb5/modules/mal/manual.c
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/mdb.c
        monetdb5/modules/mal/oltp.c
        monetdb5/modules/mal/orderidx.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/querylog.c
        monetdb5/modules/mal/remote.c
        monetdb5/modules/mal/sysmon.c
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/modules/mal/txtsim.c
        monetdb5/optimizer/Makefile.ag
        monetdb5/optimizer/opt_aliases.c
        monetdb5/optimizer/opt_aliases.h
        monetdb5/optimizer/opt_candidates.c
        monetdb5/optimizer/opt_candidates.h
        monetdb5/optimizer/opt_coercion.c
        monetdb5/optimizer/opt_coercion.h
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_commonTerms.h
        monetdb5/optimizer/opt_constants.c
        monetdb5/optimizer/opt_constants.h
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_costModel.h
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_dataflow.h
        monetdb5/optimizer/opt_deadcode.c
        monetdb5/optimizer/opt_deadcode.h
        monetdb5/optimizer/opt_emptybind.c
        monetdb5/optimizer/opt_emptybind.h
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_evaluate.h
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_garbageCollector.h
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_generator.h
        monetdb5/optimizer/opt_inline.c
        monetdb5/optimizer/opt_inline.h
        monetdb5/optimizer/opt_jit.c
        monetdb5/optimizer/opt_jit.h
        monetdb5/optimizer/opt_json.c
        monetdb5/optimizer/opt_json.h
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_macro.h
        monetdb5/optimizer/opt_matpack.c
        monetdb5/optimizer/opt_matpack.h
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mergetable.h
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_mitosis.h
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_multiplex.h
        monetdb5/optimizer/opt_oltp.c
        monetdb5/optimizer/opt_oltp.h
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_profiler.c
        monetdb5/optimizer/opt_profiler.h
        monetdb5/optimizer/opt_projectionpath.c
        monetdb5/optimizer/opt_projectionpath.h
        monetdb5/optimizer/opt_pushselect.c
        monetdb5/optimizer/opt_pushselect.h
        monetdb5/optimizer/opt_querylog.c
        monetdb5/optimizer/opt_querylog.h
        monetdb5/optimizer/opt_reduce.c
        monetdb5/optimizer/opt_reduce.h
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remap.h
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_remoteQueries.h
        monetdb5/optimizer/opt_reorder.c
        monetdb5/optimizer/opt_reorder.h
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_support.h
        monetdb5/optimizer/opt_volcano.c
        monetdb5/optimizer/opt_volcano.h
        monetdb5/optimizer/opt_wlc.c
        monetdb5/optimizer/opt_wlc.h
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.mal
        monetdb5/scheduler/run_memo.c
        monetdb5/scheduler/run_pipeline.c
        monetdb5/scheduler/srvpool.c
        sql/backends/monet5/LSST/lsst.c
        sql/backends/monet5/Tests/pyloader04.stable.err
        sql/backends/monet5/UDF/Makefile.ag
        sql/backends/monet5/UDF/cudf/udf.c
        sql/backends/monet5/UDF/pyapi/connection.c
        sql/backends/monet5/UDF/pyapi/connection.h
        sql/backends/monet5/UDF/pyapi/conversion.c
        sql/backends/monet5/UDF/pyapi/conversion.h
        sql/backends/monet5/UDF/pyapi/convert_loops.h
        sql/backends/monet5/UDF/pyapi/emit.c
        sql/backends/monet5/UDF/pyapi/emit.h
        sql/backends/monet5/UDF/pyapi/formatinput.c
        sql/backends/monet5/UDF/pyapi/formatinput.h
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/backends/monet5/UDF/pyapi/pyapi.h
        sql/backends/monet5/UDF/pyapi/pyapi.mal
        sql/backends/monet5/UDF/pyapi/pyheader.h
        sql/backends/monet5/UDF/pyapi/pyloader.c
        sql/backends/monet5/UDF/pyapi/pytypes.c
        sql/backends/monet5/UDF/pyapi/pytypes.h
        sql/backends/monet5/UDF/pyapi/type_conversion.c
        sql/backends/monet5/UDF/pyapi/type_conversion.h
        sql/backends/monet5/UDF/pyapi/undef.h
        sql/backends/monet5/UDF/pyapi/unicode.c
        sql/backends/monet5/UDF/pyapi/unicode.h
        sql/backends/monet5/mal_backend.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_cast.c
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_optimizer.c
        sql/backends/monet5/sql_orderidx.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_scenario.h
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statistics.c
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/sql_user.c
        sql/backends/monet5/vaults/bam/bam_globals.h
        sql/backends/monet5/vaults/bam/bam_loader.c
        sql/backends/monet5/vaults/fits/fits.c
        sql/backends/monet5/vaults/lidar/lidar.c
        sql/backends/monet5/vaults/netcdf/netcdf.c
        sql/backends/monet5/vaults/shp/shp.c
        sql/benchmarks/tpch/01.sql
        sql/benchmarks/tpch/02.sql
        sql/benchmarks/tpch/03.sql
        sql/benchmarks/tpch/04.sql
        sql/benchmarks/tpch/05.sql
        sql/benchmarks/tpch/06.sql
        sql/benchmarks/tpch/07.sql
        sql/benchmarks/tpch/08.sql
        sql/benchmarks/tpch/09.sql
        sql/benchmarks/tpch/10.sql
        sql/benchmarks/tpch/11.sql
        sql/benchmarks/tpch/12.sql
        sql/benchmarks/tpch/13.sql
        sql/benchmarks/tpch/14.sql
        sql/benchmarks/tpch/15.sql
        sql/benchmarks/tpch/16.sql
        sql/benchmarks/tpch/17.sql
        sql/benchmarks/tpch/18.sql
        sql/benchmarks/tpch/19.sql
        sql/benchmarks/tpch/20.sql
        sql/benchmarks/tpch/21.sql
        sql/benchmarks/tpch/22.sql
        sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/01.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/01.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/02.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/03.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/03.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/04.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/05.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/05.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/06.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/06.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/07.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/07.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/08.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/08.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/09.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/09.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/10.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/10.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/11.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/11.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/12.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/12.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/13.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/14.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/14.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/15.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/15.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/16.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/17.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/17.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/18.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/18.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/19.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/19.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/20.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/21.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/21.stable.out.int128
        sql/benchmarks/tpch/LOCKED/Tests/22.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/22.stable.out.int128
        sql/benchmarks/tpch/Tests/01-22.stable.out
        sql/benchmarks/tpch/Tests/01-22.stable.out.int128
        sql/benchmarks/tpch/Tests/01.stable.out
        sql/benchmarks/tpch/Tests/01.stable.out.int128
        sql/benchmarks/tpch/Tests/02.stable.out
        sql/benchmarks/tpch/Tests/03.stable.out
        sql/benchmarks/tpch/Tests/03.stable.out.int128
        sql/benchmarks/tpch/Tests/04.stable.out
        sql/benchmarks/tpch/Tests/05.stable.out
        sql/benchmarks/tpch/Tests/05.stable.out.int128
        sql/benchmarks/tpch/Tests/06.stable.out
        sql/benchmarks/tpch/Tests/06.stable.out.int128
        sql/benchmarks/tpch/Tests/07.stable.out
        sql/benchmarks/tpch/Tests/07.stable.out.int128
        sql/benchmarks/tpch/Tests/08.stable.out
        sql/benchmarks/tpch/Tests/08.stable.out.int128
        sql/benchmarks/tpch/Tests/09.stable.out
        sql/benchmarks/tpch/Tests/09.stable.out.int128
        sql/benchmarks/tpch/Tests/10.stable.out
        sql/benchmarks/tpch/Tests/10.stable.out.int128
        sql/benchmarks/tpch/Tests/11.stable.out
        sql/benchmarks/tpch/Tests/11.stable.out.int128
        sql/benchmarks/tpch/Tests/12.stable.out
        sql/benchmarks/tpch/Tests/12.stable.out.int128
        sql/benchmarks/tpch/Tests/13.stable.out
        sql/benchmarks/tpch/Tests/14.stable.out
        sql/benchmarks/tpch/Tests/14.stable.out.int128
        sql/benchmarks/tpch/Tests/15.stable.out
        sql/benchmarks/tpch/Tests/15.stable.out.int128
        sql/benchmarks/tpch/Tests/16.stable.out
        sql/benchmarks/tpch/Tests/17.stable.out
        sql/benchmarks/tpch/Tests/17.stable.out.int128
        sql/benchmarks/tpch/Tests/18.stable.out
        sql/benchmarks/tpch/Tests/18.stable.out.int128
        sql/benchmarks/tpch/Tests/19.stable.out
        sql/benchmarks/tpch/Tests/19.stable.out.int128
        sql/benchmarks/tpch/Tests/20.stable.out
        sql/benchmarks/tpch/Tests/21.stable.out
        sql/benchmarks/tpch/Tests/22.stable.out
        sql/benchmarks/tpch/Tests/22.stable.out.int128
        sql/benchmarks/tpch/load.sh
        sql/common/sql_keyword.c
        sql/common/sql_mem.c
        sql/common/sql_string.c
        sql/include/sql_catalog.h
        sql/scripts/25_debug.sql
        sql/server/rel_dump.c
        sql/server/rel_optimizer.c
        sql/server/rel_rel.c
        sql/server/rel_rel.h
        sql/server/rel_select.c
        sql/server/rel_select.h
        sql/server/rel_updates.c
        sql/server/sql_atom.c
        sql/server/sql_atom.h
        sql/server/sql_mvc.c
        sql/server/sql_parser.y
        sql/server/sql_qc.c
        sql/server/sql_scan.c
        sql/storage/bat/bat_logger.c
        sql/storage/bat/bat_logger.h
        sql/storage/bat/bat_storage.c
        sql/storage/bat/bat_storage.h
        sql/storage/bat/bat_table.c
        sql/storage/bat/bat_table.h
        sql/storage/bat/res_table.c
        sql/storage/sql_storage.h
        sql/storage/store.c
        sql/storage/store_dependency.c
        sql/storage/store_sequence.c
        sql/test/BugTracker-2009/Tests/bool-str-bug.stable.out
        
sql/test/BugTracker-2010/Tests/ORDER_BY_over_UNION_EXCEPT_INTERSECT.Bug-2606.stable.out
        sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.stable.err
        sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.stable.out
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        sql/test/BugTracker-2012/Tests/with_in_derived_table.Bug-3043.stable.out
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
        sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
        
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
        
sql/test/BugTracker-2016/Tests/groupby_on_column_expression.Bug-3832.stable.err
        
sql/test/BugTracker-2016/Tests/groupby_on_column_expression.Bug-3832.stable.out
        sql/test/BugTracker-2017/Tests/All
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/Dump/Tests/dump.stable.out
        sql/test/Dump/Tests/load.sql
        sql/test/Dump/Tests/load.stable.out
        sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out
        
sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out.int128
        sql/test/Tests/subqueries.stable.out
        sql/test/Tests/systemfunctions.stable.out
        sql/test/Tests/systemfunctions.stable.out.int128
        sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out.32bit
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/check.stable.out
        sql/test/emptydb-upgrade/Tests/check.stable.out.32bit
        sql/test/emptydb-upgrade/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/emptydb/Tests/check.SQL.py
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
        sql/test/leaks/Tests/check0.stable.out.int128
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/select1.stable.out.int128
        sql/test/leaks/Tests/select2.stable.out.int128
        sql/test/leaks/Tests/temp1.stable.out
        sql/test/leaks/Tests/temp1.stable.out.int128
        sql/test/leaks/Tests/temp2.stable.out
        sql/test/leaks/Tests/temp2.stable.out.int128
        sql/test/leaks/Tests/temp3.stable.out
        sql/test/leaks/Tests/temp3.stable.out.int128
        sql/test/orderidx/Tests/All
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
        testing/Mtest.py.in
        tools/merovingian/daemon/controlrunner.c
        tools/merovingian/daemon/forkmserver.c
        tools/merovingian/utils/properties.c
        tools/merovingian/utils/utils.c
        tools/mserver/mserver5.c
        tools/mserver/shutdowntest.c
Branch: wlcr
Log Message:

Merge with default

Also change the optimizer to the new interface and approve some conflicting
tests.


diffs (truncated from 94182 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -656,3 +656,9 @@ 3968ed7fb6dab04a2530c6c3e1a5ffd6d649298b
 615229dc6f3c7dc89bbd9cc5923ad307b4c93cb1 Dec2016_SP2_release
 566c4291d2c2547a2360097c9a1038c2d2064ec3 Dec2016_11
 566c4291d2c2547a2360097c9a1038c2d2064ec3 Dec2016_SP3_release
+94a35822a8d9dfc6458a2353168e37a21b16ea29 Dec2016_13
+566c4291d2c2547a2360097c9a1038c2d2064ec3 Dec2016_SP3_release
+94a35822a8d9dfc6458a2353168e37a21b16ea29 Dec2016_SP3_release
+8dcbdc30cd49d1d03e3a21b37671d567d84943ae Dec2016_15
+94a35822a8d9dfc6458a2353168e37a21b16ea29 Dec2016_SP3_release
+8dcbdc30cd49d1d03e3a21b37671d567d84943ae Dec2016_SP3_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -877,6 +877,15 @@ developer, but if you do want to test, t
 
 %build
 
+# There is a bug in GCC version 4.8 on AArch64 architectures
+# that causes it to report an internal error when compiling
+# testing/difflib.c.  The work around is to not use -fstack-protector-strong.
+# The bug exhibits itself on CentOS 7 on AArch64.
+if [ `gcc -v 2>&1 | grep -c 'Target: aarch64\|gcc version 4\.'` -eq 2 ]; then
+       # set CFLAGS before configure, so that this value gets used
+       CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions 
--param=ssp-buffer-size=4 -grecord-gcc-switches  '
+       export CFLAGS
+fi
 %{configure} \
        --enable-assert=no \
        --enable-console=yes \
@@ -944,6 +953,29 @@ rm -f %{buildroot}%{_bindir}/Maddlog
 %postun -p /sbin/ldconfig
 
 %changelog
+* Thu Mar 30 2017 Sjoerd Mullender <[email protected]> - 11.25.15-20170330
+- Rebuilt.
+- BZ#6250: Assertion failure when querying a Blob column with order
+  by DESC
+- BZ#6253: FITS Data Vaults does not work when using user/pw and other
+  than sys schema name
+
+* Wed Mar 29 2017 Sjoerd Mullender <[email protected]> - 11.25.13-20170329
+- Rebuilt.
+- BZ#6216: Assertion raised (sqlsmith)
+- BZ#6227: Monetdb fails on remote tables
+- BZ#6242: Crash on rel_reduce_groupby_exps (sqlsmith)
+- BZ#6243: Static optimization gives wrong result (1 + NULL = -127)
+- BZ#6245: Nested query crashes all versions of MonetDB or gives wrong
+  result starting from Dec2016-SP2
+- BZ#6246: update statements: references to a table do not bind to
+  its alias
+- BZ#6247: Type analysis issue (sqlsmith)
+- BZ#6248: update statements: the semantic stage does not resolve the
+  relation in the from clause
+- BZ#6251: Crash after adding an ordered index on sys.statistics column
+  and querying sys.statistics
+
 * Mon Mar 13 2017 Sjoerd Mullender <[email protected]> - 11.25.11-20170313
 - Rebuilt.
 - BZ#6138: Weak duplicate elimination in string heaps > 64KB
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
@@ -6074,14 +6074,14 @@ Ready.
 [ "batmtime",  "seconds",      "command 
batmtime.seconds(d:bat[:daytime]):bat[:int] ", 
"MTIMEdaytime_extract_seconds_bulk;",   ""      ]
 [ "batmtime",  "sql_seconds",  "command 
batmtime.sql_seconds(d:bat[:daytime]):bat[:int] ",     
"MTIMEdaytime_extract_sql_seconds_bulk;",       ""      ]
 [ "batmtime",  "year", "command batmtime.year(d:bat[:date]):bat[:int] ",       
"MTIMEdate_extract_year_bulk;", ""      ]
-[ "batpyapi",  "eval", "pattern batpyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PyAPIevalStd;",        "Execute a simple Python 
script value"  ]
-[ "batpyapi",  "eval_aggr",    "pattern batpyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PyAPIevalAggr;",       "grouped aggregates through 
Python"     ]
-[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str):any... ",     "PyAPIevalLoader;",     "loader functions through 
Python"       ]
-[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str, arg:any...):any... ", "PyAPIevalLoader;",     "loader functions 
through Python"       ]
-[ "batpyapi",  "subeval_aggr", "pattern batpyapi.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",        "PyAPIevalAggr;",       "grouped 
aggregates through Python"     ]
-[ "batpyapimap",       "eval", "pattern batpyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",     "PyAPIevalStdMap;",     "Execute a simple Python 
script value"  ]
-[ "batpyapimap",       "eval_aggr",    "pattern 
batpyapimap.eval_aggr(fptr:ptr, expr:str, arg:any...):any... ",        
"PyAPIevalAggrMap;",    "grouped aggregates through Python"     ]
-[ "batpyapimap",       "subeval_aggr", "pattern 
batpyapimap.subeval_aggr(fptr:ptr, expr:str, arg:any...):any... ",     
"PyAPIevalAggrMap;",    "grouped aggregates through Python"     ]
+[ "batpyapi",  "eval", "pattern batpyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PYAPI2PyAPIevalStd;",  "Execute a simple Python 
script value"  ]
+[ "batpyapi",  "eval_aggr",    "pattern batpyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalAggr;", "grouped aggregates through 
Python"     ]
+[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str):any... ",     "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
+[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str, arg:any...):any... ", "PYAPI2PyAPIevalLoader;",       "loader 
functions through Python"       ]
+[ "batpyapi",  "subeval_aggr", "pattern batpyapi.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",        "PYAPI2PyAPIevalAggr;", "grouped 
aggregates through Python"     ]
+[ "batpyapimap",       "eval", "pattern batpyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",     "PYAPI2PyAPIevalStdMap;",       "Execute a simple 
Python script value"  ]
+[ "batpyapimap",       "eval_aggr",    "pattern 
batpyapimap.eval_aggr(fptr:ptr, expr:str, arg:any...):any... ",        
"PYAPI2PyAPIevalAggrMap;",      "grouped aggregates through Python"     ]
+[ "batpyapimap",       "subeval_aggr", "pattern 
batpyapimap.subeval_aggr(fptr:ptr, expr:str, arg:any...):any... ",     
"PYAPI2PyAPIevalAggrMap;",      "grouped aggregates through Python"     ]
 [ "batrapi",   "eval", "pattern batrapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ", "RAPIevalStd;", "Execute a simple R script value"       ]
 [ "batrapi",   "eval_aggr",    "pattern batrapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",    "RAPIevalAggr;",        "grouped aggregates through R" 
 ]
 [ "batrapi",   "subeval_aggr", "pattern batrapi.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ", "RAPIevalAggr;",        "grouped aggregates 
through R"  ]
@@ -6184,12 +6184,12 @@ Ready.
 [ "bbp",       "getRefCount",  "command bbp.getRefCount(b:bat[:any_1]):int ",  
"CMDgetBATrefcnt;",     "Utility for debugging MAL interpreter" ]
 [ "bbp",       "getStatus",    "command bbp.getStatus():bat[:str] ",   
"CMDbbpStatus;",        "Create a BAT with the disk/load status"        ]
 [ "bbp",       "setName",      "command bbp.setName(b:bat[:any_1], n:str):str 
",       "CMDsetName;",  "Rename a BAT"  ]
+[ "blob",      "#cmp", "command blob.#cmp():void ",    "BLOBcmp;",     ""      
]
 [ "blob",      "#del", "command blob.#del():void ",    "BLOBdel;",     ""      
]
 [ "blob",      "#fromstr",     "command blob.#fromstr():void ",        
"BLOBfromstr;", ""      ]
 [ "blob",      "#hash",        "command blob.#hash():void ",   "BLOBhash;",    
""      ]
 [ "blob",      "#heap",        "command blob.#heap():void ",   "BLOBheap;",    
""      ]
 [ "blob",      "#length",      "command blob.#length():void ", "BLOBlength;",  
""      ]
-[ "blob",      "#nequal",      "command blob.#nequal():void ", "BLOBnequal;",  
""      ]
 [ "blob",      "#null",        "command blob.#null():void ",   "BLOBnull;",    
""      ]
 [ "blob",      "#put", "command blob.#put():void ",    "BLOBput;",     ""      
]
 [ "blob",      "#read",        "command blob.#read():void ",   "BLOBread;",    
""      ]
@@ -7745,8 +7745,8 @@ Ready.
 [ "inspect",   "getSize",      "pattern inspect.getSize(mod:str, fcn:str):lng 
",       "INSPECTgetFunctionSize;",      "Return the storage size for a 
function (in bytes)."    ]
 [ "inspect",   "getSize",      "pattern inspect.getSize():lng ",       
"INSPECTgetSize;",      "Return the storage size for the current function (in 
bytes)."  ]
 [ "inspect",   "getSource",    "pattern inspect.getSource(mod:str, 
fcn:str):str ",     "INSPECTgetSource;",    "Return the original input for a 
function."     ]
-[ "inspect",   "getStatistics",        "command 
inspect.getStatistics(nme:str):bat[:any_2] ",  "QOTgetStatistics;",    "Get 
optimizer property statistics \nsuch as #calls, #total actions, #total time"    
   ]
 [ "inspect",   "getType",      "pattern inspect.getType(v:any_1):str ",        
"INSPECTtypeName;",     "Return the concrete type of a variable (expression)."  
]
+[ "inspect",   "optimizer_stats",      "pattern inspect.optimizer_stats() 
(X_0:bat[:str], X_1:bat[:int], X_2:bat[:lng]) ",     "OPTstatistics;",       
"Get optimizer use statistics, i.e. calls and total time"       ]
 [ "io",        "export",       "command io.export(b:bat[:any_2], 
filepath:str):void ", "IOexport;",    "Export a BAT as ASCII to a file. If the 
'filepath' is not absolute, it\n is put into the $DBPATH directory. Success of 
failure is indicated."  ]
 [ "io",        "import",       "command io.import(b:bat[:any_2], 
filepath:str):void ", "IOimport;",    "Import a BAT from an ASCII dump. The 
tuples are appended to the\n first argument. Its signature must match the 
dump,\n else parsing errors will occur as an exception."        ]
 [ "io",        "print",        "pattern io.print(val:any_1):void ",    
"IOprint_val;", "Print a MAL value."    ]
@@ -8218,17 +8218,17 @@ Ready.
 [ "profiler",  "stop", "pattern profiler.stop():void ",        
"CMDstopProfiler;",     "Stop offline performance profiling"    ]
 [ "profiler",  "stoptrace",    "command profiler.stoptrace():void ",   
"CMDstopTrace;",        "Stop collecting trace information"     ]
 [ "profiler",  "stoptrace",    "command profiler.stoptrace(path:str):void ",   
"CMDstopTracePath;",    "Stop collecting trace information"     ]
-[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str):any ",  
"PyAPIevalStd;",        "Execute a simple Python script returning a single 
value"       ]
-[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",   "PyAPIevalStd;",        "Execute a simple Python script 
value"  ]
-[ "pyapi",     "eval_aggr",    "pattern pyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",      "PyAPIevalAggr;",       "grouped aggregates through 
Python"     ]
-[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, 
expr:str):any... ",        "PyAPIevalLoader;",     "loader functions through 
Python"       ]
-[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, expr:str, 
arg:any...):any... ",    "PyAPIevalLoader;",     "loader functions through 
Python"       ]
-[ "pyapi",     "prelude",      "command pyapi.prelude():void ",        
"PyAPIprelude;",        ""      ]
-[ "pyapi",     "subeval_aggr", "pattern pyapi.subeval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PyAPIevalAggr;",       "grouped aggregates through 
Python"     ]
-[ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str):any ",       
"PyAPIevalStdMap;",     "Execute a simple Python script returning a single 
value"       ]
-[ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PyAPIevalStdMap;",     "Execute a simple Python 
script value"  ]
-[ "pyapimap",  "eval_aggr",    "pattern pyapimap.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PyAPIevalAggrMap;",    "grouped aggregates through 
Python"     ]
-[ "pyapimap",  "subeval_aggr", "pattern pyapimap.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",        "PyAPIevalAggrMap;",    "grouped 
aggregates through Python"     ]
+[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str):any ",  
"PYAPI2PyAPIevalStd;",  "Execute a simple Python script returning a single 
value"       ]
+[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalStd;",  "Execute a simple Python script 
value"  ]
+[ "pyapi",     "eval_aggr",    "pattern pyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",      "PYAPI2PyAPIevalAggr;", "grouped aggregates through 
Python"     ]
+[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, 
expr:str):any... ",        "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
+[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, expr:str, 
arg:any...):any... ",    "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
+[ "pyapi",     "prelude",      "command pyapi.prelude():void ",        
"PYAPI2PyAPIprelude;",  ""      ]
+[ "pyapi",     "subeval_aggr", "pattern pyapi.subeval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalAggr;", "grouped aggregates through 
Python"     ]
+[ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str):any ",       
"PYAPI2PyAPIevalStdMap;",       "Execute a simple Python script returning a 
single value"       ]
+[ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PYAPI2PyAPIevalStdMap;",       "Execute a simple 
Python script value"  ]
+[ "pyapimap",  "eval_aggr",    "pattern pyapimap.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalAggrMap;",      "grouped aggregates 
through Python"     ]
+[ "pyapimap",  "subeval_aggr", "pattern pyapimap.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",        "PYAPI2PyAPIevalAggrMap;",      "grouped 
aggregates through Python"     ]
 [ "querylog",  "append",       "pattern querylog.append(q:str, pipe:str, 
usr:str, tick:timestamp):void ",      "QLOGappend;",  "Add a new query call to 
the query log" ]
 [ "querylog",  "call", "pattern querylog.call(tick1:timestamp, 
tick2:timestamp, arg:str, tuples:lng, xtime:lng, rtime:lng, cpu:int, 
iowait:int):void ",        "QLOGcall;",    "Add a new query call to the query 
log" ]
 [ "querylog",  "define",       "command querylog.define(q:str, pipe:str, 
size:int):void ",     "QLOGdefineNaive;",     "Noop operation, just marking the 
query"        ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -8040,14 +8040,14 @@ Ready.
 [ "batmtime",  "seconds",      "command 
batmtime.seconds(d:bat[:daytime]):bat[:int] ", 
"MTIMEdaytime_extract_seconds_bulk;",   ""      ]
 [ "batmtime",  "sql_seconds",  "command 
batmtime.sql_seconds(d:bat[:daytime]):bat[:int] ",     
"MTIMEdaytime_extract_sql_seconds_bulk;",       ""      ]
 [ "batmtime",  "year", "command batmtime.year(d:bat[:date]):bat[:int] ",       
"MTIMEdate_extract_year_bulk;", ""      ]
-[ "batpyapi",  "eval", "pattern batpyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PyAPIevalStd;",        "Execute a simple Python 
script value"  ]
-[ "batpyapi",  "eval_aggr",    "pattern batpyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PyAPIevalAggr;",       "grouped aggregates through 
Python"     ]
-[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str):any... ",     "PyAPIevalLoader;",     "loader functions through 
Python"       ]
-[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str, arg:any...):any... ", "PyAPIevalLoader;",     "loader functions 
through Python"       ]
-[ "batpyapi",  "subeval_aggr", "pattern batpyapi.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",        "PyAPIevalAggr;",       "grouped 
aggregates through Python"     ]
-[ "batpyapimap",       "eval", "pattern batpyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",     "PyAPIevalStdMap;",     "Execute a simple Python 
script value"  ]
-[ "batpyapimap",       "eval_aggr",    "pattern 
batpyapimap.eval_aggr(fptr:ptr, expr:str, arg:any...):any... ",        
"PyAPIevalAggrMap;",    "grouped aggregates through Python"     ]
-[ "batpyapimap",       "subeval_aggr", "pattern 
batpyapimap.subeval_aggr(fptr:ptr, expr:str, arg:any...):any... ",     
"PyAPIevalAggrMap;",    "grouped aggregates through Python"     ]
+[ "batpyapi",  "eval", "pattern batpyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PYAPI2PyAPIevalStd;",  "Execute a simple Python 
script value"  ]
+[ "batpyapi",  "eval_aggr",    "pattern batpyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalAggr;", "grouped aggregates through 
Python"     ]
+[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str):any... ",     "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
+[ "batpyapi",  "eval_loader",  "pattern batpyapi.eval_loader(fptr:ptr, 
expr:str, arg:any...):any... ", "PYAPI2PyAPIevalLoader;",       "loader 
functions through Python"       ]
+[ "batpyapi",  "subeval_aggr", "pattern batpyapi.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",        "PYAPI2PyAPIevalAggr;", "grouped 
aggregates through Python"     ]
+[ "batpyapimap",       "eval", "pattern batpyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",     "PYAPI2PyAPIevalStdMap;",       "Execute a simple 
Python script value"  ]
+[ "batpyapimap",       "eval_aggr",    "pattern 
batpyapimap.eval_aggr(fptr:ptr, expr:str, arg:any...):any... ",        
"PYAPI2PyAPIevalAggrMap;",      "grouped aggregates through Python"     ]
+[ "batpyapimap",       "subeval_aggr", "pattern 
batpyapimap.subeval_aggr(fptr:ptr, expr:str, arg:any...):any... ",     
"PYAPI2PyAPIevalAggrMap;",      "grouped aggregates through Python"     ]
 [ "batrapi",   "eval", "pattern batrapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ", "RAPIevalStd;", "Execute a simple R script value"       ]
 [ "batrapi",   "eval_aggr",    "pattern batrapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",    "RAPIevalAggr;",        "grouped aggregates through R" 
 ]
 [ "batrapi",   "subeval_aggr", "pattern batrapi.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ", "RAPIevalAggr;",        "grouped aggregates 
through R"  ]
@@ -8153,12 +8153,12 @@ Ready.
 [ "bbp",       "getRefCount",  "command bbp.getRefCount(b:bat[:any_1]):int ",  
"CMDgetBATrefcnt;",     "Utility for debugging MAL interpreter" ]
 [ "bbp",       "getStatus",    "command bbp.getStatus():bat[:str] ",   
"CMDbbpStatus;",        "Create a BAT with the disk/load status"        ]
 [ "bbp",       "setName",      "command bbp.setName(b:bat[:any_1], n:str):str 
",       "CMDsetName;",  "Rename a BAT"  ]
+[ "blob",      "#cmp", "command blob.#cmp():void ",    "BLOBcmp;",     ""      
]
 [ "blob",      "#del", "command blob.#del():void ",    "BLOBdel;",     ""      
]
 [ "blob",      "#fromstr",     "command blob.#fromstr():void ",        
"BLOBfromstr;", ""      ]
 [ "blob",      "#hash",        "command blob.#hash():void ",   "BLOBhash;",    
""      ]
 [ "blob",      "#heap",        "command blob.#heap():void ",   "BLOBheap;",    
""      ]
 [ "blob",      "#length",      "command blob.#length():void ", "BLOBlength;",  
""      ]
-[ "blob",      "#nequal",      "command blob.#nequal():void ", "BLOBnequal;",  
""      ]
 [ "blob",      "#null",        "command blob.#null():void ",   "BLOBnull;",    
""      ]
 [ "blob",      "#put", "command blob.#put():void ",    "BLOBput;",     ""      
]
 [ "blob",      "#read",        "command blob.#read():void ",   "BLOBread;",    
""      ]
@@ -10101,8 +10101,8 @@ Ready.
 [ "inspect",   "getSize",      "pattern inspect.getSize(mod:str, fcn:str):lng 
",       "INSPECTgetFunctionSize;",      "Return the storage size for a 
function (in bytes)."    ]
 [ "inspect",   "getSize",      "pattern inspect.getSize():lng ",       
"INSPECTgetSize;",      "Return the storage size for the current function (in 
bytes)."  ]
 [ "inspect",   "getSource",    "pattern inspect.getSource(mod:str, 
fcn:str):str ",     "INSPECTgetSource;",    "Return the original input for a 
function."     ]
-[ "inspect",   "getStatistics",        "command 
inspect.getStatistics(nme:str):bat[:any_2] ",  "QOTgetStatistics;",    "Get 
optimizer property statistics \nsuch as #calls, #total actions, #total time"    
   ]
 [ "inspect",   "getType",      "pattern inspect.getType(v:any_1):str ",        
"INSPECTtypeName;",     "Return the concrete type of a variable (expression)."  
]
+[ "inspect",   "optimizer_stats",      "pattern inspect.optimizer_stats() 
(X_0:bat[:str], X_1:bat[:int], X_2:bat[:lng]) ",     "OPTstatistics;",       
"Get optimizer use statistics, i.e. calls and total time"       ]
 [ "io",        "export",       "command io.export(b:bat[:any_2], 
filepath:str):void ", "IOexport;",    "Export a BAT as ASCII to a file. If the 
'filepath' is not absolute, it\n is put into the $DBPATH directory. Success of 
failure is indicated."  ]
 [ "io",        "import",       "command io.import(b:bat[:any_2], 
filepath:str):void ", "IOimport;",    "Import a BAT from an ASCII dump. The 
tuples are appended to the\n first argument. Its signature must match the 
dump,\n else parsing errors will occur as an exception."        ]
 [ "io",        "print",        "pattern io.print(val:any_1):void ",    
"IOprint_val;", "Print a MAL value."    ]
@@ -10580,17 +10580,17 @@ Ready.
 [ "profiler",  "stop", "pattern profiler.stop():void ",        
"CMDstopProfiler;",     "Stop offline performance profiling"    ]
 [ "profiler",  "stoptrace",    "command profiler.stoptrace():void ",   
"CMDstopTrace;",        "Stop collecting trace information"     ]
 [ "profiler",  "stoptrace",    "command profiler.stoptrace(path:str):void ",   
"CMDstopTracePath;",    "Stop collecting trace information"     ]
-[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str):any ",  
"PyAPIevalStd;",        "Execute a simple Python script returning a single 
value"       ]
-[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",   "PyAPIevalStd;",        "Execute a simple Python script 
value"  ]
-[ "pyapi",     "eval_aggr",    "pattern pyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",      "PyAPIevalAggr;",       "grouped aggregates through 
Python"     ]
-[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, 
expr:str):any... ",        "PyAPIevalLoader;",     "loader functions through 
Python"       ]
-[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, expr:str, 
arg:any...):any... ",    "PyAPIevalLoader;",     "loader functions through 
Python"       ]
-[ "pyapi",     "prelude",      "command pyapi.prelude():void ",        
"PyAPIprelude;",        ""      ]
-[ "pyapi",     "subeval_aggr", "pattern pyapi.subeval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PyAPIevalAggr;",       "grouped aggregates through 
Python"     ]
-[ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str):any ",       
"PyAPIevalStdMap;",     "Execute a simple Python script returning a single 
value"       ]
-[ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PyAPIevalStdMap;",     "Execute a simple Python 
script value"  ]
-[ "pyapimap",  "eval_aggr",    "pattern pyapimap.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PyAPIevalAggrMap;",    "grouped aggregates through 
Python"     ]
-[ "pyapimap",  "subeval_aggr", "pattern pyapimap.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",        "PyAPIevalAggrMap;",    "grouped 
aggregates through Python"     ]
+[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str):any ",  
"PYAPI2PyAPIevalStd;",  "Execute a simple Python script returning a single 
value"       ]
+[ "pyapi",     "eval", "pattern pyapi.eval(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalStd;",  "Execute a simple Python script 
value"  ]
+[ "pyapi",     "eval_aggr",    "pattern pyapi.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",      "PYAPI2PyAPIevalAggr;", "grouped aggregates through 
Python"     ]
+[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, 
expr:str):any... ",        "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
+[ "pyapi",     "eval_loader",  "pattern pyapi.eval_loader(fptr:ptr, expr:str, 
arg:any...):any... ",    "PYAPI2PyAPIevalLoader;",       "loader functions 
through Python"       ]
+[ "pyapi",     "prelude",      "command pyapi.prelude():void ",        
"PYAPI2PyAPIprelude;",  ""      ]
+[ "pyapi",     "subeval_aggr", "pattern pyapi.subeval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalAggr;", "grouped aggregates through 
Python"     ]
+[ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str):any ",       
"PYAPI2PyAPIevalStdMap;",       "Execute a simple Python script returning a 
single value"       ]
+[ "pyapimap",  "eval", "pattern pyapimap.eval(fptr:ptr, expr:str, 
arg:any...):any... ",        "PYAPI2PyAPIevalStdMap;",       "Execute a simple 
Python script value"  ]
+[ "pyapimap",  "eval_aggr",    "pattern pyapimap.eval_aggr(fptr:ptr, expr:str, 
arg:any...):any... ",   "PYAPI2PyAPIevalAggrMap;",      "grouped aggregates 
through Python"     ]
+[ "pyapimap",  "subeval_aggr", "pattern pyapimap.subeval_aggr(fptr:ptr, 
expr:str, arg:any...):any... ",        "PYAPI2PyAPIevalAggrMap;",      "grouped 
aggregates through Python"     ]
 [ "querylog",  "append",       "pattern querylog.append(q:str, pipe:str, 
usr:str, tick:timestamp):void ",      "QLOGappend;",  "Add a new query call to 
the query log" ]
 [ "querylog",  "call", "pattern querylog.call(tick1:timestamp, 
tick2:timestamp, arg:str, tuples:lng, xtime:lng, rtime:lng, cpu:int, 
iowait:int):void ",        "QLOGcall;",    "Add a new query call to the query 
log" ]
 [ "querylog",  "define",       "command querylog.define(q:str, pipe:str, 
size:int):void ",     "QLOGdefineNaive;",     "Noop operation, just marking the 
query"        ]
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
@@ -152,7 +152,6 @@ BAT *BATmergecand(BAT *a, BAT *b);
 void *BATmin(BAT *b, void *aggr);
 gdk_return BATmode(BAT *b, int onoff);
 void BATmsync(BAT *b);
-int BATname(BAT *b, const char *nme);
 int BATordered(BAT *b);
 int BATordered_rev(BAT *b);
 gdk_return BATorderidx(BAT *b, int stable);
@@ -220,6 +219,7 @@ size_t GDKbatcopysize(BAT *bat, str coln
 size_t GDKbatread(char *src, BAT **bat, str *colname);
 gdk_return GDKchangesemval(int sem_id, int number, int change, str *msg);
 gdk_return GDKchangesemval_timeout(int sem_id, int number, int change, int 
timeout_mseconds, bool *succeed, str *msg);
+void GDKclrerr(void);
 gdk_return GDKcreatedir(const char *nme);
 gdk_return GDKcreatesem(int id, int count, int *semid, str *msg);
 int GDKdebug;
@@ -265,7 +265,7 @@ void GDKregister(MT_Id pid);
 gdk_return GDKreleasemmap(void *ptr, size_t size, size_t id, str *msg);
 gdk_return GDKreleasesem(int sem_id, str *msg);
 void GDKreset(int status, int exit);
-void GDKsetenv(str name, str value);
+gdk_return GDKsetenv(const char *name, const char *value);
 void GDKsetmallocsuccesscount(lng count);
 ssize_t GDKstrFromStr(unsigned char *dst, const unsigned char *src, ssize_t 
len);
 str GDKstrdup(const char *s) __attribute__((__warn_unused_result__));
@@ -409,27 +409,27 @@ const int int_nil;
 int lngFromStr(const char *src, int *len, lng **dst);
 int lngToStr(str *dst, int *len, const lng *src);
 const lng lng_nil;
-int log_abort(logger *lg);
-int log_bat(logger *lg, BAT *b, const char *n);
-int log_bat_clear(logger *lg, const char *n);
-int log_bat_persists(logger *lg, BAT *b, const char *n);
-int log_bat_transient(logger *lg, const char *n);
-int log_delta(logger *lg, BAT *uid, BAT *uval, const char *n);
-int log_sequence(logger *lg, int seq, lng id);
-int log_tend(logger *lg);
-int log_tstart(logger *lg);
-log_bid logger_add_bat(logger *lg, BAT *b, const char *name);
+gdk_return log_abort(logger *lg);
+gdk_return log_bat(logger *lg, BAT *b, const char *n);
+gdk_return log_bat_clear(logger *lg, const char *n);
+gdk_return log_bat_persists(logger *lg, BAT *b, const char *n);
+gdk_return log_bat_transient(logger *lg, const char *n);
+gdk_return log_delta(logger *lg, BAT *uid, BAT *uval, const char *n);
+gdk_return log_sequence(logger *lg, int seq, lng id);
+gdk_return log_tend(logger *lg);
+gdk_return log_tstart(logger *lg);
+gdk_return logger_add_bat(logger *lg, BAT *b, const char *name) 
__attribute__((__warn_unused_result__));
 lng logger_changes(logger *lg);
-int logger_cleanup(logger *lg, int keep_persisted_log_files);
+gdk_return logger_cleanup(logger *lg, int keep_persisted_log_files);
 logger *logger_create(int debug, const char *fn, const char *logdir, int 
version, preversionfix_fptr prefuncp, postversionfix_fptr postfuncp, int 
keep_persisted_log_files);
 logger *logger_create_shared(int debug, const char *fn, const char *logdir, 
const char *slave_logdir, int version, preversionfix_fptr prefuncp, 
postversionfix_fptr postfuncp);
-void logger_del_bat(logger *lg, log_bid bid);
+gdk_return logger_del_bat(logger *lg, log_bid bid) 
__attribute__((__warn_unused_result__));
 void logger_destroy(logger *lg);
-int logger_exit(logger *lg);
+gdk_return logger_exit(logger *lg);
 log_bid logger_find_bat(logger *lg, const char *name);
 lng logger_read_last_transaction_id(logger *lg, char *dir, char *logger_file, 
int role);
-int logger_reload(logger *lg);
-int logger_restart(logger *lg);
+gdk_return logger_reload(logger *lg);
+gdk_return logger_restart(logger *lg);
 int logger_sequence(logger *lg, int seq, lng *id);
 void *mdlopen(const char *library, int mode);
 int mo_add_option(opt **Set, int setlen, opt_kind kind, const char *name, 
const char *value);
@@ -819,6 +819,7 @@ str BKCsetkey(bat *res, const bat *bid, 
 str BKCshrinkBAT(bat *ret, const bat *bid, const bat *did);
 str BLOBblob_blob(blob **d, blob **s);
 str BLOBblob_fromstr(blob **b, str *d);
+int BLOBcmp(blob *l, blob *r);
 void BLOBdel(Heap *h, var_t *index);
 str BLOBfromblob(str *retval, blob **b);
 str BLOBfromidx(str *retval, blob **binp, int *index);
@@ -827,7 +828,6 @@ int BLOBget(Heap *h, int *bun, int *l, b
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to