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