kDB: Knowledge DataBase
Loading...
Searching...
No Matches
TripleStore_p.h
1#pragma once
2
3#include "TripleStore.h"
4
5#include <QMutex>
6#include <QVariantMap>
7
8#include <knowCore/Uri.h>
9
10#include "RDFDataset_p.h"
11#include "VersionControl/Transaction_p.h"
12
13namespace kDB::Repository
14{
15 struct TripleStoreNotifications : public QObject
16 {
17 Q_OBJECT
18 signals:
19 void optionsChanged();
20 void metaChanged();
21 };
23 { // Do not change
24 QMutex mutex;
25 TripleStoreNotifications notifications;
26 knowCore::Uri name;
27 QString table;
28 TripleStore::Options options;
29 bool isValid = false;
31 cres_qresult<void> setMeta(const QStringList& _path, const knowCore::Value& _value,
32 const Transaction& _transaction);
37 cres_qresult<knowCore::Value> getMeta(const QStringList& _path,
38 const Transaction& _transaction = Transaction());
39 private:
41 const QStringList& _path,
42 const knowCore::Value& _value);
43 };
45 {
46 Private(const Connection& _connection)
47 : RDFDataset::Private(RDFDataset::Type::TripleStore, _connection)
48 {
49 }
50 ~Private();
52 VersionControl::Manager* manager = nullptr;
53 bool disable_recording_version = false;
54 bool isValid() const override { return definition->isValid; }
55 knowCore::Uri uri() const override { return definition->name; }
56 TSTemporaryTransaction acquireTransaction(TripleStore* _self, const Transaction& _transaction);
57 };
59 {
60 bool own_sql_transaction = false;
61 Transaction sql_transaction;
62
63 cres_qresult<void> commitIfOwn()
64 {
65 if(own_sql_transaction)
66 {
67 return sql_transaction.commit();
68 }
69 else
70 {
71 return cres_success();
72 }
73 }
74 cres_qresult<void> rollback() { return sql_transaction.rollback(); }
75 };
76 KNOWCORE_D_FUNC_DEF(TripleStore)
77} // namespace kDB::Repository
Definition Forward.h:10
Definition Forward.h:6
Definition Connection.h:26
Definition Transaction.h:19
Definition TripleStore.h:19
Definition Uri.h:15
Definition ValueHash.h:13
Definition Value.h:21
Definition RDFDataset_p.h:14
Definition TripleStore_p.h:16
Definition TripleStore_p.h:23
cres_qresult< knowCore::Value > getMeta(const QStringList &_path, const Transaction &_transaction=Transaction())
Definition TripleStore.cpp:107
Definition TripleStore_p.h:45