diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-02-17 17:25:57 +0000 |
---|---|---|
committer | <> | 2015-03-17 16:26:24 +0000 |
commit | 780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch) | |
tree | 598f8b9fa431b228d29897e798de4ac0c1d3d970 /lang/java/libdb_java/db.i | |
parent | 7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff) | |
download | berkeleydb-master.tar.gz |
Diffstat (limited to 'lang/java/libdb_java/db.i')
-rw-r--r-- | lang/java/libdb_java/db.i | 223 |
1 files changed, 213 insertions, 10 deletions
diff --git a/lang/java/libdb_java/db.i b/lang/java/libdb_java/db.i index 0199a167..75ecf080 100644 --- a/lang/java/libdb_java/db.i +++ b/lang/java/libdb_java/db.i @@ -18,6 +18,7 @@ typedef unsigned char u_int8_t; typedef long int32_t; +typedef long long db_off_t; typedef long long db_seq_t; typedef long long pid_t; #ifndef SWIGJAVA @@ -43,6 +44,7 @@ struct DbLsn; typedef struct DbLsn DB_LSN; struct DbMpoolFile; typedef struct DbMpoolFile DB_MPOOLFILE; struct DbSequence; typedef struct Db DB_SEQUENCE; struct DbSite; typedef struct DbSite DB_SITE; +struct DbStream; typedef struct DbStream DB_STREAM; struct DbTxn; typedef struct DbTxn DB_TXN; /* Methods that allocate new objects */ @@ -138,6 +140,24 @@ struct Db return ret; } + const char *get_blob_dir() { + const char *ret; + errno = self->get_blob_dir(self, &ret); + return ret; + } + + const char *get_blob_sub_dir() { + const char *ret; + errno = self->get_blob_sub_dir(self, &ret); + return ret; + } + + u_int32_t get_blob_threshold () { + u_int32_t ret = 0; + errno = self->get_blob_threshold(self, &ret); + return ret; + } + int_bool get_byteswapped() { int ret = 0; errno = self->get_byteswapped(self, &ret); @@ -282,9 +302,13 @@ struct Db return ret; } - DBT *get_partition_keys() { - DBT *ret = NULL; - errno = self->get_partition_keys(self, NULL, &ret); + /* __dbt_arr is used to differentiate from DBT * as a return value. */ + struct __dbt_arr get_partition_keys() { + struct __dbt_arr ret; + u_int32_t len; + errno = self->get_partition_keys(self, &len, &ret.arr_ptr); + ret.len = (int)len; + ret.len--; return ret; } @@ -383,8 +407,16 @@ struct Db return self->set_append_recno(self, db_append_recno_fcn); } + db_ret_t set_blob_dir(const char *dir) { + return self->set_blob_dir(self, dir); + } + + db_ret_t set_blob_threshold(u_int32_t bytes, u_int32_t flags) { + return self->set_blob_threshold(self, bytes, flags); + } + db_ret_t set_bt_compare( - int (*bt_compare_fcn)(DB *, const DBT *, const DBT *)) { + int (*bt_compare_fcn)(DB *, const DBT *, const DBT *, size_t *)) { return self->set_bt_compare(self, bt_compare_fcn); } @@ -417,7 +449,7 @@ struct Db } db_ret_t set_dup_compare( - int (*dup_compare_fcn)(DB *, const DBT *, const DBT *)) { + int (*dup_compare_fcn)(DB *, const DBT *, const DBT *, size_t *)) { return self->set_dup_compare(self, dup_compare_fcn); } @@ -457,7 +489,7 @@ struct Db } db_ret_t set_h_compare( - int (*h_compare_fcn)(DB *, const DBT *, const DBT *)) { + int (*h_compare_fcn)(DB *, const DBT *, const DBT *, size_t *)) { return self->set_h_compare(self, h_compare_fcn); } @@ -488,6 +520,33 @@ struct Db } #endif /* SWIGJAVA */ + int set_msgfile(const char *msgfile) { + int ret; + FILE *fmsg; + ret = 0; + fmsg = NULL; + self->get_msgfile(self, &fmsg); + if (fmsg != NULL && fmsg != stdout && fmsg != stderr) { + fclose(fmsg); + fmsg = NULL; + } + if (strcmp(msgfile, "") == 0 || msgfile == NULL) + self->set_msgfile(self, NULL); + else if (strcmp(msgfile, "stdout") == 0) + self->set_msgfile(self, stdout); + else if (strcmp(msgfile, "stderr") == 0) + self->set_msgfile(self, stderr); + else { + fmsg = fopen(msgfile, "a"); + if (fmsg != NULL) { + self->set_msgfile(self, fmsg); + } + else + ret = 1; + } + return ret; + } + db_ret_t set_pagesize(u_int32_t pagesize) { return self->set_pagesize(self, pagesize); } @@ -542,6 +601,10 @@ struct Db return statp; } + int stat_print(u_int32_t flags) { + return self->stat_print(self, flags); + } + JAVA_EXCEPT(DB_RETOK_STD, DB2JDBENV) db_ret_t sync(u_int32_t flags) { return self->sync(self, flags); @@ -601,6 +664,13 @@ struct Dbc return count; } + JAVA_EXCEPT_ERRNO(DB_RETOK_STD, DB2JDBENV) + DB_STREAM *db_stream(u_int32_t flags) { + DB_STREAM *dbsp = NULL; + errno = self->db_stream(self, &dbsp, flags); + return dbsp; + } + JAVA_EXCEPT(DB_RETOK_DBCDEL, DBC2JDBENV) int del(u_int32_t flags) { return self->del(self, flags); @@ -737,6 +807,18 @@ struct DbEnv } JAVA_EXCEPT_ERRNO(DB_RETOK_STD, JDBENV) + const char *get_blob_dir() { + const char *ret; + errno = self->get_blob_dir(self, &ret); + return ret; + } + + u_int32_t get_blob_threshold() { + u_int32_t ret; + errno = self->get_blob_threshold(self, &ret); + return ret; + } + const char **get_data_dirs() { const char **ret; errno = self->get_data_dirs(self, &ret); @@ -826,6 +908,14 @@ struct DbEnv } JAVA_EXCEPT(DB_RETOK_STD, JDBENV) + db_ret_t set_blob_dir(const char *dir) { + return self->set_blob_dir(self, dir); + } + + db_ret_t set_blob_threshold(u_int32_t bytes, u_int32_t flags) { + return self->set_blob_threshold(self, bytes, flags); + } + db_ret_t set_cachesize(jlong bytes, int ncache) { return self->set_cachesize(self, (u_int32_t)(bytes / GIGABYTE), @@ -904,6 +994,33 @@ struct DbEnv self->set_msgcall(self, db_msgcall_fcn); } + int set_msgfile(const char *msgfile) { + int ret; + FILE *fmsg; + ret = 0; + fmsg = NULL; + self->get_msgfile(self, &fmsg); + if (fmsg != NULL && fmsg != stdout && fmsg != stderr) { + fclose(fmsg); + fmsg = NULL; + } + if (strcmp(msgfile, "") == 0 || msgfile == NULL) + self->set_msgfile(self, NULL); + else if (strcmp(msgfile, "stdout") == 0) + self->set_msgfile(self, stdout); + else if (strcmp(msgfile, "stderr") == 0) + self->set_msgfile(self, stderr); + else { + fmsg = fopen(msgfile, "a"); + if (fmsg != NULL) { + self->set_msgfile(self, fmsg); + } + else + ret = 1; + } + return ret; + } + JAVA_EXCEPT(DB_RETOK_STD, JDBENV) db_ret_t set_paniccall(void (*db_panic_fcn)(DB_ENV *, int)) { return self->set_paniccall(self, db_panic_fcn); @@ -1043,6 +1160,10 @@ struct DbEnv return statp; } + int lock_stat_print(u_int32_t flags) { + return self->lock_stat_print(self, flags); + } + #ifndef SWIGJAVA /* For Java, this is defined in native code */ db_ret_t lock_vec(u_int32_t locker, u_int32_t flags, DB_LOCKREQ *list, @@ -1187,6 +1308,10 @@ struct DbEnv return sp; } + int log_stat_print(u_int32_t flags) { + return self->log_stat_print(self, flags); + } + int log_verify(const char *envhome, u_int32_t cachesz, const char *dbfile, const char *dbname, time_t stime, time_t etime, @@ -1289,6 +1414,10 @@ struct DbEnv return mp_stat; } + int memp_stat_print(u_int32_t flags) { + return self->memp_stat_print(self, flags); + } + DB_MPOOL_FSTAT **memp_fstat(u_int32_t flags) { DB_MPOOL_FSTAT **mp_fstat = NULL; errno = self->memp_stat(self, NULL, &mp_fstat, flags); @@ -1366,6 +1495,10 @@ struct DbEnv return statp; } + int mutex_stat_print(u_int32_t flags) { + return self->mutex_stat_print(self, flags); + } + /* Transaction functions */ u_int32_t get_tx_max() { u_int32_t ret; @@ -1385,6 +1518,10 @@ struct DbEnv return ret; } + int stat_print(u_int32_t flags) { + return self->stat_print(self, flags); + } + JAVA_EXCEPT(DB_RETOK_TXNAPPLIED, JDBENV) int txn_applied(DB_TXN_TOKEN *token, u_int32_t maxwait, u_int32_t flags) { return self->txn_applied(self, token, maxwait, flags); @@ -1429,6 +1566,10 @@ struct DbEnv return statp; } + int txn_stat_print(u_int32_t flags) { + return self->txn_stat_print(self, flags); + } + /* Replication functions */ jlong rep_get_limit() { u_int32_t gbytes, bytes; @@ -1496,6 +1637,10 @@ struct DbEnv return statp; } + int rep_stat_print(u_int32_t flags) { + return self->rep_stat_print(self, flags); + } + JAVA_EXCEPT(DB_RETOK_STD, JDBENV) db_ret_t rep_set_limit(jlong bytes) { return self->rep_set_limit(self, @@ -1533,6 +1678,11 @@ struct DbEnv return self->rep_set_transport(self, envid, send); } + db_ret_t rep_set_view(int (*rep_view_fcn)(DB_ENV *, + const char *, int *, u_int32_t)) { + return self->rep_set_view(self, rep_view_fcn); + } + /* Advanced replication functions. */ JAVA_EXCEPT_ERRNO(DB_RETOK_STD, JDBENV) u_int32_t rep_get_nsites() { @@ -1573,6 +1723,13 @@ struct DbEnv return ret; } + JAVA_EXCEPT_ERRNO(DB_RETOK_STD, JDBENV) + jlong repmgr_get_incoming_queue_max() { + u_int32_t gbytes = 0, bytes = 0; + errno = self->repmgr_get_incoming_queue_max(self, &gbytes, &bytes); + return (jlong)gbytes * GIGABYTE + bytes; + } + JAVA_EXCEPT_ERRNO(DB_RETOK_REPMGR_LOCALSITE, JDBENV) DB_SITE *repmgr_local_site() { DB_SITE *site = NULL; @@ -1585,6 +1742,13 @@ struct DbEnv return self->repmgr_set_ack_policy(self, policy); } + JAVA_EXCEPT(DB_RETOK_STD, JDBENV) + db_ret_t repmgr_set_incoming_queue_max(jlong bytes) { + return self->repmgr_set_incoming_queue_max(self, + (u_int32_t)(bytes / GIGABYTE), + (u_int32_t)(bytes % GIGABYTE)); + } + JAVA_EXCEPT_ERRNO(DB_RETOK_STD, JDBENV) DB_SITE *repmgr_site(const char *host, u_int port) { DB_SITE *site = NULL; @@ -1624,9 +1788,18 @@ struct DbEnv return statp; } + int repmgr_stat_print(u_int32_t flags) { + return self->repmgr_stat_print(self, flags); + } + u_int32_t get_backup_config(u_int32_t config_type) { u_int32_t ret; errno = self->get_backup_config(self, (DB_BACKUP_CONFIG)config_type, &ret); + if (errno == EINVAL) { + errno = 0; + ret = 0; + } + return ret; } @@ -1812,14 +1985,14 @@ struct DbSequence } JAVA_EXCEPT_ERRNO(DB_RETOK_STD, NULL) - db_seq_t get(DB_TXN *txnid, int32_t delta, u_int32_t flags) { + db_seq_t get(DB_TXN *txnid, u_int32_t delta, u_int32_t flags) { db_seq_t ret = 0; errno = self->get(self, txnid, delta, &ret, flags); return ret; } - int32_t get_cachesize() { - int32_t ret = 0; + u_int32_t get_cachesize() { + u_int32_t ret = 0; errno = self->get_cachesize(self, &ret); return ret; } @@ -1867,7 +2040,7 @@ struct DbSequence return self->remove(self, txnid, flags); } - db_ret_t set_cachesize(int32_t size) { + db_ret_t set_cachesize(u_int32_t size) { return self->set_cachesize(self, size); } @@ -1885,6 +2058,10 @@ struct DbSequence errno = self->stat(self, &ret, flags); return ret; } + + int stat_print(u_int32_t flags) { + return self->stat_print(self, flags); + } } }; @@ -1926,6 +2103,32 @@ struct DbSite } }; +struct DbStream +{ +%extend { + JAVA_EXCEPT(DB_RETOK_STD, NULL) + db_ret_t close(u_int32_t flags) { + return self->close(self, flags); + } + + int read(DBT *data, db_off_t offset, u_int32_t size, u_int32_t flags) { + return self->read(self, data, offset, size, flags); + } + + JAVA_EXCEPT_ERRNO(DB_RETOK_STD, NULL) + db_off_t size(u_int32_t flags) { + db_off_t ret = 0; + errno = self->size(self, &ret, flags); + return ret; + } + + JAVA_EXCEPT(DB_RETOK_STD, NULL) + int write(DBT *data, db_off_t offset, u_int32_t flags) { + return self->write(self, data, offset, flags); + } +} +}; + struct DbTxn { %extend { |