Changeset: 4fe10a0d4436 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4fe10a0d4436 Added Files: ChangeLog.Jun2016 sql/backends/monet5/UDF/cudf/80_udf.mal sql/backends/monet5/UDF/cudf/80_udf.sql sql/backends/monet5/UDF/cudf/80_udf_hge.mal sql/backends/monet5/UDF/cudf/80_udf_hge.sql sql/backends/monet5/UDF/cudf/Makefile.ag sql/backends/monet5/UDF/cudf/README sql/backends/monet5/UDF/cudf/Tests/All sql/backends/monet5/UDF/cudf/Tests/udf-fuse.sql sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.err sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/cudf/Tests/udf-reverse.sql sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.err sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out sql/backends/monet5/UDF/cudf/udf.c sql/backends/monet5/UDF/cudf/udf.h sql/backends/monet5/UDF/cudf/udf.mal sql/backends/monet5/UDF/cudf/udf_hge.mal sql/backends/monet5/UDF/cudf/udf_impl.h sql/backends/monet5/UDF/pyapi/50_pyapi.mal sql/backends/monet5/UDF/pyapi/Makefile.ag sql/backends/monet5/UDF/pyapi/Tests/All sql/backends/monet5/UDF/pyapi/Tests/pyapi_numpy_boolean.malC sql/backends/monet5/UDF/pyapi/Tests/pyapi_numpy_boolean.stable.err sql/backends/monet5/UDF/pyapi/Tests/pyapi_numpy_boolean.stable.out sql/backends/monet5/UDF/pyapi/Tests/pyapi_numpy_numeric_nested.malC sql/backends/monet5/UDF/pyapi/Tests/pyapi_numpy_numeric_nested.stable.err sql/backends/monet5/UDF/pyapi/Tests/pyapi_numpy_numeric_nested.stable.out sql/backends/monet5/UDF/pyapi/Tests/pyapi_pandas.malC sql/backends/monet5/UDF/pyapi/Tests/pyapi_pandas.stable.err sql/backends/monet5/UDF/pyapi/Tests/pyapi_pandas.stable.out sql/backends/monet5/UDF/pyapi/Tests/pyapi_returntypes.malC sql/backends/monet5/UDF/pyapi/Tests/pyapi_returntypes.stable.err sql/backends/monet5/UDF/pyapi/Tests/pyapi_returntypes.stable.out sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_boolean.malC sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_boolean.stable.err sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_boolean.stable.out sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_huge.malC sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_huge.stable.err sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_huge.stable.out sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_numeric.malC sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_numeric.stable.err sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_numeric.stable.out sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_string.malC sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_string.stable.err sql/backends/monet5/UDF/pyapi/Tests/pyapi_types_string.stable.out sql/backends/monet5/UDF/pyapi/connection.c sql/backends/monet5/UDF/pyapi/connection.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/pyapi_locatepython.bat 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/unicode.c sql/backends/monet5/UDF/pyapi/unicode.h sql/backends/monet5/UDF/pyapi/unspecified_evil.h 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 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 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 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 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 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.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_05.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_06.sql 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 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_08.sql sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_08.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_08.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_09.sql 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 sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_10.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_10.stable.err.Windows sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_10.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_11.sql 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 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 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_14.sql sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_14.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_14.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_15.sql sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_16.sql 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 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 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 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 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 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 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 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 sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.stable.err.Windows sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_25.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_26.sql 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 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 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/pyapi_numpy_boolean.malC sql/backends/monet5/UDF/pyapi3/Tests/pyapi_numpy_boolean.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi_numpy_boolean.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi_numpy_numeric_nested.malC sql/backends/monet5/UDF/pyapi3/Tests/pyapi_numpy_numeric_nested.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi_numpy_numeric_nested.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi_pandas.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi_pandas.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi_returntypes.malC sql/backends/monet5/UDF/pyapi3/Tests/pyapi_returntypes.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi_returntypes.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_boolean.malC sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_boolean.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_boolean.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_huge.malC sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_huge.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_huge.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_numeric.malC sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_numeric.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_numeric.stable.out sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_string.malC sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_string.stable.err sql/backends/monet5/UDF/pyapi3/Tests/pyapi_types_string.stable.out sql/backends/monet5/UDF/pyapi3/connection3.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/pytypes3.c sql/backends/monet5/UDF/pyapi3/type_conversion3.c sql/backends/monet5/UDF/pyapi3/unicode3.c Removed Files: monetdb5/extras/pyapi/50_pyapi.mal monetdb5/extras/pyapi/Makefile.ag monetdb5/extras/pyapi/Tests/All monetdb5/extras/pyapi/Tests/pyapi_numpy_boolean.malC monetdb5/extras/pyapi/Tests/pyapi_numpy_boolean.stable.err monetdb5/extras/pyapi/Tests/pyapi_numpy_boolean.stable.out monetdb5/extras/pyapi/Tests/pyapi_numpy_numeric_nested.malC monetdb5/extras/pyapi/Tests/pyapi_numpy_numeric_nested.stable.err monetdb5/extras/pyapi/Tests/pyapi_numpy_numeric_nested.stable.out monetdb5/extras/pyapi/Tests/pyapi_pandas.malC monetdb5/extras/pyapi/Tests/pyapi_pandas.stable.err monetdb5/extras/pyapi/Tests/pyapi_pandas.stable.out monetdb5/extras/pyapi/Tests/pyapi_returntypes.malC monetdb5/extras/pyapi/Tests/pyapi_returntypes.stable.err monetdb5/extras/pyapi/Tests/pyapi_returntypes.stable.out monetdb5/extras/pyapi/Tests/pyapi_types_boolean.malC monetdb5/extras/pyapi/Tests/pyapi_types_boolean.stable.err monetdb5/extras/pyapi/Tests/pyapi_types_boolean.stable.out monetdb5/extras/pyapi/Tests/pyapi_types_huge.malC monetdb5/extras/pyapi/Tests/pyapi_types_huge.stable.err monetdb5/extras/pyapi/Tests/pyapi_types_huge.stable.out monetdb5/extras/pyapi/Tests/pyapi_types_numeric.malC monetdb5/extras/pyapi/Tests/pyapi_types_numeric.stable.err monetdb5/extras/pyapi/Tests/pyapi_types_numeric.stable.out monetdb5/extras/pyapi/Tests/pyapi_types_string.malC monetdb5/extras/pyapi/Tests/pyapi_types_string.stable.err monetdb5/extras/pyapi/Tests/pyapi_types_string.stable.out monetdb5/extras/pyapi/connection.c monetdb5/extras/pyapi/connection.h monetdb5/extras/pyapi/formatinput.c monetdb5/extras/pyapi/formatinput.h monetdb5/extras/pyapi/pyapi.c monetdb5/extras/pyapi/pyapi.h monetdb5/extras/pyapi/pyapi.mal monetdb5/extras/pyapi/pyapi_locatepython.bat monetdb5/extras/pyapi/pytypes.c monetdb5/extras/pyapi/pytypes.h monetdb5/extras/pyapi/type_conversion.c monetdb5/extras/pyapi/type_conversion.h monetdb5/extras/pyapi/unicode.c monetdb5/extras/pyapi/unicode.h monetdb5/extras/pyapi/unspecified_evil.h monetdb5/extras/pyapi3/50_pyapi3.mal monetdb5/extras/pyapi3/Makefile.ag monetdb5/extras/pyapi3/Tests/All monetdb5/extras/pyapi3/Tests/pyapi3_00.sql monetdb5/extras/pyapi3/Tests/pyapi3_00.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_00.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_01.sql monetdb5/extras/pyapi3/Tests/pyapi3_01.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_01.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_02.sql monetdb5/extras/pyapi3/Tests/pyapi3_02.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_02.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_03.sql monetdb5/extras/pyapi3/Tests/pyapi3_03.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_03.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_04.sql monetdb5/extras/pyapi3/Tests/pyapi3_04.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_04.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_05.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_05.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_06.sql monetdb5/extras/pyapi3/Tests/pyapi3_06.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_06.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_07.sql monetdb5/extras/pyapi3/Tests/pyapi3_07.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_07.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_08.sql monetdb5/extras/pyapi3/Tests/pyapi3_08.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_08.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_09.sql monetdb5/extras/pyapi3/Tests/pyapi3_09.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_09.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_10.sql monetdb5/extras/pyapi3/Tests/pyapi3_10.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_10.stable.err.Windows monetdb5/extras/pyapi3/Tests/pyapi3_10.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_11.sql monetdb5/extras/pyapi3/Tests/pyapi3_11.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_11.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_12.sql monetdb5/extras/pyapi3/Tests/pyapi3_12.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_12.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_13.sql monetdb5/extras/pyapi3/Tests/pyapi3_13.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_13.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_14.sql monetdb5/extras/pyapi3/Tests/pyapi3_14.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_14.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_15.sql monetdb5/extras/pyapi3/Tests/pyapi3_16.sql monetdb5/extras/pyapi3/Tests/pyapi3_16.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_16.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_17.sql monetdb5/extras/pyapi3/Tests/pyapi3_17.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_17.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_18.sql monetdb5/extras/pyapi3/Tests/pyapi3_18.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_18.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_19.sql monetdb5/extras/pyapi3/Tests/pyapi3_19.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_19.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_20.sql monetdb5/extras/pyapi3/Tests/pyapi3_20.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_20.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_21.sql monetdb5/extras/pyapi3/Tests/pyapi3_21.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_21.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_23.sql monetdb5/extras/pyapi3/Tests/pyapi3_23.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_23.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_24.sql monetdb5/extras/pyapi3/Tests/pyapi3_24.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_24.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_25.sql monetdb5/extras/pyapi3/Tests/pyapi3_25.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_25.stable.err.Windows monetdb5/extras/pyapi3/Tests/pyapi3_25.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_26.sql monetdb5/extras/pyapi3/Tests/pyapi3_26.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_26.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_27.sql monetdb5/extras/pyapi3/Tests/pyapi3_27.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_27.stable.out monetdb5/extras/pyapi3/Tests/pyapi3_28.sql monetdb5/extras/pyapi3/Tests/pyapi3_28.stable.err monetdb5/extras/pyapi3/Tests/pyapi3_28.stable.out monetdb5/extras/pyapi3/Tests/pyapi_numpy_boolean.malC monetdb5/extras/pyapi3/Tests/pyapi_numpy_boolean.stable.err monetdb5/extras/pyapi3/Tests/pyapi_numpy_boolean.stable.out monetdb5/extras/pyapi3/Tests/pyapi_numpy_numeric_nested.malC monetdb5/extras/pyapi3/Tests/pyapi_numpy_numeric_nested.stable.err monetdb5/extras/pyapi3/Tests/pyapi_numpy_numeric_nested.stable.out monetdb5/extras/pyapi3/Tests/pyapi_pandas.stable.err monetdb5/extras/pyapi3/Tests/pyapi_pandas.stable.out monetdb5/extras/pyapi3/Tests/pyapi_returntypes.malC monetdb5/extras/pyapi3/Tests/pyapi_returntypes.stable.err monetdb5/extras/pyapi3/Tests/pyapi_returntypes.stable.out monetdb5/extras/pyapi3/Tests/pyapi_types_boolean.malC monetdb5/extras/pyapi3/Tests/pyapi_types_boolean.stable.err monetdb5/extras/pyapi3/Tests/pyapi_types_boolean.stable.out monetdb5/extras/pyapi3/Tests/pyapi_types_huge.malC monetdb5/extras/pyapi3/Tests/pyapi_types_huge.stable.err monetdb5/extras/pyapi3/Tests/pyapi_types_huge.stable.out monetdb5/extras/pyapi3/Tests/pyapi_types_numeric.malC monetdb5/extras/pyapi3/Tests/pyapi_types_numeric.stable.err monetdb5/extras/pyapi3/Tests/pyapi_types_numeric.stable.out monetdb5/extras/pyapi3/Tests/pyapi_types_string.malC monetdb5/extras/pyapi3/Tests/pyapi_types_string.stable.err monetdb5/extras/pyapi3/Tests/pyapi_types_string.stable.out monetdb5/extras/pyapi3/connection3.c monetdb5/extras/pyapi3/formatinput3.c monetdb5/extras/pyapi3/pyapi3.c monetdb5/extras/pyapi3/pyapi3.mal monetdb5/extras/pyapi3/pytypes3.c monetdb5/extras/pyapi3/type_conversion3.c monetdb5/extras/pyapi3/unicode3.c sql/backends/monet5/UDF/80_udf.mal sql/backends/monet5/UDF/80_udf.sql sql/backends/monet5/UDF/80_udf_hge.mal sql/backends/monet5/UDF/80_udf_hge.sql sql/backends/monet5/UDF/README sql/backends/monet5/UDF/Tests/All sql/backends/monet5/UDF/Tests/udf-fuse.sql sql/backends/monet5/UDF/Tests/udf-fuse.stable.err sql/backends/monet5/UDF/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/Tests/udf-reverse.sql sql/backends/monet5/UDF/Tests/udf-reverse.stable.err sql/backends/monet5/UDF/Tests/udf-reverse.stable.out sql/backends/monet5/UDF/udf.c sql/backends/monet5/UDF/udf.h sql/backends/monet5/UDF/udf.mal sql/backends/monet5/UDF/udf_hge.mal sql/backends/monet5/UDF/udf_impl.h Modified Files: gdk/ChangeLog gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_calc_compare.h gdk/gdk_cand.h gdk/gdk_cross.c gdk/gdk_delta.c gdk/gdk_delta.h gdk/gdk_firstn.c gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_imprints.c gdk/gdk_interprocess.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_orderidx.c gdk/gdk_project.c gdk/gdk_sample.c gdk/gdk_search.c gdk/gdk_select.c gdk/gdk_storage.c gdk/gdk_unique.c geom/monetdb5/geom.c geom/monetdb5/geomBulk.c geom/monetdb5/geom_upgrade.c monetdb5/extras/Makefile.ag monetdb5/extras/rapi/converters.c.h monetdb5/mal/Tests/tst275.stable.out monetdb5/mal/mal_module.c monetdb5/mal/mal_parser.c monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/mtime.c monetdb5/modules/kernel/aggr.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/batcolor.c monetdb5/modules/kernel/batmmath.c monetdb5/modules/kernel/microbenchmark.c monetdb5/modules/mal/iterator.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/mkey.c monetdb5/modules/mal/orderidx.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/txtsim.c monetdb5/modules/mal/zorder.c monetdb5/optimizer/opt_statistics.c sql/backends/monet5/LSST/lsst.c sql/backends/monet5/UDF/Makefile.ag sql/backends/monet5/generator/Tests/generator01.stable.err sql/backends/monet5/generator/Tests/generator04.stable.err sql/backends/monet5/generator/generator.c sql/backends/monet5/sql.c sql/backends/monet5/sql_cast_impl_down_from_int.h sql/backends/monet5/sql_cast_impl_up_to_flt.h sql/backends/monet5/sql_cast_impl_up_to_int.h sql/backends/monet5/sql_fround_impl.h sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_round_impl.h sql/backends/monet5/sql_upgrades.c sql/backends/monet5/vaults/bam/bam_export.c sql/backends/monet5/vaults/bam/bam_lib.c sql/backends/monet5/vaults/fits/fits.c sql/backends/monet5/vaults/lidar/lidar.c sql/backends/monet5/vaults/netcdf/netcdf.c sql/benchmarks/tpch/Tests/19-explain.stable.out sql/benchmarks/tpch/Tests/19-explain.stable.out.int128 sql/benchmarks/tpch/Tests/19-plan.stable.out sql/benchmarks/tpch/Tests/19-plan.stable.out.int128 sql/common/sql_types.c sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_optimizer.c sql/server/rel_planner.c sql/server/rel_schema.c sql/server/sql_atom.c sql/server/sql_atom.h sql/server/sql_mvc.c sql/server/sql_mvc.h sql/server/sql_parser.y sql/server/sql_semantic.c sql/storage/bat/bat_logger.c sql/storage/bat/bat_storage.c sql/storage/bat/bat_table.c sql/test/BugDay_2005-12-19_2.9.3/Tests/NULL_in_CASE.SF-1211335.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/prepare-where.SF-1238867.1238959.1238965.1240124.stable.out sql/test/BugTracker-2009/Tests/Division_by_zero_error.SF-2791361.stable.out sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.out sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out sql/test/BugTracker-2014/Tests/orderby_on_constant.Bug-3554.stable.out sql/test/BugTracker-2014/Tests/round.Bug-3542.stable.out.int128 sql/test/BugTracker-2015/Tests/operator-priority.Bug-3686.stable.out sql/test/BugTracker/Tests/insert_date.SF-1838785.stable.err sql/test/BugTracker/Tests/select_mod.SF-1838813.stable.out sql/test/Tests/coalesce.stable.out sql/test/Tests/round.stable.out sql/test/Via-m/Tests/event_s11.stable.err sql/test/bugs/Tests/create_insert_select_aggr-bug-00001.stable.out sql/test/mergetables/Tests/part-elim.sql sql/test/pg_regress/Tests/int4.stable.out sql/test/pg_regress/Tests/int4.stable.out.int128 sql/test/pg_regress/Tests/numeric.stable.err sql/test/pg_regress/Tests/strings.stable.err.int128 sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.oid32 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.oid32 sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit Branch: python3udf Log Message:
Merge with default and move pyapi3 folder to sql as well. diffs (truncated from 37147 to 300 lines): diff --git a/ChangeLog.Jun2016 b/ChangeLog.Jun2016 new file mode 100644 --- /dev/null +++ b/ChangeLog.Jun2016 @@ -0,0 +1,6 @@ +# ChangeLog file for candidate +# This file is updated with Maddlog + +* Fri Jul 1 2016 Sjoerd Mullender <sjo...@acm.org> +- Lots of memory leaks have been plugged across the whole system. + diff --git a/gdk/ChangeLog b/gdk/ChangeLog --- a/gdk/ChangeLog +++ b/gdk/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog file for MonetDB # This file is updated with Maddlog +* Fri Jul 1 2016 Sjoerd Mullender <sjo...@acm.org> +- Removed the macro BUNfirst. It can be replaced by 0. + * Wed Jun 29 2016 Sjoerd Mullender <sjo...@acm.org> - Changed BATroles by removing the argument to set the name of the head column. diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -772,8 +772,6 @@ gdk_export int VALisnil(const ValRecord * bit batDirtydesc; // BAT descriptor specific dirty flag * Heap* batBuns; // Heap where the buns are stored * // DELTA status - * BUN batDeleted; // first deleted BUN - * BUN batFirst; // empty BUN before the first alive BUN * BUN batInserted; // first inserted BUN * BUN batCount; // Tuple count * // Tail properties @@ -823,8 +821,6 @@ typedef struct { int sharecnt; /* incoming view count */ /* delta status administration */ - BUN deleted; /* start of deleted elements */ - BUN first; /* to store next deletion */ BUN inserted; /* start of inserted elements */ BUN count; /* tuple count */ BUN capacity; /* tuple capacity */ @@ -898,9 +894,7 @@ typedef struct BATiter { #define batConvert S.convert #define batDirtyflushed S.dirtyflushed #define batDirtydesc S.descdirty -#define batFirst S.first #define batInserted S.inserted -#define batDeleted S.deleted #define batCount S.count #define batCapacity S.capacity #define batStamp S.stamp @@ -1092,8 +1086,6 @@ gdk_export bte ATOMelmshift(int sz); * @item * BAThtype(b) and BATttype(b) find out the head and tail type of a BAT. * @item - * BUNfirst(b) returns a BUN pointer to the first BUN as a BAT. - * @item * BUNlast(b) returns the BUN pointer directly after the last BUN * in the BAT. * @end itemize @@ -1307,7 +1299,7 @@ gdk_export BUN BUNfnd(BAT *b, const void (*(const oid*)(v) < (b)->tseqbase) | \ (*(const oid*)(v) >= (b)->tseqbase + (b)->batCount) ? \ BUN_NONE : \ - BUNfirst((b)) + (BUN) (*(const oid*)(v) - (b)->tseqbase)) + (BUN) (*(const oid*)(v) - (b)->tseqbase)) #define BATttype(b) ((b)->ttype == TYPE_void && (b)->tseqbase != oid_nil ? \ TYPE_oid : (b)->ttype) @@ -1381,11 +1373,7 @@ bat_iterator(BAT *b) return bi; } -#define BUNfirst(b) (assert((b)->batFirst <= BUN_MAX), (b)->batFirst) -#define BUNlast(b) (assert((b)->batFirst <= BUN_MAX), \ - assert((b)->batCount <= BUN_MAX), \ - assert((b)->batCount <= BUN_MAX - (b)->batFirst), \ - (b)->batFirst + (b)->batCount) +#define BUNlast(b) (assert((b)->batCount <= BUN_MAX), (b)->batCount) #define BATcount(b) ((b)->batCount) @@ -1616,7 +1604,7 @@ gdk_export void GDKqsort_rev(void *h, vo } else if ((b)->ttype == TYPE_oid) { \ /* b->batCount == 1 */ \ oid sqbs; \ - if ((sqbs = ((oid *) (b)->theap.base)[(b)->batFirst]) == oid_nil) { \ + if ((sqbs = ((oid *) (b)->theap.base)[0]) == oid_nil) { \ (b)->tdense = 0; \ (b)->tnonil = 0; \ (b)->tnil = 1; \ @@ -2533,7 +2521,7 @@ Tpos(BATiter *bi, BUN p) { bi->tvid = bi->b->tseqbase; if (bi->tvid != oid_nil) - bi->tvid += p - BUNfirst(bi->b); + bi->tvid += p; return (char*)&bi->tvid; } @@ -2756,9 +2744,6 @@ gdk_export void ALIGNsetT(BAT *b1, BAT * * @item BATloopDEL * @tab * (BAT *b; BUN p; BUN q; int dummy) - * @item DELloop - * @tab - * (BAT *b; BUN p, BUN q, int dummy) * @item HASHloop * @tab * (BAT *b; Hash *h, size_t dummy; ptr value) @@ -2801,17 +2786,8 @@ gdk_export void ALIGNsetT(BAT *b1, BAT * * The first parameter is a BAT, the p and q are BUN pointers, where p * is the iteration variable. */ -#define BATloop(r, p, q) \ - for (q = BUNlast(r), p = BUNfirst(r);p < q; p++) - -/* - * @- sequential scan over deleted BUNs - * Stable BUNS that were deleted, are conserved to transaction - * end. You may inspect these data items. Again, the b is a BAT, p - * and q are BUNs, where p is the iteration variable. - */ -#define DELloop(b, p, q) \ - for (q = (b)->batFirst, p = (b)->batDeleted; p < q; p++) +#define BATloop(r, p, q) \ + for (q = BUNlast(r), p = 0; p < q; p++) /* * @- hash-table supported loop over BUNs diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c --- a/gdk/gdk_aggr.c +++ b/gdk/gdk_aggr.c @@ -90,7 +90,7 @@ BATgroupaggrinit(BAT *b, BAT *g, BAT *e, min = g->tseqbase; max = g->tseqbase + BATcount(g) - 1; } else if (g->tsorted) { - gids = (const oid *) Tloc(g, BUNfirst(g)); + gids = (const oid *) Tloc(g, 0); /* find first non-nil */ for (i = 0, ngrp = BATcount(g); i < ngrp; i++, gids++) { if (*gids != oid_nil) { @@ -105,7 +105,7 @@ BATgroupaggrinit(BAT *b, BAT *g, BAT *e, } } else { /* we'll do a complete scan */ - gids = (const oid *) Tloc(g, BUNfirst(g)); + gids = (const oid *) Tloc(g, 0); for (i = 0, ngrp = BATcount(g); i < ngrp; i++, gids++) { if (*gids != oid_nil) { if (*gids < min) @@ -507,10 +507,10 @@ BATgroupsum(BAT *b, BAT *g, BAT *e, BAT if (BATtdense(g)) gids = NULL; else - gids = (const oid *) Tloc(g, BUNfirst(g) + start); + gids = (const oid *) Tloc(g, start); - nils = dosum(Tloc(b, BUNfirst(b)), b->tnonil, b->hseqbase, start, end, - Tloc(bn, BUNfirst(bn)), ngrp, b->ttype, tp, + nils = dosum(Tloc(b, 0), b->tnonil, b->hseqbase, start, end, + Tloc(bn, 0), ngrp, b->ttype, tp, cand, candend, gids, min, max, skip_nils, abort_on_error, 1, "BATgroupsum"); @@ -638,7 +638,7 @@ BATsum(void *res, int tp, BAT *b, BAT *s } if (BATcount(b) == 0) return GDK_SUCCEED; - nils = dosum(Tloc(b, BUNfirst(b)), b->tnonil, b->hseqbase, start, end, + nils = dosum(Tloc(b, 0), b->tnonil, b->hseqbase, start, end, res, 1, b->ttype, tp, cand, candend, &min, min, max, skip_nils, abort_on_error, nil_if_empty, "BATsum"); return nils < BUN_NONE ? GDK_SUCCEED : GDK_FAIL; @@ -1111,10 +1111,10 @@ BATgroupprod(BAT *b, BAT *g, BAT *e, BAT if (BATtdense(g)) gids = NULL; else - gids = (const oid *) Tloc(g, BUNfirst(g) + start); + gids = (const oid *) Tloc(g, start); - nils = doprod(Tloc(b, BUNfirst(b)), b->hseqbase, start, end, - Tloc(bn, BUNfirst(bn)), ngrp, b->ttype, tp, + nils = doprod(Tloc(b, 0), b->hseqbase, start, end, + Tloc(bn, 0), ngrp, b->ttype, tp, cand, candend, gids, 1, min, max, skip_nils, abort_on_error, 1, "BATgroupprod"); @@ -1180,7 +1180,7 @@ BATprod(void *res, int tp, BAT *b, BAT * } if (BATcount(b) == 0) return GDK_SUCCEED; - nils = doprod(Tloc(b, BUNfirst(b)), b->hseqbase, start, end, res, 1, + nils = doprod(Tloc(b, 0), b->hseqbase, start, end, res, 1, b->ttype, tp, cand, candend, &min, 0, min, max, skip_nils, abort_on_error, nil_if_empty, "BATprod"); return nils < BUN_NONE ? GDK_SUCCEED : GDK_FAIL; @@ -1251,7 +1251,7 @@ BATprod(void *res, int tp, BAT *b, BAT * #define AGGR_AVG(TYPE) \ do { \ - const TYPE *restrict vals = (const TYPE *) Tloc(b, BUNfirst(b)); \ + const TYPE *restrict vals = (const TYPE *) Tloc(b, 0); \ TYPE *restrict avgs = GDKzalloc(ngrp * sizeof(TYPE)); \ if (avgs == NULL) \ goto alloc_fail; \ @@ -1298,7 +1298,7 @@ BATprod(void *res, int tp, BAT *b, BAT * #define AGGR_AVG_FLOAT(TYPE) \ do { \ - const TYPE *restrict vals = (const TYPE *) Tloc(b, BUNfirst(b)); \ + const TYPE *restrict vals = (const TYPE *) Tloc(b, 0); \ for (i = 0; i < ngrp; i++) \ dbls[i] = 0; \ for (;;) { \ @@ -1426,7 +1426,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT if (cntsp) { if ((*cntsp = COLnew(min, TYPE_lng, ngrp, TRANSIENT)) == NULL) goto alloc_fail; - cnts = (lng *) Tloc(*cntsp, BUNfirst(*cntsp)); + cnts = (lng *) Tloc(*cntsp, 0); memset(cnts, 0, ngrp * sizeof(lng)); } else { cnts = GDKzalloc(ngrp * sizeof(lng)); @@ -1437,12 +1437,12 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT bn = COLnew(min, TYPE_dbl, ngrp, TRANSIENT); if (bn == NULL) goto alloc_fail; - dbls = (dbl *) Tloc(bn, BUNfirst(bn)); + dbls = (dbl *) Tloc(bn, 0); if (BATtdense(g)) gids = NULL; else - gids = (const oid *) Tloc(g, BUNfirst(g) + start); + gids = (const oid *) Tloc(g, start); switch (b->ttype) { case TYPE_bte: @@ -1635,7 +1635,7 @@ BATcalcavg(BAT *b, BAT *s, dbl *avg, BUN CANDINIT(b, s, start, end, cnt, cand, candend); - src = Tloc(b, b->batFirst); + src = Tloc(b, 0); switch (b->ttype) { case TYPE_bte: @@ -1676,7 +1676,7 @@ BATcalcavg(BAT *b, BAT *s, dbl *avg, BUN #define AGGR_COUNT(TYPE) \ do { \ - const TYPE *restrict vals = (const TYPE *) Tloc(b, BUNfirst(b)); \ + const TYPE *restrict vals = (const TYPE *) Tloc(b, 0); \ for (;;) { \ if (cand) { \ if (cand == candend) \ @@ -1744,13 +1744,13 @@ BATgroupcount(BAT *b, BAT *g, BAT *e, BA bn = COLnew(min, TYPE_lng, ngrp, TRANSIENT); if (bn == NULL) return NULL; - cnts = (lng *) Tloc(bn, BUNfirst(bn)); + cnts = (lng *) Tloc(bn, 0); memset(cnts, 0, ngrp * sizeof(lng)); if (BATtdense(g)) gids = NULL; else - gids = (const oid *) Tloc(g, BUNfirst(g) + start); + gids = (const oid *) Tloc(g, start); t = b->ttype; nil = ATOMnilptr(t); @@ -1802,8 +1802,7 @@ BATgroupcount(BAT *b, BAT *g, BAT *e, BA else gid = (oid) i; if (!skip_nils || - (*atomcmp)(BUNtail(bi, i + BUNfirst(b)), - nil) != 0) { + (*atomcmp)(BUNtail(bi, i), nil) != 0) { cnts[gid]++; } } @@ -1861,15 +1860,15 @@ BATgroupsize(BAT *b, BAT *g, BAT *e, BAT bn = COLnew(min, TYPE_lng, ngrp, TRANSIENT); if (bn == NULL) return NULL; - cnts = (lng *) Tloc(bn, BUNfirst(bn)); + cnts = (lng *) Tloc(bn, 0); memset(cnts, 0, ngrp * sizeof(lng)); if (BATtdense(g)) gids = NULL; else - gids = (const oid *) Tloc(g, BUNfirst(g) + start); + gids = (const oid *) Tloc(g, start); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list