kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Connection_p.h
1#include "Connection.h"
2#include <knowRDF/BlankNode.h>
3
4#include <libpq-fe.h>
5
6#include <QMutex>
7#include <QHash>
8#include <QSharedPointer>
9#include <QUuid>
10
11#include <Cyqlops/Crypto/RSAAlgorithm.h>
12
13#include "krQuery/Engine.h"
14
15namespace kDB
16{
17 namespace Repository
18 {
20 {
21 Private();
22 ~Private();
23 void disconnect();
24
25 void addOid(Oid _oid, const QString& _name) const;
26
28 QAtomicInt self_p_count; // TODO Ugly, duplicate the counting from the shared pointer, maybe use QSharedDataPointer in the future?
29
30 QString host, database;
31 int port;
32
33 QMutex connections_lock;
34 QList<PGconn*> connections;
35 QList<PGconn*> available_connections;
36
37 QStringList kdb_rdf_value_type_enum_values;
38
39 mutable QMutex metainformation_lock;
40
41 mutable QHash<Oid, QString> oids2name;
42 mutable QHash<QString, Oid> name2oid;
43 QString oidToName(Oid _oid) const;
44 Oid nameToOid(const QString& _name) const;
45
46 GraphsManager* graphsManager = nullptr;
47 SPARQLFunctionsManager* sparqlFunctionsManager = nullptr;
48 NotificationsManager* notificationsManager = nullptr;
49
50 knowCore::ReturnVoid load_sql_files(PGconn* _conn, const QStringList& _files);
51 knowCore::ReturnVoid execute_sql_query(PGconn* _conn, const QByteArray& _query);
52
57
60
63
64 knowCore::ReturnValue<knowCore::Value> toValue(const QString& _oid, const QByteArray& _source);
65 knowCore::ReturnValue<QByteArray> toByteArray(const knowCore::Value& _source, QString& _oidName);
66
67 void write(const knowCore::Value& val, QByteArray* r, Oid* oid, bool* is_binary, bool* is_valid);
68
70 knowRDF::BlankNode blankNode(const QString& _url);
71
72 QUuid m_server_uuid;
73 Cyqlops::Crypto::RSAAlgorithm m_rsa_algorithm;
74
75 QHash<QString, QHash<QString, QString>> prefix2key2tablename;
76
77 QString uniqueTableName(const QString& _prefix, const QString& _key);
78
79 QStringList loadedExtensions, enabledExtensions;
80 knowCore::ReturnVoid loadExtension(const QString& _extension);
81 knowCore::ReturnVoid loadExtensions();
82
83 QUuid uuid;
84
85 QHash<QUuid, std::function<void()>> disconnection_listener;
86 QHash<QUuid, std::function<void(const Connection&)>> connection_listener;
87 QMap<std::type_index, QObject*> extensionObjects;
88
89 krQuery::Engine* krQueryEngine = nullptr;
90 };
91 }
92}
Definition Forward.h:10
Definition Revision.h:9
Definition Forward.h:12
Definition Connection.h:25
quint64 oid(const QString &_type) const
Definition Connection.cpp:845
Definition GraphsManager.h:10
Definition NotificationsManager.h:11
Definition SPARQLFunctionsManager.h:11
Definition Engine.h:13
Definition Value.h:21
Definition WeakReference.h:18
Definition BlankNode.h:25
Definition Connection_p.h:20
void update_kdb_rdf_value_type_enum_values()
Definition Connection.cpp:204