diff --git a/src_py/_lbug_capi.py b/src_py/_lbug_capi.py index 05fc7a6..75e4f80 100644 --- a/src_py/_lbug_capi.py +++ b/src_py/_lbug_capi.py @@ -23,6 +23,7 @@ class _LbugSystemConfig(ctypes.Structure): ("checkpoint_threshold", ctypes.c_uint64), ("throw_on_wal_replay_failure", ctypes.c_bool), ("enable_checksums", ctypes.c_bool), + ("enable_multi_writes", ctypes.c_bool), ] if sys.platform == "darwin": _fields_.append(("thread_qos", ctypes.c_uint32)) @@ -972,10 +973,6 @@ def __init__( enable_checksums: bool = True, enable_multi_writes: bool = False, ): - if enable_multi_writes: - raise NotImplementedError( - "enable_multi_writes is not yet wired in C-API backend" - ) self._database = _LbugDatabase() config = _LIB.lbug_default_system_config() config.buffer_pool_size = buffer_pool_size @@ -988,6 +985,7 @@ def __init__( config.checkpoint_threshold = checkpoint_threshold config.throw_on_wal_replay_failure = throw_on_wal_replay_failure config.enable_checksums = enable_checksums + config.enable_multi_writes = enable_multi_writes state = _LIB.lbug_database_init( database_path.encode("utf-8"), config, ctypes.byref(self._database) diff --git a/test/capi_xfails.py b/test/capi_xfails.py index de79b45..e963585 100644 --- a/test/capi_xfails.py +++ b/test/capi_xfails.py @@ -25,8 +25,6 @@ "test/test_issue.py::test_empty_list2", "test/test_issue.py::test_empty_map", "test/test_json.py::test_to_json_string_param_roundtrip", - "test/test_mvcc_bank.py::test_multi_writer_no_anomalies", - "test/test_mvcc_bank.py::test_multi_writer_stress_no_anomalies", "test/test_parameter.py::test_empty_list_param", "test/test_parameter.py::test_map_param", "test/test_parameter.py::test_general_list_param",