[svn:dbd-oracle] r14654 - dbd-oracle/trunk

[email protected] Thu, 27 Jan 2011 05:17:42 -0800 (PST)
Newsgroups perl.dbd.oracle.changes
Message-ID <[email protected]>
Author: byterock
Date: Thu Jan 27 05:17:40 2011
New Revision: 14654

Modified:
   dbd-oracle/trunk/dbdimp.h
   dbd-oracle/trunk/oci8.c

Log:
adding two new back end debugging functions oci_sql_function_code_name and oci_ptype_name. 


Modified: dbd-oracle/trunk/dbdimp.h
==============================================================================
--- dbd-oracle/trunk/dbdimp.h	(original)
+++ dbd-oracle/trunk/dbdimp.h	Thu Jan 27 05:17:40 2011
@@ -333,6 +333,9 @@
 char *oci_exe_mode _((ub4 mode));
 char *oci_col_return_codes _((int rc));
 char *oci_csform_name _((ub4 attr));
+char *oci_sql_function_code_name _((int sqlfncode));
+char *oci_ptype_name _((int ptype));
+
 int dbd_rebind_ph_lob _((SV *sth, imp_sth_t *imp_sth, phs_t *phs));
 
 int dbd_rebind_ph_nty _((SV *sth, imp_sth_t *imp_sth, phs_t *phs));

Modified: dbd-oracle/trunk/oci8.c
==============================================================================
--- dbd-oracle/trunk/oci8.c	(original)
+++ dbd-oracle/trunk/oci8.c	Thu Jan 27 05:17:40 2011
@@ -44,6 +44,59 @@
 }
 
 char *
+oci_sql_function_code_name(int sqlfncode)
+{
+	dTHX;
+	SV *sv;
+	switch (sqlfncode) {
+		case 1 :	return "CREATE TABLE";
+		case 3 :	return "INSERT";
+		case 4 :	return "SELECT";
+		case 5 :	return "UPDATE";
+		case 8 :	return "DROP TABLE";
+		case 9 :	return "DELETE";
+
+	}
+	sv = sv_2mortal(newSVpv("",0));
+	sv_grow(sv, 50);
+	sprintf(SvPVX(sv),"(UNKNOWN SQL FN Code %d)", sqlfncode);
+	return SvPVX(sv);
+}
+
+char *
+oci_ptype_name(int ptype)
+{
+	dTHX;
+	SV *sv;
+	switch (ptype) {
+		case OCI_PTYPE_UNK:			return "UNKNOWN";
+		case OCI_PTYPE_TABLE:		return "TABLE";
+		case OCI_PTYPE_VIEW:		return "VIEW";
+		case OCI_PTYPE_PROC:		return "PROCEDURE";
+		case OCI_PTYPE_FUNC:		return "FUNCTION";
+		case OCI_PTYPE_PKG:			return "PACKAGE";
+		case OCI_PTYPE_TYPE:		return "USER DEFINED TYPE";
+		case OCI_PTYPE_SYN:			return "SYNONYM";
+		case OCI_PTYPE_SEQ:			return "SEQUENCE";
+		case OCI_PTYPE_COL:			return "COLUMN";
+		case OCI_PTYPE_ARG:			return "ARGUMENT";
+		case OCI_PTYPE_LIST:		return "LIST";
+		case OCI_PTYPE_TYPE_ATTR:	return "USER-DEFINED TYPE'S ATTRIBUTE";
+		case OCI_PTYPE_TYPE_COLL:	return "COLLECTION TYPE'S ELEMENT";
+		case OCI_PTYPE_TYPE_METHOD:	return "USER-DEFINED TYPE'S METHOD";
+		case OCI_PTYPE_TYPE_ARG:	return "USER-DEFINED TYPE METHOD'S ARGUMENT";
+		case OCI_PTYPE_TYPE_RESULT:	return "USER-DEFINED TYPE METHOD'S RESULT";
+		case OCI_PTYPE_SCHEMA:		return "SCHEMA";
+		case OCI_PTYPE_DATABASE:		return "DATABASE";
+
+	}
+	sv = sv_2mortal(newSVpv("",0));
+	sv_grow(sv, 50);
+	sprintf(SvPVX(sv),"(UNKNOWN PTYPE Code %d)", ptype);
+	return SvPVX(sv);
+}
+
+char *
 oci_exe_mode(ub4 mode)
 {