1/*
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
7 */
8
9#ifndef _BAT_H_
10#define _BAT_H_
11
12#include "mal.h"
13#include "gdk.h"
14
15mal_export str BKCnewBAT(bat *res, const int *tt, const BUN *cap, role_t role);
16mal_export str BKCattach(bat *ret, const int *tt, const char * const *heapfile);
17mal_export str BKCdensebat(bat *ret, const lng *size);
18mal_export str BKCmirror(bat *ret, const bat *bid);
19mal_export str BKCdelete(bat *r, const bat *bid, const oid *h);
20mal_export str BKCdelete_multi(bat *r, const bat *bid, const bat *sid);
21mal_export str BKCdelete_all(bat *r, const bat *bid);
22mal_export str BKCappend_wrap(bat *r, const bat *bid, const bat *uid);
23mal_export str BKCappend_force_wrap(bat *r, const bat *bid, const bat *uid, const bit *force);
24mal_export str BKCappend_cand_wrap(bat *r, const bat *bid, const bat *uid, const bat *sid);
25mal_export str BKCappend_cand_force_wrap(bat *r, const bat *bid, const bat *uid, const bat *sid, const bit *force);
26mal_export str BKCappend_val_wrap(bat *r, const bat *bid, const void *u);
27mal_export str BKCappend_val_force_wrap(bat *r, const bat *bid, const void *u, const bit *force);
28mal_export str BKCbun_inplace(bat *r, const bat *bid, const oid *id, const void *t);
29mal_export str BKCbat_inplace(bat *r, const bat *bid, const bat *rid, const bat *uid);
30mal_export str BKCbun_inplace_force(bat *r, const bat *bid, const oid *id, const void *t, const bit *force);
31mal_export str BKCbat_inplace_force(bat *r, const bat *bid, const bat *rid, const bat *uid, const bit *force);
32mal_export str BKCgetCapacity(lng *res, const bat *bid);
33mal_export str BKCgetColumnType(str *res, const bat *bid);
34mal_export str BKCgetRole(str *res, const bat *bid);
35mal_export str BKCsetkey(bat *res, const bat *bid, const bit *param);
36mal_export str BKCisSorted(bit *res, const bat *bid);
37mal_export str BKCisSortedReverse(bit *res, const bat *bid);
38mal_export str BKCgetKey(bit *ret, const bat *bid);
39mal_export str BKCsetPersistent(void *r, const bat *bid);
40mal_export str BKCisPersistent(bit *res, const bat *bid);
41mal_export str BKCsetTransient(void *r, const bat *bid);
42mal_export str BKCisTransient(bit *res, const bat *bid);
43mal_export str BKCsetAccess(bat *res, const bat *bid, const char * const *param);
44mal_export str BKCgetAccess(str *res, const bat *bid);
45mal_export str BKCinfo(bat *ret1, bat *ret2, const bat *bid);
46mal_export str BKCgetSize(lng *tot, const bat *bid);
47mal_export str BKCisSynced(bit *ret, const bat *bid1, const bat *bid2);
48mal_export str BKCsetColumn(void *r, const bat *bid, const char * const *tname);
49mal_export str BKCsetName(void *r, const bat *bid, const char * const *s);
50mal_export str BKCgetBBPname(str *ret, const bat *bid);
51mal_export str BKCsave(bit *res, const char * const *input);
52mal_export str BKCsave2(void *r, const bat *bid);
53mal_export str BKCsetHash(bit *ret, const bat *bid);
54mal_export str BKCsetImprints(bit *ret, const bat *bid);
55mal_export str BKCgetSequenceBase(oid *r, const bat *bid);
56mal_export str BKCshrinkBAT(bat *ret, const bat *bid, const bat *did);
57mal_export str BKCreuseBAT(bat *ret, const bat *bid, const bat *did);
58mal_export str BKCreuseBATmap(bat *ret, const bat *bid, const bat *did);
59mal_export str BKCmergecand(bat *ret, const bat *aid, const bat *bid);
60mal_export str BKCintersectcand(bat *ret, const bat *aid, const bat *bid);
61mal_export str BKCdiffcand(bat *ret, const bat *aid, const bat *bid);
62#endif /*_BAT_H_*/
63