22 #ifndef EJDB_C_EJDB_HPP
23 #define EJDB_C_EJDB_HPP
25 #include <tcejdb/tcutil.h>
32 typedef struct EJDB EJDB;
35 typedef struct EJCOLL EJCOLL;
38 typedef struct EJQ EJQ;
40 typedef TCLIST* EJQRESULT;
72 bool open(EJDB* jb,
const char* path,
int mode);
78 EJCOLL*
getcoll(EJDB* jb,
const char* colname);
81 std::vector<EJCOLL*>
getcolls(EJDB* jb);
84 EJCOLL*
createcoll(EJDB* jb,
const char* colname,
void* opts);
87 bool rmcoll(EJDB* jb,
const char* colname,
bool unlinkfile);
90 bool savebson(EJCOLL* jcoll,
const std::vector<char>& bsdata,
char oid[12],
bool merge,
int* err);
93 bool rmbson(EJCOLL* coll,
char oid[12]);
96 std::vector<char>
loadbson(EJCOLL* coll,
const char oid[12]);
102 EJQ*
queryaddor(EJDB* jb, EJQ* q,
const void* orbsdata);
105 EJQ*
queryhints(EJDB* jb, EJQ* q,
const void* hintsbsdata);
111 bool setindex(EJCOLL* coll,
const char* ipath,
int flags);
114 EJQRESULT
qryexecute(EJCOLL* jcoll,
const EJQ* q, uint32_t* count,
int qflags);
144 bool transtatus(EJCOLL* jcoll,
bool* txactive);
147 std::vector<char>
metadb(EJDB* jb);
154 #endif // EJDB_C_EJDB_HPP
std::vector< char > metadb(EJDB *jb)
Returns transformation of ejdbmeta(jb)
Definition: c_ejdb.cpp:121
bool open(EJDB *jb, const char *path, int mode)
Returns ejdbopen(jb, path, mode)
Definition: c_ejdb.cpp:45
EJQ * queryaddor(EJDB *jb, EJQ *q, const void *orbsdata)
Returns ejdbqueryaddor(jb, q, orbsdata)
Definition: c_ejdb.cpp:91
EJCOLL * getcoll(EJDB *jb, const char *colname)
Returns ejdbgetcoll(jb, colname)
Definition: c_ejdb.cpp:49
bool tranbegin(EJCOLL *coll)
Returns ejdbtranbegin(coll)
Definition: c_ejdb.cpp:113
bool savebson(EJCOLL *jcoll, const std::vector< char > &bsdata, char oid[12], bool merge, int *err)
Returns ejdbsavebson3(coll, bsdata, oid, merge)
Definition: c_ejdb.cpp:61
void qresultdispose(EJQRESULT qr)
Calls ejdbqresultdispose(qr)
Definition: c_ejdb.cpp:107
bool closedb(EJDB *jb)
Returns ejdbclose(jb)
Definition: c_ejdb.cpp:43
EJQ * queryhints(EJDB *jb, EJQ *q, const void *hintsbsdata)
Returns ejdbqueryhints(jb, q, hintsbsdata)
Definition: c_ejdb.cpp:93
bool isopen(EJDB *jb)
Returns ejdbisopen(jb)
Definition: c_ejdb.cpp:47
void del(EJDB *jb)
Calls ejdbdel(jb)
Definition: c_ejdb.cpp:41
int qresultnum(EJQRESULT qr)
Returns ejdbqresultnum(qr)
Definition: c_ejdb.cpp:103
const char * version()
Returns ejdbversion()
Definition: c_ejdb.cpp:31
bool syncdb(EJDB *jb)
Returns ejdbsyncdb(jb)
Definition: c_ejdb.cpp:111
void querydel(EJQ *q)
Calls ejdbquerydel(q)
Definition: c_ejdb.cpp:95
std::vector< EJCOLL * > getcolls(EJDB *jb)
Returns a transformation of ejdbgetcolls(jb)
Definition: c_ejdb.cpp:51
bool trancommit(EJCOLL *coll)
Returns ejdbtrancommit(coll)
Definition: c_ejdb.cpp:115
EJQRESULT qryexecute(EJCOLL *jcoll, const EJQ *q, uint32_t *count, int qflags)
Returns ejdbqryexecute(jcoll, q, count, qflags, nullptr)
Definition: c_ejdb.cpp:99
EJDB * newdb(void)
Returns ejdbnew()
Definition: c_ejdb.cpp:39
EJCOLL * createcoll(EJDB *jb, const char *colname, void *opts)
Returns ejdbcreatecoll(jb, colname, opts)
Definition: c_ejdb.cpp:55
bool setindex(EJCOLL *coll, const char *ipath, int flags)
Returns ejdbsetindex(coll, ipath, flags.
Definition: c_ejdb.cpp:97
EJQ * createquery(EJDB *jb, const void *qbsdata)
Returns ejdbcreatequery2(jb, qbsdata)
Definition: c_ejdb.cpp:89
const char * errmsg(int ecode)
Returns ejdberrmsg(ecode)
Definition: c_ejdb.cpp:35
bool isvalidoidstr(const char *oid)
Returns ejdbisvalidoidstr(oid)
Definition: c_ejdb.cpp:33
bool syncoll(EJCOLL *jcoll)
Returns ejdbsyncoll(jcoll)
Definition: c_ejdb.cpp:109
std::string collection_name(EJCOLL *coll)
Returns name of a collection.
Definition: c_ejdb.cpp:130
std::vector< char > loadbson(EJCOLL *coll, const char oid[12])
Returns transformation of ejdbloadbson(coll, oid)
Definition: c_ejdb.cpp:73
bool rmcoll(EJDB *jb, const char *colname, bool unlinkfile)
Returns ejdbrmcoll(jb, collname, unlinkfile)
Definition: c_ejdb.cpp:59
int ecode(EJDB *jb)
Returns ejdbecode(jb)
Definition: c_ejdb.cpp:37
bool rmbson(EJCOLL *coll, char oid[12])
Returns ejdbrmbson(coll, oid)
Definition: c_ejdb.cpp:71
const void * qresultbsondata(EJQRESULT qr, int pos, int *size)
Returns ejdbqresultbsondata(qr, pos, size)
Definition: c_ejdb.cpp:105
bool transtatus(EJCOLL *jcoll, bool *txactive)
Returns ejdbtranstatus(jcoll, txactive)
Definition: c_ejdb.cpp:119
bool tranabort(EJCOLL *coll)
Returns ejdbtranabort(coll)
Definition: c_ejdb.cpp:117