Changeset: 167728df4ef3 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=167728df4ef3 Added Files: ChangeLog-Archive 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 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/mal/Tests/tst3000.malC monetdb5/mal/Tests/tst3000.stable.err monetdb5/mal/Tests/tst3000.stable.out monetdb5/mal/Tests/tst3010.malC monetdb5/mal/Tests/tst3010.stable.err monetdb5/mal/Tests/tst3010.stable.out monetdb5/mal/Tests/tst3030.malC monetdb5/mal/Tests/tst3030.stable.err monetdb5/mal/Tests/tst3030.stable.out monetdb5/mal/Tests/tst3060.malC monetdb5/mal/Tests/tst3060.stable.err monetdb5/mal/Tests/tst3060.stable.out 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: .hgtags ChangeLog.Jun2016 MonetDB.spec NT/installer32/MonetDB-ODBC-Installer.vdproj NT/installer32/MonetDB5-Geom-Module.vdproj NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB-ODBC-Installer.vdproj NT/installer64/MonetDB5-Geom-Module.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag debian/changelog 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 gdk/libbat.rc geom/monetdb5/geom.c geom/monetdb5/geomBulk.c geom/monetdb5/geom_upgrade.c java/Makefile.ag java/build.properties java/pom.xml java/release.txt libversions monetdb5/extras/Makefile.ag monetdb5/extras/rapi/converters.c.h monetdb5/mal/Tests/All monetdb5/mal/Tests/tst275.stable.out 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/Tests/CMexample.malC monetdb5/optimizer/Tests/CRexample.malC monetdb5/optimizer/Tests/CXerror1.malC monetdb5/optimizer/Tests/CXexample.malC monetdb5/optimizer/Tests/CXexample.stable.out monetdb5/optimizer/Tests/DCexample.malC monetdb5/optimizer/Tests/DCexample2.malC monetdb5/optimizer/Tests/DCexample2.stable.out monetdb5/optimizer/Tests/FTexample.malC monetdb5/optimizer/Tests/GCexample01.malC monetdb5/optimizer/Tests/GCexample01.stable.out monetdb5/optimizer/Tests/JPexample.malC monetdb5/optimizer/Tests/JPexample.stable.out monetdb5/optimizer/Tests/Mexample.malC monetdb5/optimizer/Tests/Mexample.stable.out monetdb5/optimizer/Tests/dataflow3.malC monetdb5/optimizer/Tests/dataflow3.stable.out monetdb5/optimizer/Tests/dataflow4.malC monetdb5/optimizer/Tests/dataflow4.stable.out monetdb5/optimizer/Tests/dataflow5.malC monetdb5/optimizer/Tests/dataflow5.stable.out monetdb5/optimizer/Tests/inline00.malC monetdb5/optimizer/Tests/inline00.stable.out monetdb5/optimizer/Tests/inline01.malC monetdb5/optimizer/Tests/inline01.stable.out monetdb5/optimizer/Tests/inline02.malC monetdb5/optimizer/Tests/inline02.stable.out monetdb5/optimizer/Tests/inline03.malC monetdb5/optimizer/Tests/inline03.stable.out monetdb5/optimizer/Tests/inline04.malC monetdb5/optimizer/Tests/inline04.stable.out monetdb5/optimizer/Tests/inline05.malC monetdb5/optimizer/Tests/inline05.stable.out monetdb5/optimizer/Tests/inline06.malC monetdb5/optimizer/Tests/inline06.stable.out monetdb5/optimizer/Tests/inline07.malC monetdb5/optimizer/Tests/inline07.stable.out monetdb5/optimizer/Tests/inline08.malC monetdb5/optimizer/Tests/inline08.stable.out monetdb5/optimizer/Tests/inline09.malC monetdb5/optimizer/Tests/inline09.stable.out monetdb5/optimizer/Tests/inline10.malC monetdb5/optimizer/Tests/inline10.stable.out monetdb5/optimizer/Tests/inline11.malC monetdb5/optimizer/Tests/inline12.malC monetdb5/optimizer/Tests/inline12.stable.out monetdb5/optimizer/Tests/inlineCst.malC monetdb5/optimizer/Tests/inlineCst.stable.out monetdb5/optimizer/Tests/inlineFunction2.malC monetdb5/optimizer/Tests/inlineFunction2.stable.out monetdb5/optimizer/Tests/inlineIfthen.malC monetdb5/optimizer/Tests/inlineIfthen.stable.out monetdb5/optimizer/Tests/joinpath.malC monetdb5/optimizer/Tests/leftjoinpath.malC monetdb5/optimizer/Tests/manifold2.malC monetdb5/optimizer/Tests/mat00.malC monetdb5/optimizer/Tests/mat01.malC monetdb5/optimizer/Tests/mitosis00.malC monetdb5/optimizer/Tests/projectionchain.malC monetdb5/optimizer/Tests/projectionchain.stable.out monetdb5/optimizer/Tests/qep00.malC monetdb5/optimizer/Tests/qep01.malC monetdb5/optimizer/Tests/qep02.malC monetdb5/optimizer/Tests/remap.malC monetdb5/optimizer/Tests/remap.stable.out monetdb5/optimizer/Tests/reorder00.malC monetdb5/optimizer/Tests/reorder00.stable.out monetdb5/optimizer/Tests/replicator00.malC monetdb5/optimizer/Tests/tst4000.malC monetdb5/optimizer/Tests/tst4000.stable.out monetdb5/optimizer/Tests/tst4003.malC monetdb5/optimizer/Tests/tst4003.stable.out monetdb5/optimizer/Tests/tst4010.malC monetdb5/optimizer/Tests/tst4010.stable.out monetdb5/optimizer/Tests/tst4030.malC monetdb5/optimizer/Tests/tst4030.stable.out monetdb5/optimizer/Tests/tst4700.malC monetdb5/optimizer/opt_statistics.c monetdb5/tools/libmonetdb5.rc sql/backends/monet5/LSST/lsst.c sql/backends/monet5/UDF/Makefile.ag 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_round_impl.h sql/backends/monet5/vaults/bam/Makefile.ag sql/backends/monet5/vaults/bam/Tests/bam_lib_mal.mal sql/backends/monet5/vaults/bam/bam_export.c sql/backends/monet5/vaults/bam/bam_lib.c sql/backends/monet5/vaults/fits/Makefile.ag sql/backends/monet5/vaults/fits/fits.c sql/backends/monet5/vaults/lidar/Makefile.ag sql/backends/monet5/vaults/lidar/lidar.c sql/backends/monet5/vaults/netcdf/Makefile.ag sql/backends/monet5/vaults/netcdf/netcdf.c sql/backends/monet5/vaults/shp/Makefile.ag sql/server/sql_parser.y sql/storage/bat/bat_logger.c sql/storage/bat/bat_storage.c sql/storage/bat/bat_table.c 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 vertoo.data Branch: default Log Message:
merged diffs (truncated from 37565 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -627,3 +627,5 @@ 192e3168234a5f9f8a4d1c4ce17805f608f001c3 b29fdfe9c590f674208212bf4ead617beef4b73c Jun2016_3 192e3168234a5f9f8a4d1c4ce17805f608f001c3 Jun2016_release b29fdfe9c590f674208212bf4ead617beef4b73c Jun2016_release +4a05df3932a97865ac7e4037361723d5563490b3 Jun2016_5 +4a05df3932a97865ac7e4037361723d5563490b3 Jun2016_SP1_release diff --git a/ChangeLog-Archive b/ChangeLog-Archive new file mode 100644 --- /dev/null +++ b/ChangeLog-Archive @@ -0,0 +1,6 @@ +# DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY +# This file contains past ChangeLog entries + +* Fri Jul 1 2016 Sjoerd Mullender <sjo...@acm.org> - 11.23.5-20160704 +- Lots of memory leaks have been plugged across the whole system. + diff --git a/ChangeLog.Jun2016 b/ChangeLog.Jun2016 --- a/ChangeLog.Jun2016 +++ b/ChangeLog.Jun2016 @@ -1,6 +1,3 @@ # 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/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -119,7 +119,7 @@ Vendor: MonetDB BV <i...@monetdb.org> Group: Applications/Databases License: MPLv2.0 URL: http://www.monetdb.org/ -Source: http://dev.monetdb.org/downloads/sources/Jun2016/%{name}-%{version}.tar.bz2 +Source: http://dev.monetdb.org/downloads/sources/Jun2016-SP1/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 @@ -962,6 +962,13 @@ rm -f %{buildroot}%{_bindir}/Maddlog %postun -p /sbin/ldconfig %changelog +* Mon Jul 04 2016 Sjoerd Mullender <sjo...@acm.org> - 11.23.5-20160704 +- Rebuilt. +- BZ#4031: mclient doesn't accept - argument to refer to stdin + +* Fri Jul 1 2016 Sjoerd Mullender <sjo...@acm.org> - 11.23.5-20160704 +- MonetDB: Lots of memory leaks have been plugged across the whole system. + * Fri Jun 10 2016 Sjoerd Mullender <sjo...@acm.org> - 11.23.3-20160610 - Rebuilt. - BZ#4015: Daemon crashes on database release command diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +monetdb (11.23.5) unstable; urgency=low + + * Rebuilt. + * BZ#4031: mclient doesn't accept - argument to refer to stdin + + -- Sjoerd Mullender <sjo...@acm.org> Mon, 04 Jul 2016 12:57:25 +0200 + +monetdb (11.23.5) unstable; urgency=low + + * MonetDB: Lots of memory leaks have been plugged across the whole system. + + -- Sjoerd Mullender <sjo...@acm.org> Fri, 1 Jul 2016 12:57:25 +0200 + monetdb (11.23.3) unstable; urgency=low * Rebuilt. 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) @@ -1317,7 +1309,7 @@ gdk_export BUN BUNfnd(BAT *b, const void #define tailsize(b,p) ((b)->ttype?((size_t)(p))<<(b)->tshift:0) -#define Tloc(b,p) ((b)->theap.base+((p)<<(b)->tshift)) +#define Tloc(b,p) ((b)->theap.base+(((size_t)(p))<<(b)->tshift)) #if SIZEOF_VAR_T < SIZEOF_VOID_P /* NEW 11/4/2009: when compiled with 32-bits oids/var_t on 64-bits @@ -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)); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list