// // Created by Ziyang Hu on 2022/4/13. // #include "cozorocks.h" #include "cozorocks/src/bridge.rs.h" void write_status_impl(BridgeStatus &status, StatusCode code, StatusSubCode subcode, StatusSeverity severity, int bridge_code) { status.code = code; status.subcode = subcode; status.severity = severity; status.bridge_code = static_cast(bridge_code); } BridgeStatus IteratorBridge::status() const { BridgeStatus s; write_status(inner->status(), s); return s; } //unique_ptr> TransactionBridge::multiget_txn( //// const ColumnFamilyHandle &cf, // rust::Slice> keys, // rust::Slice statuses) const { // auto cpp_keys = vector(); // cpp_keys.reserve(keys.size()); // for (auto key: keys) { // auto cpp_key = convert_slice(key); // cpp_keys.push_back(cpp_key); // } // auto ret = make_unique>(keys.size()); // auto cpp_statuses = vector(keys.size()); // inner->MultiGet(*r_ops, // raw_db->DefaultColumnFamily(), //// const_cast(&cf), // keys.size(), // cpp_keys.data(), // ret->data(), // cpp_statuses.data()); // for (size_t i = 0; i < cpp_statuses.size(); ++i) { // write_status(std::move(cpp_statuses[i]), statuses[i]); // } // return ret; //} // //unique_ptr> TransactionBridge::multiget_raw( //// const ColumnFamilyHandle &cf, // rust::Slice> keys, // rust::Slice statuses) const { // auto cpp_keys = vector(); // cpp_keys.reserve(keys.size()); // for (auto key: keys) { // auto cpp_key = convert_slice(key); // cpp_keys.push_back(cpp_key); // } // auto ret = make_unique>(keys.size()); // auto cpp_statuses = vector(keys.size()); // raw_db->MultiGet(*r_ops, // raw_db->DefaultColumnFamily(), //// const_cast(&cf), // keys.size(), // cpp_keys.data(), // ret->data(), // cpp_statuses.data()); // for (size_t i = 0; i < cpp_statuses.size(); ++i) { // write_status(std::move(cpp_statuses[i]), statuses[i]); // } // return ret; //}