Yeap. Thanks. Tim.
p.s. Keep adding these to your 'jumbo patch' and I'll ask you for the latest version of that once I get to work on DBD::Oracle again. Thanks. On Thu, Feb 28, 2002 at 03:30:12PM +0100, Steffen Goeldner wrote: > Steffen Goeldner wrote: > > > > Tim Bunce wrote: > > > > > > On Thu, Feb 21, 2002 at 12:14:31PM +0100, Steffen Goeldner wrote: > > > > > > Should type_info_all() depend on ora_server_version(), > > > > DBD::Oracle::ORA_OCI() or both? > > > > > > Both I think, since you need both to be >=8 to be able to use the > > > types in typical situations. > > > > O.k. (see attached patch). > > This patch is very similar to the type_info_all() patch > regarding the supported datatypes: > > - SQL_TYPE_TIMESTAMP > - SQL_CLOB > - SQL_BLOB > > I think a test for ora_server_version() isn't necessary. > I use OCI_V8_SYNTAX because I guess SQLT_CLOB and SQLT_BLOB > are not defined in the Oracle 7 header files. > > > Steffen > *** DBD-Oracle-1.12.orig/dbdimp.c Wed Aug 29 21:39:16 2001 > --- dbdimp.c Wed Feb 20 22:22:08 2002 > *************** > *** 1921,1930 **** > break; > case SQLT_CHR: sql_fbh.dbtype = SQL_VARCHAR; break; > case SQLT_LNG: sql_fbh.dbtype = SQL_LONGVARCHAR; break; /* long */ > ! case SQLT_DAT: sql_fbh.dbtype = SQL_DATE; break; > case SQLT_BIN: sql_fbh.dbtype = SQL_BINARY; break; /* raw */ > case SQLT_LBI: sql_fbh.dbtype = SQL_LONGVARBINARY; break; /* long raw */ > case SQLT_AFC: sql_fbh.dbtype = SQL_CHAR; break; /* Ansi fixed char >*/ > default: sql_fbh.dbtype = -9000 - fbh->dbtype; /* else map type into >DBI reserved standard range */ > } > return sql_fbh; > --- 1921,1934 ---- > break; > case SQLT_CHR: sql_fbh.dbtype = SQL_VARCHAR; break; > case SQLT_LNG: sql_fbh.dbtype = SQL_LONGVARCHAR; break; /* long */ > ! case SQLT_DAT: sql_fbh.dbtype = SQL_TYPE_TIMESTAMP;break; > case SQLT_BIN: sql_fbh.dbtype = SQL_BINARY; break; /* raw */ > case SQLT_LBI: sql_fbh.dbtype = SQL_LONGVARBINARY; break; /* long raw */ > case SQLT_AFC: sql_fbh.dbtype = SQL_CHAR; break; /* Ansi fixed char >*/ > + #ifdef OCI_V8_SYNTAX > + case SQLT_CLOB: sql_fbh.dbtype = SQL_CLOB; break; > + case SQLT_BLOB: sql_fbh.dbtype = SQL_BLOB; break; > + #endif > default: sql_fbh.dbtype = -9000 - fbh->dbtype; /* else map type into >DBI reserved standard range */ > } > return sql_fbh;
