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

Reply via email to