summaryrefslogtreecommitdiff
path: root/lang/java/libdb_java/db.i
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-02-17 17:25:57 +0000
committer <>2015-03-17 16:26:24 +0000
commit780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch)
tree598f8b9fa431b228d29897e798de4ac0c1d3d970 /lang/java/libdb_java/db.i
parent7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff)
downloadberkeleydb-master.tar.gz
Imported from /home/lorry/working-area/delta_berkeleydb/db-6.1.23.tar.gz.HEADdb-6.1.23master
Diffstat (limited to 'lang/java/libdb_java/db.i')
-rw-r--r--lang/java/libdb_java/db.i223
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 {