Changeset: 4db3c16dd7cd for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4db3c16dd7cd Modified Files: clients/Tests/exports.stable.out gdk/gdk.h gdk/gdk_batop.c gdk/gdk_private.h Branch: default Log Message:
Use an enum for BAT properties (GDK_MIN_VALUE and GDK_MAX_VALUE). diffs (97 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 @@ -118,7 +118,7 @@ gdk_return BATextend(BAT *b, BUN newcap) void BATfakeCommit(BAT *b); gdk_return BATfirstn(BAT **topn, BAT **gids, BAT *b, BAT *cands, BAT *grps, BUN n, bool asc, bool distinct) __attribute__((__warn_unused_result__)); int BATgetaccess(BAT *b); -PROPrec *BATgetprop(BAT *b, int idx); +PROPrec *BATgetprop(BAT *b, enum prop_t idx); gdk_return BATgroup(BAT **groups, BAT **extents, BAT **histo, BAT *b, BAT *s, BAT *g, BAT *e, BAT *h) __attribute__((__warn_unused_result__)); const char *BATgroupaggrinit(BAT *b, BAT *g, BAT *e, BAT *s, oid *minp, oid *maxp, BUN *ngrpp, BUN *startp, BUN *endp, const oid **candp, const oid **candendp); gdk_return BATgroupavg(BAT **bnp, BAT **cntsp, BAT *b, BAT *g, BAT *e, BAT *s, int tp, bool skip_nils, bool abort_on_error, int scale); @@ -161,7 +161,7 @@ BAT *BATproject(BAT *l, BAT *r); BAT *BATprojectchain(BAT **bats); gdk_return BATrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT *sl, BAT *sr, bool li, bool hi, BUN estimate) __attribute__((__warn_unused_result__)); gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bool force) __attribute__((__warn_unused_result__)); -void BATrmprop(BAT *b, int idx); +void BATrmprop(BAT *b, enum prop_t idx); gdk_return BATroles(BAT *b, const char *tnme); BAT *BATsample(BAT *b, BUN n); BAT *BATsample_with_seed(BAT *b, BUN n, unsigned seed); @@ -170,7 +170,7 @@ gdk_return BATsemijoin(BAT **r1p, BAT ** gdk_return BATsetaccess(BAT *b, int mode); void BATsetcapacity(BAT *b, BUN cnt); void BATsetcount(BAT *b, BUN cnt); -void BATsetprop(BAT *b, int idx, int type, const void *v); +void BATsetprop(BAT *b, enum prop_t idx, int type, const void *v); BAT *BATslice(BAT *b, BUN low, BUN high); gdk_return BATsort(BAT **sorted, BAT **order, BAT **groups, BAT *b, BAT *o, BAT *g, bool reverse, bool stable) __attribute__((__warn_unused_result__)); gdk_return BATstr_group_concat(ValPtr res, BAT *b, BAT *s, bool skip_nils, bool abort_on_error, bool nil_if_empty, const char *separator); diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -2692,14 +2692,15 @@ gdk_export void VIEWbounds(BAT *b, BAT * * properties. They can be used to improve query processing at higher * levels. */ - -#define GDK_MIN_VALUE 3 /* smallest non-nil value in BAT */ -#define GDK_MAX_VALUE 4 /* largest non-nil value in BAT */ +enum prop_t { + GDK_MIN_VALUE = 3, /* smallest non-nil value in BAT */ + GDK_MAX_VALUE, /* largest non-nil value in BAT */ +}; gdk_export void PROPdestroy(BAT *b); -gdk_export PROPrec *BATgetprop(BAT *b, int idx); -gdk_export void BATsetprop(BAT *b, int idx, int type, const void *v); -gdk_export void BATrmprop(BAT *b, int idx); +gdk_export PROPrec *BATgetprop(BAT *b, enum prop_t idx); +gdk_export void BATsetprop(BAT *b, enum prop_t idx, int type, const void *v); +gdk_export void BATrmprop(BAT *b, enum prop_t idx); /* * @- BAT relational operators diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -1905,7 +1905,7 @@ PROPdestroy(BAT *b) } PROPrec * -BATgetprop(BAT *b, int idx) +BATgetprop(BAT *b, enum prop_t idx) { PROPrec *p = b->tprops; @@ -1918,7 +1918,7 @@ BATgetprop(BAT *b, int idx) } void -BATsetprop(BAT *b, int idx, int type, const void *v) +BATsetprop(BAT *b, enum prop_t idx, int type, const void *v) { PROPrec *p = BATgetprop(b, idx); @@ -1943,7 +1943,7 @@ BATsetprop(BAT *b, int idx, int type, co } void -BATrmprop(BAT *b, int idx) +BATrmprop(BAT *b, enum prop_t idx) { PROPrec *prop = b->tprops, *prev = NULL; diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h --- a/gdk/gdk_private.h +++ b/gdk/gdk_private.h @@ -266,7 +266,7 @@ void IMPSprint(BAT *b) /* never called: #define BBP_THREADMASK 63 struct PROPrec { - int id; + enum prop_t id; ValRecord v; struct PROPrec *next; /* simple chain of properties */ }; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list