diff --git a/src/ifcparse/IfcFile.cpp b/src/ifcparse/IfcFile.cpp index 62b38baf35..be5632112f 100644 --- a/src/ifcparse/IfcFile.cpp +++ b/src/ifcparse/IfcFile.cpp @@ -1,8 +1,10 @@ #include "IfcFile.h" #include "IfcLogger.h" +#ifdef IFOPSH_WITH_ROCKSDB #include #include +#endif IfcParse::parse_context::~parse_context() { for (auto& t : tokens_) { @@ -462,7 +464,9 @@ IfcParse::impl::rocks_db_file_storage::rocks_db_file_storage(const std::string& // @todo by_identity is probably not correct here, this mapping is Name -> Identity, so Fn should have access to full pair? // , byidentity_(&byid_, [this](size_t v) { return assert_existance(v, by_identity); }, [](IfcUtil::IfcBaseClass* v) { return v->identity(); }) { +#ifdef IFOPSH_WITH_ROCKSDB wopts.disableWAL = true; +#endif } IfcParse::impl::rocks_db_file_storage::~rocks_db_file_storage() diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index ce7ca45d48..0b0191993f 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -2529,6 +2529,7 @@ std::vector IfcFile::get_inverse_indices(int instance_id) { } } } else if constexpr (std::is_same_v, impl::rocks_db_file_storage>) { +#ifdef IFOPSH_WITH_ROCKSDB // @todo no lower/upper_bounds() implemented yet auto prefix = "v|" + std::to_string(instance_id) + "|"; auto it = std::unique_ptr(x.db->NewIterator(rocksdb::ReadOptions())); @@ -2542,7 +2543,7 @@ std::vector IfcFile::get_inverse_indices(int instance_id) { } it->Next(); } - +#endif } }, storage_);