代码拉取完成,页面将自动刷新
#include "php_rocksdb.h"
#include "rocksdb/db.h"
#include "rocksdb/utilities/transaction.h"
#include "rocksdb/utilities/transaction_db.h"
#include "rocksdb/merge_operator.h"
#include "stringappend.h"
using namespace rocksdb;
extern Snapshot *php_rocksdb_snapshot_get_ptr(zval *zobject);
void check_rocksdb_db_options(Options &op, HashTable *vht)
{
zval *ztmp;
if (php_rocksdb_array_get_value(vht, "create_if_missing", ztmp))
{
op.create_if_missing = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "error_if_exists", ztmp))
{
op.error_if_exists = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "paranoid_checks", ztmp))
{
op.paranoid_checks = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "max_open_files", ztmp))
{
op.max_open_files = zval_get_long(ztmp);
}
if (php_rocksdb_array_get_value(vht, "merge_operator", ztmp))
{
char *delim_char = ZSTR_VAL(zval_get_string(ztmp));
op.merge_operator.reset(new StringAppendOperator(delim_char[0]));
}
}
void check_rocksdb_db_write_options(WriteOptions &wop, HashTable *vht)
{
zval *ztmp;
if (php_rocksdb_array_get_value(vht, "disableWAL", ztmp))
{
wop.disableWAL = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "ignore_missing_column_families", ztmp))
{
wop.ignore_missing_column_families = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "low_pri", ztmp))
{
wop.low_pri = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "no_slowdown", ztmp))
{
wop.no_slowdown = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "sync", ztmp))
{
wop.sync = zval_is_true(ztmp);
}
}
void check_rocksdb_transaction_db_options(TransactionDBOptions &txn_db_options, HashTable *vht)
{
zval *ztmp;
if (php_rocksdb_array_get_value(vht, "default_lock_timeout", ztmp))
{
txn_db_options.default_lock_timeout = zval_get_long(ztmp);
}
if (php_rocksdb_array_get_value(vht, "max_num_deadlocks", ztmp))
{
txn_db_options.max_num_deadlocks = zval_get_long(ztmp);
}
if (php_rocksdb_array_get_value(vht, "max_num_locks", ztmp))
{
txn_db_options.max_num_locks = zval_get_long(ztmp);
}
if (php_rocksdb_array_get_value(vht, "num_stripes", ztmp))
{
txn_db_options.num_stripes = zval_get_long(ztmp);
}
if (php_rocksdb_array_get_value(vht, "rollback_merge_operands", ztmp))
{
txn_db_options.rollback_merge_operands = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "transaction_lock_timeout", ztmp))
{
txn_db_options.transaction_lock_timeout = zval_get_long(ztmp);
}
}
void check_rocksdb_transaction_options(TransactionOptions &txn_options, HashTable *vht)
{
zval *ztmp;
if (php_rocksdb_array_get_value(vht, "deadlock_detect", ztmp))
{
txn_options.deadlock_detect = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "deadlock_detect_depth", ztmp))
{
txn_options.deadlock_detect_depth = zval_get_long(ztmp);
}
if (php_rocksdb_array_get_value(vht, "expiration", ztmp))
{
txn_options.expiration = zval_get_long(ztmp);
}
if (php_rocksdb_array_get_value(vht, "lock_timeout", ztmp))
{
txn_options.lock_timeout = zval_get_long(ztmp);
}
if (php_rocksdb_array_get_value(vht, "max_write_batch_size", ztmp))
{
txn_options.max_write_batch_size = zval_get_long(ztmp);
}
if (php_rocksdb_array_get_value(vht, "set_snapshot", ztmp))
{
txn_options.set_snapshot = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "skip_concurrency_control", ztmp))
{
txn_options.skip_concurrency_control = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "use_only_the_last_commit_time_batch_for_recovery", ztmp))
{
txn_options.use_only_the_last_commit_time_batch_for_recovery = zval_is_true(ztmp);
}
}
void check_rocksdb_db_read_options(ReadOptions &rop, HashTable *vht)
{
zval *ztmp;
if (php_rocksdb_array_get_value(vht, "background_purge_on_iterator_cleanup", ztmp))
{
rop.background_purge_on_iterator_cleanup = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "fill_cache", ztmp))
{
rop.fill_cache = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "ignore_range_deletions", ztmp))
{
rop.ignore_range_deletions = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "managed", ztmp))
{
rop.managed = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "pin_data", ztmp))
{
rop.pin_data = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "prefix_same_as_start", ztmp))
{
rop.prefix_same_as_start = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "snapshot", ztmp))
{
rop.snapshot = php_rocksdb_snapshot_get_ptr(ztmp);
}
if (php_rocksdb_array_get_value(vht, "tailing", ztmp))
{
rop.tailing = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "total_order_seek", ztmp))
{
rop.total_order_seek = zval_is_true(ztmp);
}
if (php_rocksdb_array_get_value(vht, "verify_checksums", ztmp))
{
rop.verify_checksums = zval_is_true(ztmp);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。