summaryrefslogtreecommitdiffstats
path: root/src/plugins/sqldrivers/oci/qsql_oci_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/sqldrivers/oci/qsql_oci_p.h')
-rw-r--r--src/plugins/sqldrivers/oci/qsql_oci_p.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/plugins/sqldrivers/oci/qsql_oci_p.h b/src/plugins/sqldrivers/oci/qsql_oci_p.h
index b2aca6d563..feb037c20d 100644
--- a/src/plugins/sqldrivers/oci/qsql_oci_p.h
+++ b/src/plugins/sqldrivers/oci/qsql_oci_p.h
@@ -16,6 +16,7 @@
//
#include <QtSql/qsqldriver.h>
+#include <QtSql/private/qsqlcachedresult_p.h>
#ifdef QT_PLUGIN
#define Q_EXPORT_SQLDRIVER_OCI
@@ -25,6 +26,7 @@
typedef struct OCIEnv OCIEnv;
typedef struct OCISvcCtx OCISvcCtx;
+struct QOCIResultPrivate;
QT_BEGIN_NAMESPACE
@@ -58,6 +60,7 @@ public:
bool trimStrings) const override;
QVariant handle() const override;
QString escapeIdentifier(const QString &identifier, IdentifierType) const override;
+ int maximumIdentifierLength(IdentifierType type) const override;
protected:
bool beginTransaction() override;
@@ -65,6 +68,34 @@ protected:
bool rollbackTransaction() override;
};
+class Q_EXPORT_SQLDRIVER_OCI QOCIResult : public QSqlCachedResult
+{
+ friend class QOCIDriver;
+ friend struct QOCIResultPrivate;
+ friend class QOCICols;
+public:
+ QOCIResult(const QOCIDriver * db, const QOCIDriverPrivate* p);
+ ~QOCIResult();
+ bool prepare(const QString& query);
+ bool exec();
+ QVariant handle() const;
+
+protected:
+ bool gotoNext(ValueCache &values, int index);
+ bool reset (const QString& query);
+ int size();
+ int numRowsAffected();
+ QSqlRecord record() const;
+ QVariant lastInsertId() const;
+ bool execBatch(bool arrayBind = false);
+ void virtual_hook(int id, void *data);
+ bool isCursor;
+ bool internal_prepare();
+
+private:
+ QOCIResultPrivate *d;
+};
+
QT_END_NAMESPACE
#endif // QSQL_OCI_H