[Zope-Checkins] CVS: Products/DCOracle2/src - dco2.c:1.104.4.1

Matthew T. Kromer matt@zope.com
Tue, 12 Feb 2002 10:29:23 -0500


Update of /cvs-repository/Products/DCOracle2/src
In directory cvs.zope.org:/tmp/cvs-serv29837/src

Modified Files:
      Tag: dco2-object-branch
	dco2.c 
Log Message:
Fix some TABLE OF problems for Origin systems


=== Products/DCOracle2/src/dco2.c 1.104 => 1.104.4.1 ===
 #endif
 
+/* Turn on object mode by default (largely unused) */
+
+#if (defined(ORACLE8i) && !defined(NOOBJECT))
+#define USEOBJECT
+#endif
+
 /* Get around unused warnings with GCC -Wall by using this on a def for
 ** intentionally unused items.   Currently "ID" and "Traceprint" are
 ** meant to be unused; Traceprint is for debugging.
@@ -1052,6 +1058,12 @@
 	TYPEENTRY(SQLT_INTERVAL_YM),		/* Interval year - month*/
 	TYPEENTRY(SQLT_INTERVAL_DS),		/* Interval day - second*/
 #endif
+#define PLSQL_RECORD 250
+#define PLSQL_TABLE 251
+#define PLSQL_BOOLEAN 252
+	TYPEENTRY(PLSQL_RECORD),		/* PL/SQL record	*/
+	TYPEENTRY(PLSQL_TABLE),			/* PL/SQL table		*/
+	TYPEENTRY(PLSQL_BOOLEAN),		/* PL/SQL boolean	*/
 	{0, NULL, 0, 0, NULL}
 };
 
@@ -1296,8 +1308,11 @@
 
 #ifdef ORACLE8i 
 	TRACE(T_HCALL,("sA", "OCIEnvCreate", &sc->envhp));
-	status = OCIEnvCreate(&sc->envhp, OCI_THREADED, NULL, NULL, NULL, NULL,
-		0, NULL);
+	status = OCIEnvCreate(&sc->envhp, OCI_THREADED
+#ifdef USEOBJECT
+		|OCI_OBJECT
+#endif
+		, NULL, NULL, NULL, NULL, 0, NULL);
 	TRACE(T_HRETURN,("sRA", "OCIEnvCreate", status, sc->envhp));
 	if (status != OCI_SUCCESS) {
 		fprintf(stderr, "OCIEnvCreate failed: %s:%d",
@@ -1308,7 +1323,11 @@
 	}
 #else
 	TRACE(T_HCALL,("s", "OCIInitialize"));
-	status = OCIInitialize(OCI_THREADED, NULL, NULL, NULL, NULL);
+	status = OCIInitialize(OCI_THREADED
+#ifdef USEOBJECT
+		|OCI_OBJECT
+#endif
+		, NULL, NULL, NULL, NULL);
 	TRACE(T_HRETURN,("sR", "OCIInitialize", status));
 
 	if (status != OCI_SUCCESS) {
@@ -6858,6 +6877,9 @@
 #endif
 #ifdef ORACLE9i
 		"-DORACLE9i "
+#endif
+#ifdef USEOBJECT
+		"-DUSEOBJECT "
 #endif
 #ifdef linux
 		"-Dlinux "