summaryrefslogtreecommitdiffstats
path: root/storage/connect/jdbconn.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
commita175314c3e5827eb193872241446f2f8f5c9d33c (patch)
treecd3d60ca99ae00829c52a6ca79150a5b6e62528b /storage/connect/jdbconn.h
parentInitial commit. (diff)
downloadmariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.tar.xz
mariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.zip
Adding upstream version 1:10.5.12.upstream/1%10.5.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'storage/connect/jdbconn.h')
-rw-r--r--storage/connect/jdbconn.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/storage/connect/jdbconn.h b/storage/connect/jdbconn.h
new file mode 100644
index 00000000..0c36ccca
--- /dev/null
+++ b/storage/connect/jdbconn.h
@@ -0,0 +1,92 @@
+/***********************************************************************/
+/* JDBConn.h : header file for the JDBC connection classes. */
+/***********************************************************************/
+#include "javaconn.h"
+
+// JDBC connection to a data source
+class TDBJDBC;
+class JDBCCOL;
+class JDBConn;
+class TDBXJDC;
+
+/***********************************************************************/
+/* JDBConn class. */
+/***********************************************************************/
+class JDBConn : public JAVAConn {
+ friend class TDBJDBC;
+ friend class TDBXJDC;
+//friend PQRYRES GetColumnInfo(PGLOBAL, char*&, char *, int, PVBLK&);
+private:
+ JDBConn(); // Standard (unused) constructor
+
+public:
+ // Constructor
+ JDBConn(PGLOBAL g, PCSZ wrapper);
+
+ virtual void AddJars(PSTRG jpop, char sep);
+ PQRYRES AllocateResult(PGLOBAL g, PTDB tdbp);
+
+ // Attributes
+public:
+ char *GetQuoteChar(void) { return m_IDQuoteChar; }
+ bool SetUUID(PGLOBAL g, PTDBJDBC tjp);
+ virtual int GetMaxValue(int infotype);
+
+public:
+ // Operations
+ virtual bool Connect(PJPARM sop);
+ virtual bool MakeCursor(PGLOBAL g, PTDB tdbp, PCSZ options,
+ PCSZ filter, bool pipe) {return true;}
+ virtual int GetResultSize(PCSZ sql, PCOL colp);
+ virtual int ExecuteCommand(PCSZ sql);
+ virtual int ExecuteQuery(PCSZ sql);
+ virtual int ExecuteUpdate(PCSZ sql);
+ virtual int Fetch(int pos = 0);
+ virtual void SetColumnValue(int rank, PSZ name, PVAL val);
+
+ // Jdbc operations
+ bool PrepareSQL(PCSZ sql);
+ int ExecuteSQL(void); // Prepared statement
+ bool SetParam(JDBCCOL *colp);
+ int GetCatInfo(JCATPARM *cap);
+ bool GetDrivers(PQRYRES qrp);
+ PQRYRES GetMetaData(PGLOBAL g, PCSZ src);
+ int Rewind(PCSZ sql);
+
+ // Implementation
+public:
+ //virtual ~JDBConn();
+
+protected:
+ // Members
+ jmethodID xqid; // The ExecuteQuery method ID
+ jmethodID xuid; // The ExecuteUpdate method ID
+ jmethodID xid; // The Execute method ID
+ jmethodID grs; // The GetResult method ID
+ jmethodID readid; // The ReadNext method ID
+ jmethodID fetchid; // The Fetch method ID
+ jmethodID typid; // The ColumnType method ID
+ jmethodID prepid; // The CreatePrepStmt method ID
+ jmethodID xpid; // The ExecutePrep method ID
+ jmethodID pcid; // The ClosePrepStmt method ID
+ jmethodID objfldid; // The ObjectField method ID
+ jmethodID chrfldid; // The StringField method ID
+ jmethodID intfldid; // The IntField method ID
+ jmethodID dblfldid; // The DoubleField method ID
+ jmethodID fltfldid; // The FloatField method ID
+ jmethodID datfldid; // The DateField method ID
+ jmethodID timfldid; // The TimeField method ID
+ jmethodID tspfldid; // The TimestampField method ID
+ jmethodID bigfldid; // The BigintField method ID
+ jmethodID uidfldid; // The UuidField method ID
+ char m_IDQuoteChar[2];
+ PCSZ m_Pwd;
+ int m_Ncol;
+ int m_Aff;
+ int m_Fetch;
+ int m_RowsetSize;
+ jboolean m_Updatable;
+ jboolean m_Transact;
+ jboolean m_Scrollable;
+ bool m_Full;
+}; // end of JDBConn class definition