Packages
rocksdb
3.1.1
3.1.1
3.1.0
3.0.0
2.6.2
2.6.1
retired
2.6.0
retired
2.5.0
2.4.1
2.4.0
2.3.0
2.2.0
2.1.0
2.0.0
1.9.0
1.8.0
1.7.0
1.6.0
1.5.1
1.5.0
1.4.0
1.3.2
1.3.1
1.3.0
1.2.0
1.1.1
1.1.0
1.0.0
0.26.2
0.26.1
0.26.0
0.25.0
0.24.0
0.23.3
0.23.2
0.23.1
0.23.0
0.22.0
0.21.0
0.20.1
0.20.0
0.19.0
0.18.0
0.17.0
0.16.0
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.0
0.10.0
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
RocksDB for Erlang
Current section
Files
Jump to
Current section
Files
c_src/pessimistic_transaction.h
// -------------------------------------------------------------------
// Copyright (c) 2016-2026 Benoit Chesneau. All Rights Reserved.
//
// This file is provided to you under the Apache License,
// Version 2.0 (the "License"); you may not use this file
// except in compliance with the License. You may obtain
// a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
// -------------------------------------------------------------------
#pragma once
#ifndef INCL_PESSIMISTIC_TRANSACTION_H
#define INCL_PESSIMISTIC_TRANSACTION_H
#include "erl_nif.h"
namespace erocksdb {
// Transaction creation and lifecycle
ERL_NIF_TERM NewPessimisticTransaction(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM ReleasePessimisticTransaction(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
// Basic operations
ERL_NIF_TERM PessimisticTransactionPut(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM PessimisticTransactionGet(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM PessimisticTransactionGetForUpdate(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM PessimisticTransactionMultiGet(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM PessimisticTransactionMultiGetForUpdate(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM PessimisticTransactionDelete(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
// Transaction control
ERL_NIF_TERM PessimisticTransactionCommit(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM PessimisticTransactionRollback(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
// Iterator
ERL_NIF_TERM PessimisticTransactionIterator(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
// Savepoint operations
ERL_NIF_TERM PessimisticTransactionSetSavepoint(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM PessimisticTransactionRollbackToSavepoint(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM PessimisticTransactionPopSavepoint(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
// Transaction information
ERL_NIF_TERM PessimisticTransactionGetId(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
ERL_NIF_TERM PessimisticTransactionGetWaitingTxns(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
} // namespace erocksdb
#endif // INCL_PESSIMISTIC_TRANSACTION_H