Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qsql_oci_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QSQL_OCI_H
6#define QSQL_OCI_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtSql/qsqldriver.h>
20#include <QtSql/private/qsqlcachedresult_p.h>
21
22#ifdef QT_PLUGIN
23#define Q_EXPORT_SQLDRIVER_OCI
24#else
25#define Q_EXPORT_SQLDRIVER_OCI Q_SQL_EXPORT
26#endif
27
28typedef struct OCIEnv OCIEnv;
29typedef struct OCISvcCtx OCISvcCtx;
30
31QT_BEGIN_NAMESPACE
32
33class QSqlResult;
36
37class Q_EXPORT_SQLDRIVER_OCI QOCIDriver : public QSqlDriver
38{
39 Q_DECLARE_PRIVATE(QOCIDriver)
40 Q_OBJECT
41 friend class QOCICols;
42 friend class QOCIResultPrivate;
43
44public:
45 explicit QOCIDriver(QObject *parent = nullptr);
46 QOCIDriver(OCIEnv *env, OCISvcCtx *ctx, QObject *parent = nullptr);
47 ~QOCIDriver();
48 bool hasFeature(DriverFeature f) const override;
49 bool open(const QString &db,
50 const QString &user,
51 const QString &password,
52 const QString &host,
53 int port,
54 const QString &connOpts) override;
55 void close() override;
56 QSqlResult *createResult() const override;
57 QStringList tables(QSql::TableType) const override;
58 QSqlRecord record(const QString &tablename) const override;
59 QSqlIndex primaryIndex(const QString& tablename) const override;
60 QString formatValue(const QSqlField &field,
61 bool trimStrings) const override;
62 QVariant handle() const override;
63 QString escapeIdentifier(const QString &identifier, IdentifierType) const override;
64 int maximumIdentifierLength(IdentifierType type) const override;
65
66protected:
67 bool beginTransaction() override;
68 bool commitTransaction() override;
69 bool rollbackTransaction() override;
70};
71
72class Q_EXPORT_SQLDRIVER_OCI QOCIResult : public QSqlCachedResult
73{
74 friend class QOCICols;
75public:
76 explicit QOCIResult(const QOCIDriver * db);
77 ~QOCIResult() override;
78 bool prepare(const QString& query) override;
79 bool exec() override;
80 QVariant handle() const override;
81
82protected:
83 bool isCursor;
84
85 bool gotoNext(ValueCache &values, int index) override;
86 bool reset(const QString& query) override;
87 int size() override;
88 int numRowsAffected() override;
89 QSqlRecord record() const override;
90 QVariant lastInsertId() const override;
91 bool execBatch(bool arrayBind = false) override;
92 void virtual_hook(int id, void *data) override;
93 bool fetchNext() override;
94 bool internal_prepare();
95
96private:
97 Q_DECLARE_PRIVATE(QOCIResult)
98};
99
100QT_END_NAMESPACE
101
102#endif // QSQL_OCI_H
QSqlDriver * create(const QString &) override
Creates and returns a QSqlDriver object for the driver called key.
Definition main.cpp:29
struct OCIEnv OCIEnv
Definition qsql_oci_p.h:28
#define Q_EXPORT_SQLDRIVER_OCI
Definition qsql_oci_p.h:25