Changeset: 8008e752d983 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8008e752d983
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
gdk/gdk_logger.c
gdk/gdk_logger.h
gdk/gdk_private.h
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/bat5.h
monetdb5/modules/mal/batExtensions.c
sql/storage/bat/bat_utils.c
sql/storage/bat/bat_utils.h
Branch: Apr2019
Log Message:
Refactor: use enum for TRANSIENT/PERSISTENT.
diffs (truncated from 316 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
@@ -19,7 +19,7 @@ int ATOMprint(int id, const void *val, s
gdk_return BATappend(BAT *b, BAT *n, BAT *s, bool force)
__attribute__((__warn_unused_result__));
void BATassertProps(BAT *b);
atomDesc BATatoms[];
-BAT *BATattach(int tt, const char *heapfile, int role);
+BAT *BATattach(int tt, const char *heapfile, role_t role);
gdk_return BATbandjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr,
const void *c1, const void *c2, bool li, bool hi, BUN estimate)
__attribute__((__warn_unused_result__));
BAT *BATcalcabsolute(BAT *b, BAT *s);
BAT *BATcalcadd(BAT *b1, BAT *b2, BAT *s, int tp, bool abort_on_error);
@@ -108,7 +108,7 @@ BAT *BATcalcxor(BAT *b1, BAT *b2, BAT *s
BAT *BATcalcxorcst(BAT *b, const ValRecord *v, BAT *s);
gdk_return BATclear(BAT *b, bool force);
void BATcommit(BAT *b);
-BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, int role);
+BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, role_t role);
BAT *BATconvert(BAT *b, BAT *s, int tp, bool abort_on_error);
BUN BATcount_no_nil(BAT *b);
gdk_return BATdel(BAT *b, BAT *d) __attribute__((__warn_unused_result__));
@@ -207,8 +207,8 @@ gdk_return BUNappend(BAT *b, const void
gdk_return BUNdelete(BAT *b, oid o) __attribute__((__warn_unused_result__));
BUN BUNfnd(BAT *b, const void *right);
gdk_return BUNinplace(BAT *b, BUN p, const void *right, bool force)
__attribute__((__warn_unused_result__));
-BAT *COLcopy(BAT *b, int tt, bool writable, int role);
-BAT *COLnew(oid hseq, int tltype, BUN capacity, int role)
__attribute__((__warn_unused_result__));
+BAT *COLcopy(BAT *b, int tt, bool writable, role_t role);
+BAT *COLnew(oid hseq, int tltype, BUN capacity, role_t role)
__attribute__((__warn_unused_result__));
size_t GDK_mem_maxsize;
size_t GDK_vm_maxsize;
int GDK_vm_trim;
@@ -437,7 +437,7 @@ gdk_return logger_del_bat(logger *lg, lo
void logger_destroy(logger *lg);
gdk_return logger_exit(logger *lg);
log_bid logger_find_bat(logger *lg, const char *name, char tpe, oid id);
-lng logger_read_last_transaction_id(logger *lg, char *dir, char *logger_file,
int role);
+lng logger_read_last_transaction_id(logger *lg, char *dir, char *logger_file,
role_t role);
gdk_return logger_reload(logger *lg);
gdk_return logger_restart(logger *lg);
int logger_sequence(logger *lg, int seq, lng *id);
@@ -833,7 +833,7 @@ str BKCisSynced(bit *ret, const bat *bid
str BKCisTransient(bit *res, const bat *bid);
str BKCmergecand(bat *ret, const bat *aid, const bat *bid);
str BKCmirror(bat *ret, const bat *bid);
-str BKCnewBAT(bat *res, const int *tt, const BUN *cap, int role);
+str BKCnewBAT(bat *res, const int *tt, const BUN *cap, role_t role);
str BKCreuseBAT(bat *ret, const bat *bid, const bat *did);
str BKCreuseBATmap(bat *ret, const bat *bid, const bat *did);
str BKCsave(bit *res, const char *const *input);
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -555,6 +555,11 @@ typedef enum { GDK_FAIL, GDK_SUCCEED } g
#define ATOMextern(t) (ATOMstorage(t) >= TYPE_str)
+typedef enum {
+ PERSISTENT = 0,
+ TRANSIENT,
+} role_t;
+
/* Heap storage modes */
typedef enum {
STORE_MEM = 0, /* load into GDKmalloced memory */
@@ -785,7 +790,7 @@ typedef struct BAT {
batTransient:1; /* should the BAT persist on disk? */
uint8_t /* adjacent bit fields are packed together (if they fit) */
batRestricted:2; /* access privileges */
- uint8_t batRole; /* role of the bat */
+ role_t batRole; /* role of the bat */
uint16_t unused; /* value=0 for now (sneakily used by mat.c) */
int batSharecnt; /* incoming view count */
@@ -912,7 +917,7 @@ gdk_export void HEAP_free(Heap *heap, va
* @- BAT construction
* @multitable @columnfractions 0.08 0.7
* @item @code{BAT* }
- * @tab COLnew (oid headseq, int tailtype, BUN cap, int role)
+ * @tab COLnew (oid headseq, int tailtype, BUN cap, role_t role)
* @item @code{BAT* }
* @tab BATextend (BAT *b, BUN newcap)
* @end multitable
@@ -930,7 +935,7 @@ gdk_export void HEAP_free(Heap *heap, va
*/
#define BATDELETE (-9999)
-gdk_export BAT *COLnew(oid hseq, int tltype, BUN capacity, int role)
+gdk_export BAT *COLnew(oid hseq, int tltype, BUN capacity, role_t role)
__attribute__((__warn_unused_result__));
gdk_export BAT *BATdense(oid hseq, oid tseq, BUN cnt)
__attribute__((__warn_unused_result__));
@@ -1311,9 +1316,6 @@ gdk_export restrict_t BATgetaccess(BAT *
(b)->theap.dirty || \
((b)->tvheap != NULL && (b)->tvheap->dirty))
-#define PERSISTENT 0
-#define TRANSIENT 1
-
#define BATcapacity(b) (b)->batCapacity
/*
* @- BAT manipulation
@@ -1321,7 +1323,7 @@ gdk_export restrict_t BATgetaccess(BAT *
* @item BAT *
* @tab BATclear (BAT *b, bool force)
* @item BAT *
- * @tab COLcopy (BAT *b, int tt, bool writeable, int role)
+ * @tab COLcopy (BAT *b, int tt, bool writeable, role_t role)
* @end multitable
*
* The routine BATclear removes the binary associations, leading to an
@@ -1330,7 +1332,7 @@ gdk_export restrict_t BATgetaccess(BAT *
* name.
*/
gdk_export gdk_return BATclear(BAT *b, bool force);
-gdk_export BAT *COLcopy(BAT *b, int tt, bool writable, int role);
+gdk_export BAT *COLcopy(BAT *b, int tt, bool writable, role_t role);
gdk_export gdk_return BATgroup(BAT **groups, BAT **extents, BAT **histo, BAT
*b, BAT *s, BAT *g, BAT *e, BAT *h)
__attribute__((__warn_unused_result__));
@@ -2245,7 +2247,7 @@ gdk_export gdk_return void_replace_bat(B
__attribute__((__warn_unused_result__));
gdk_export gdk_return void_inplace(BAT *b, oid id, const void *val, bool force)
__attribute__((__warn_unused_result__));
-gdk_export BAT *BATattach(int tt, const char *heapfile, int role);
+gdk_export BAT *BATattach(int tt, const char *heapfile, role_t role);
#ifdef NATIVE_WIN32
#ifdef _MSC_VER
@@ -2704,7 +2706,7 @@ gdk_export void BATrmprop(BAT *b, enum p
gdk_export BAT *BATselect(BAT *b, BAT *s, const void *tl, const void *th, bool
li, bool hi, bool anti);
gdk_export BAT *BATthetaselect(BAT *b, BAT *s, const void *val, const char
*op);
-gdk_export BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, int
role);
+gdk_export BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, role_t
role);
gdk_export gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT
*sl, BAT *sr)
__attribute__((__warn_unused_result__));
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -66,7 +66,7 @@ BATinit_idents(BAT *bn)
}
BAT *
-BATcreatedesc(oid hseq, int tt, bool heapnames, int role)
+BATcreatedesc(oid hseq, int tt, bool heapnames, role_t role)
{
BAT *bn;
@@ -173,7 +173,7 @@ BATsetdims(BAT *b)
* filenames.
*/
BAT *
-COLnew(oid hseq, int tt, BUN cap, int role)
+COLnew(oid hseq, int tt, BUN cap, role_t role)
{
BAT *bn;
@@ -243,7 +243,7 @@ BATdense(oid hseq, oid tseq, BUN cnt)
}
BAT *
-BATattach(int tt, const char *heapfile, int role)
+BATattach(int tt, const char *heapfile, role_t role)
{
BAT *bn;
char *p;
@@ -656,7 +656,7 @@ wrongtype(int t1, int t2)
*/
/* TODO make it simpler, ie copy per column */
BAT *
-COLcopy(BAT *b, int tt, bool writable, int role)
+COLcopy(BAT *b, int tt, bool writable, role_t role)
{
BUN bunstocopy = BUN_NONE;
BUN cnt;
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -1822,7 +1822,7 @@ BATsort(BAT **sorted, BAT **order, BAT *
/* return a new BAT of length n with seqbase hseq, and the constant v
* in the tail */
BAT *
-BATconstant(oid hseq, int tailtype, const void *v, BUN n, int role)
+BATconstant(oid hseq, int tailtype, const void *v, BUN n, role_t role)
{
BAT *bn;
void *restrict p;
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -316,7 +316,7 @@ BBPinithash(int j)
}
int
-BBPselectfarm(int role, int type, enum heaptype hptype)
+BBPselectfarm(role_t role, int type, enum heaptype hptype)
{
int i;
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -171,7 +171,7 @@ logbat_destroy(BAT *b)
}
static BAT *
-logbat_new(int tt, BUN size, int role)
+logbat_new(int tt, BUN size, role_t role)
{
BAT *nb = COLnew(0, tt, size, role);
@@ -2429,7 +2429,7 @@ logger_changes(logger *lg)
/* Read the last recorded transactions id from a logfile */
lng
-logger_read_last_transaction_id(logger *lg, char *dir, char *logger_file, int
role)
+logger_read_last_transaction_id(logger *lg, char *dir, char *logger_file,
role_t role)
{
char filename[FILENAME_MAX];
FILE *fp;
diff --git a/gdk/gdk_logger.h b/gdk/gdk_logger.h
--- a/gdk/gdk_logger.h
+++ b/gdk/gdk_logger.h
@@ -108,7 +108,7 @@ gdk_export gdk_return logger_restart(log
gdk_export gdk_return logger_cleanup(logger *lg);
gdk_export void logger_with_ids(logger *lg);
gdk_export lng logger_changes(logger *lg);
-gdk_export lng logger_read_last_transaction_id(logger *lg, char *dir, char
*logger_file, int role);
+gdk_export lng logger_read_last_transaction_id(logger *lg, char *dir, char
*logger_file, role_t role);
gdk_export int logger_sequence(logger *lg, int seq, lng *id);
gdk_export gdk_return logger_reload(logger *lg);
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ -49,7 +49,7 @@ enum heaptype {
__attribute__((__visibility__("hidden")));
__hidden bool BATcheckorderidx(BAT *b)
__attribute__((__visibility__("hidden")));
-__hidden BAT *BATcreatedesc(oid hseq, int tt, bool heapnames, int role)
+__hidden BAT *BATcreatedesc(oid hseq, int tt, bool heapnames, role_t role)
__attribute__((__visibility__("hidden")));
__hidden void BATdelete(BAT *b)
__attribute__((__visibility__("hidden")));
@@ -88,7 +88,7 @@ void BBPdump(void) /* never called: for
__hidden bat BBPinsert(BAT *bn)
__attribute__((__warn_unused_result__))
__attribute__((__visibility__("hidden")));
-__hidden int BBPselectfarm(int role, int type, enum heaptype hptype)
+__hidden int BBPselectfarm(role_t role, int type, enum heaptype hptype)
__attribute__((__visibility__("hidden")));
__hidden void BBPunshare(bat b)
__attribute__((__visibility__("hidden")));
diff --git a/monetdb5/modules/kernel/bat5.c b/monetdb5/modules/kernel/bat5.c
--- a/monetdb5/modules/kernel/bat5.c
+++ b/monetdb5/modules/kernel/bat5.c
@@ -166,7 +166,7 @@ oidtostr(oid i, char *p, size_t len)
str
-BKCnewBAT(bat *res, const int *tt, const BUN *cap, int role)
+BKCnewBAT(bat *res, const int *tt, const BUN *cap, role_t role)
{
BAT *bn;
diff --git a/monetdb5/modules/kernel/bat5.h b/monetdb5/modules/kernel/bat5.h
--- a/monetdb5/modules/kernel/bat5.h
+++ b/monetdb5/modules/kernel/bat5.h
@@ -12,7 +12,7 @@
#include "mal.h"
#include "gdk.h"
-mal_export str BKCnewBAT(bat *res, const int *tt, const BUN *cap, int role);
+mal_export str BKCnewBAT(bat *res, const int *tt, const BUN *cap, role_t role);
mal_export str BKCattach(bat *ret, const int *tt, const char * const
*heapfile);
mal_export str BKCdensebat(bat *ret, const lng *size);
mal_export str BKCmirror(bat *ret, const bat *bid);
diff --git a/monetdb5/modules/mal/batExtensions.c
b/monetdb5/modules/mal/batExtensions.c
--- a/monetdb5/modules/mal/batExtensions.c
+++ b/monetdb5/modules/mal/batExtensions.c
@@ -30,7 +30,8 @@
str
CMDBATnew(Client cntxt, MalBlkPtr m, MalStkPtr s, InstrPtr p){
- int tt, kind = TRANSIENT;
+ int tt;
+ role_t kind = TRANSIENT;
BUN cap = 0;
bat *res;
diff --git a/sql/storage/bat/bat_utils.c b/sql/storage/bat/bat_utils.c
--- a/sql/storage/bat/bat_utils.c
+++ b/sql/storage/bat/bat_utils.c
@@ -18,7 +18,7 @@ bat_destroy(BAT *b)
}
BAT *
-bat_new(int tt, BUN size, int role)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list