Changeset: a91fc1d11e57 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a91fc1d11e57
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_aggr.c
gdk/gdk_atoms.c
gdk/gdk_bbp.c
gdk/gdk_calc_addsub.c
gdk/gdk_calc_convert.c
gdk/gdk_firstn.c
gdk/gdk_group.c
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_orderidx.c
gdk/gdk_project.c
gdk/gdk_rsort.c
gdk/gdk_sample.c
gdk/gdk_ssort.c
gdk/gdk_storage.c
gdk/gdk_strimps.c
gdk/gdk_string.c
gdk/gdk_subquery.c
gdk/gdk_utils.c
geom/monetdb5/geod.c
geom/monetdb5/geom.c
geom/monetdb5/geomBulk.c
geom/monetdb5/geom_atoms.c
monetdb5/extras/rapi/rapi.c
monetdb5/mal/mal_import.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_session.c
monetdb5/modules/atoms/json.c
monetdb5/modules/atoms/str.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/kernel/microbenchmark.c
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/mal_io.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/manual.c
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/remote.c
monetdb5/modules/mal/tablet.c
monetdb5/modules/mal/txtsim.c
monetdb5/optimizer/opt_aliases.c
monetdb5/optimizer/opt_coercion.c
monetdb5/optimizer/opt_commonTerms.c
monetdb5/optimizer/opt_constants.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_deadcode.c
monetdb5/optimizer/opt_dict.c
monetdb5/optimizer/opt_emptybind.c
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_for.c
monetdb5/optimizer/opt_generator.c
monetdb5/optimizer/opt_inline.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_pipes.c
monetdb5/optimizer/opt_projectionpath.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_remap.c
monetdb5/optimizer/opt_remoteQueries.c
monetdb5/optimizer/opt_reorder.c
sql/backends/monet5/UDF/pyapi3/conversion3.c
sql/backends/monet5/for.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_bincopy.c
sql/backends/monet5/sql_bincopyconvert.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_user.c
sql/common/sql_list.c
sql/server/rel_optimize_proj.c
sql/server/rel_optimize_sel.c
sql/server/rel_unnest.c
sql/server/sql_privileges.c
sql/storage/bat/bat_logger.c
sql/storage/store.c
Branch: Dec2025
Log Message:
Put allocator pointer into allocator_state, remove arg from ma_close().
diffs (truncated from 4192 to 300 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -564,7 +564,7 @@ gdk_return log_tsequence(logger *lg, int
gdk_return log_tstart(logger *lg, bool flushnow, ulng *log_file_id);
ATOMIC_TYPE lvl_per_component[];
void *ma_alloc(allocator *sa, size_t sz);
-void ma_close(allocator *sa, const allocator_state *);
+void ma_close(const allocator_state *);
void ma_destroy(allocator *sa);
void ma_free(allocator *sa, void *);
exception_buffer *ma_get_eb(allocator *sa) __attribute__((__pure__));
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -75,6 +75,7 @@ typedef struct {
size_t objects;
size_t inuse;
size_t tmp_used;
+ allocator *ma;
} allocator_state;
#include "gdk_system.h"
@@ -1766,7 +1767,7 @@ gdk_export char *ma_strconcat(allocator
gdk_export size_t ma_size(allocator *sa);
gdk_export const char *ma_name(allocator *sa);
gdk_export allocator_state ma_open(allocator *sa); /* open new frame of
tempory allocations */
-gdk_export void ma_close(allocator *sa, const allocator_state *); /* close
temporary frame, reset to old state */
+gdk_export void ma_close(const allocator_state *); /* close temporary frame,
reset to old state */
gdk_export void ma_free(allocator *sa, void *);
gdk_export exception_buffer *ma_get_eb(allocator *sa)
__attribute__((__pure__));
@@ -1874,14 +1875,13 @@ gdk_export void ma_info(const allocator
_sa, ma_name(_sa), _as.tmp_used); \
_as; \
})
-#define ma_close(sa, as) \
- ({ \
- allocator *_sa = (sa); \
- allocator_state *_as = (as); \
- TRC_DEBUG(ALLOC, \
- "ma_close(%p(%s), tmp_used = %zu)\n", \
- _sa, ma_name(_sa), _as->tmp_used); \
- ma_close(_sa, _as); \
+#define ma_close(as) \
+ ({ \
+ allocator_state *_as = (as); \
+ TRC_DEBUG(ALLOC, \
+ "ma_close(%p(%s), tmp_used = %zu)\n", \
+ _as->ma, ma_name(_as->ma), _as->tmp_used); \
+ ma_close(_as); \
})
#define ma_reset(sa) \
({ \
diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c
--- a/gdk/gdk_aggr.c
+++ b/gdk/gdk_aggr.c
@@ -226,7 +226,7 @@ dofsum(const void *restrict values, oid
}
pergroup = ma_alloc(ma, ngrp * sizeof(*pergroup));
if (pergroup == NULL) {
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return BUN_NONE;
}
for (grp = 0; grp < ngrp; grp++) {
@@ -235,7 +235,7 @@ dofsum(const void *restrict values, oid
.partials = ma_alloc(ma, 2 * sizeof(double)),
};
if (pergroup[grp].partials == NULL) {
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return BUN_NONE;
}
}
@@ -408,13 +408,13 @@ dofsum(const void *restrict values, oid
((dbl *) results)[grp] = hi;
}
}
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return nils;
overflow:
GDKerror("22003!overflow in sum aggregate.\n");
bailout:
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return BUN_NONE;
}
@@ -731,7 +731,7 @@ dosum(const void *restrict values, bool
/* allocate bitmap for seen group ids */
seen = ma_zalloc(ma, ((ngrp + 31) / 32) * sizeof(int));
if (seen == NULL) {
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return BUN_NONE;
}
@@ -871,23 +871,23 @@ dosum(const void *restrict values, bool
}
}
}
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return nils;
unsupported:
GDKerror("%s: type combination (sum(%s)->%s) not supported.\n",
func, ATOMname(tp1), ATOMname(tp2));
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return BUN_NONE;
overflow:
GDKerror("22003!overflow in sum aggregate.\n");
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return BUN_NONE;
bailout:
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return BUN_NONE;
}
@@ -1360,7 +1360,7 @@ doprod(const void *restrict values, oid
/* allocate bitmap for seen group ids */
seen = ma_zalloc(ma, ((ngrp + 31) / 32) * sizeof(int));
if (seen == NULL) {
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return BUN_NONE;
}
@@ -1550,23 +1550,23 @@ doprod(const void *restrict values, oid
}
}
}
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return nils;
unsupported:
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
GDKerror("%s: type combination (mul(%s)->%s) not supported.\n",
func, ATOMname(tp1), ATOMname(tp2));
return BUN_NONE;
overflow:
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
GDKerror("22003!overflow in product aggregate.\n");
return BUN_NONE;
bailout:
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return BUN_NONE;
}
@@ -1825,12 +1825,12 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT
if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci)) !=
NULL) {
GDKerror("%s\n", err);
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_FAIL;
}
if (g == NULL) {
GDKerror("b and g must be aligned\n");
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_FAIL;
}
@@ -1839,20 +1839,20 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT
* with nil in the tail */
bn = BATconstant(ngrp == 0 ? 0 : min, TYPE_dbl, &dbl_nil, ngrp,
TRANSIENT);
if (bn == NULL) {
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_FAIL;
}
if (cntsp) {
lng zero = 0;
if ((cn = BATconstant(ngrp == 0 ? 0 : min, TYPE_lng,
&zero, ngrp, TRANSIENT)) == NULL) {
BBPreclaim(bn);
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_FAIL;
}
*cntsp = cn;
}
*bnp = bn;
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_SUCCEED;
}
@@ -1863,20 +1863,20 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT
/* trivial: singleton groups, so all results are equal
* to the inputs (but possibly a different type) */
if ((bn = BATconvert(b, s, TYPE_dbl, 0, 0, 0)) == NULL) {
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_FAIL;
}
if (cntsp) {
lng one = 1;
if ((cn = BATconstant(ngrp == 0 ? 0 : min, TYPE_lng,
&one, ngrp, TRANSIENT)) == NULL) {
BBPreclaim(bn);
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_FAIL;
}
*cntsp = cn;
}
*bnp = bn;
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_SUCCEED;
}
@@ -1976,7 +1976,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT
ALGOBATPAR(b), ALGOOPTBATPAR(g), ALGOOPTBATPAR(e),
ALGOOPTBATPAR(s), ALGOOPTBATPAR(bn),
ci.seq, ci.ncand, GDKusec() - t0);
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_SUCCEED;
bailout:
bat_iterator_end(&bi);
@@ -1986,7 +1986,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT
BBPreclaim(*cntsp);
*cntsp = NULL;
}
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return GDK_FAIL;
}
@@ -2039,7 +2039,7 @@ BATgroupavg3(BAT **avgp, BAT **remp, BAT
(void) VALinit(ma, &zero, TYPE_bte, &(bte){0});
bn = BATconstant(min, b->ttype, VALconvert(ma, b->ttype, &zero),
ngrp, TRANSIENT);
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
rn = BATconstant(min, TYPE_lng, &(lng){0}, ngrp, TRANSIENT);
cn = BATconstant(min, TYPE_lng, &(lng){0}, ngrp, TRANSIENT);
if (bn == NULL || rn == NULL || cn == NULL) {
@@ -2671,7 +2671,7 @@ BATgroupavg3combine(BAT *avg, BAT *rem,
bn = BATconstant(min, avg->ttype,
VALconvert(ma, avg->ttype, &zero),
ngrp, TRANSIENT);
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
/* rn and cn are temporary storage of intermediates */
rn = BATconstant(min, TYPE_lng, &(lng){0}, ngrp, TRANSIENT);
cn = BATconstant(min, TYPE_lng, &(lng){0}, ngrp, TRANSIENT);
@@ -4659,12 +4659,12 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g,
* functions) argument */
if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci)) !=
NULL) {
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
GDKerror("%s: %s\n", func, err);
return NULL;
}
if (g == NULL) {
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
GDKerror("%s: b and g must be aligned\n", func);
return NULL;
}
@@ -4779,7 +4779,7 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g,
variance ? "true" : "false",
ALGOOPTBATPAR(bn), ALGOOPTBATPAR(an),
func, GDKusec() - t0);
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return bn;
overflow:
GDKerror("22003!overflow in calculation.\n");
@@ -4789,7 +4789,7 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g,
if (an)
BBPreclaim(an);
BBPreclaim(bn);
- ma_close(ma, &ma_state);
+ ma_close(&ma_state);
return NULL;
}
@@ -4892,12 +4892,12 @@ dogroupcovariance(BAT *b1, BAT *b2, BAT
(void) tp;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]