6#include <imtmdbx/IDocumentTable.h>
16class CDocumentTable:
virtual public IDocumentTable
21 mdbx::txn_managed& txn,
22 mdbx::key_mode keyMode = mdbx::key_mode::reverse,
23 mdbx::value_mode valueMode = mdbx::value_mode::single,
24 bool hasIndex =
false);
28 virtual quint64 AddDocument(
const QByteArray& data)
override;
29 virtual quint64 AddDocument(quint64 data)
override;
30 virtual quint64 AddDocument(
const QByteArray& key,
const QByteArray& data)
override;
31 virtual QByteArray GetDocument()
override;
32 virtual QByteArray GetDocument(quint64 key)
override;
33 virtual QByteArray GetDocument(
const QByteArray& key)
override;
34 virtual bool GetKey(quint64& key)
const override;
35 virtual bool GetKey(QByteArray& key)
const override;
36 virtual bool HasRecord(quint64 key)
override;
37 virtual bool HasRecord(
const QByteArray& key)
override;
38 virtual bool UpdateDocument(quint64 key,
const QByteArray& data)
override;
39 virtual bool UpdateDocument(
const QByteArray& key,
const QByteArray& data)
override;
40 virtual bool GetKey(quint64& key,
const QByteArray& value = QByteArray())
override;
41 virtual bool GetFirstKey(quint64& key)
override;
42 virtual bool GetLastKey(quint64& key)
override;
43 virtual QByteArray GetKeyBA(
const QByteArray& value = QByteArray())
override;
44 virtual bool CreateIndex()
override;
45 virtual bool MoveTo(quint64 key)
override;
46 virtual bool MoveTo(
const QByteArray& key)
override;
47 virtual bool MoveToFirst()
override;
48 virtual bool MoveToLast()
override;
49 virtual bool MoveToLowerBound(quint64 key)
override;
50 virtual bool MoveToLowerBound(
const QByteArray& key)
override;
51 virtual bool MoveToUpperBound(quint64 key)
override;
52 virtual bool MoveToUpperBound(
const QByteArray& key)
override;
53 virtual bool MoveToNext()
override;
54 virtual bool MoveToPrevious()
override;
55 virtual bool MoveToValue(
const QByteArray& value)
override;
56 virtual bool RemoveDocument()
override;
57 virtual bool RemoveDocument(quint64 key,
const QByteArray& value = QByteArray())
override;
58 virtual bool RemoveDocument(
const QByteArray& key,
const QByteArray& value = QByteArray())
override;
60 bool CloseTable(mdbx::env_managed& env);
63 virtual quint64 AddDocument(
66 const QByteArray& keyStr = QByteArray());
67 virtual bool UpdateDocument(
70 const QByteArray& data);
71 virtual bool Exists(
const QString& name);
75 mdbx::txn_managed& m_txn;
76 mdbx::cursor_managed m_cursor;
77 mdbx::map_handle m_mapHandle;
78 mdbx::cursor_managed m_cursorIndex;
79 mdbx::map_handle m_mapHandleIndex;
80 mdbx::key_mode m_keyMode;
81 mdbx::value_mode m_valueMode;