DBD::Oracle, binary releases, 8.0 support
From: Jeff Urlwin (jurlwin_at_esoftmatic.com)
Date: 07/28/04
- Previous message: Jeff Urlwin: "RE: Segmentation fault in test 02simple.t"
- Next in thread: Tim Bunce: "Re: DBD::Oracle, binary releases, 8.0 support"
- Reply: Tim Bunce: "Re: DBD::Oracle, binary releases, 8.0 support"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
To: "'Tim Bunce'" <Tim.Bunce@pobox.com> Date: Tue, 27 Jul 2004 23:39:23 -0400
Tim,
I now have a list of functions not supported by 8.0.6 OCI.dll
OCILobIsTemporary
OCILobFreeTemporary
The functions handled by our 9.x/NLS makefile.pl time testing/command line
parameters already are:
OCINlsEnvironmentVariableGet
OCIEnvNlsCreate
OCINlsCharSetNameToId
OCILobWriteAppend
So, the only functions I have to avoid which we don't already are:
OCILobIsTemporary and OCILobFreeTemporary. From my (limited) research,
OCILobIsTemporary and OCILobFreeTemporary are only to be used after
OCILobCreateTemporary. So, I'm thinking for 8.0.x clients, we can force
OCILobIsTemporary to return false and stub OCILobFreeTemporary, since I
can't find a call to OCILobCreateTemporary anyway. I'm sure I'm missing
something about the use of OCILobIsTemporary.
What do you think of this patch? It fixes the Test-Simple issue we
previously discussed and passes tests. It only gets compiled in if perl
Makefile.PL -V 8.0 is used.
Regards,
Jeff
Index: ocitrace.h
===================================================================
--- ocitrace.h (revision 408)
+++ ocitrace.h (working copy)
@@ -200,19 +200,29 @@
OciTp, (void*)sv,(void*)eh,(void*)lh, \
oci_status_name(stat)),stat : stat
+#if !defined(ORA_OCI_8)
#define OCILobFreeTemporary_log_stat(sv,eh,lh,stat) \
stat=OCILobFreeTemporary(sv,eh,lh);
\
(DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP,
\
"%sLobFreeTemporary(%p,%p,%p)=%s\n", \
OciTp, (void*)sv,(void*)eh,(void*)lh, \
oci_status_name(stat)),stat : stat
+#else
+#define OCILobFreeTemporary_log_stat(sv,eh,lh,stat) \
+ stat=0
+#endif
+#if !defined(ORA_OCI_8)
#define OCILobIsTemporary_log_stat(ev,eh,lh,istemp,stat)
\
stat=OCILobIsTemporary(ev,eh,lh,istemp);
\
(DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP,
\
"%sLobIsTemporary(%p,%p,%p,%p)=%s\n", \
OciTp, (void*)ev,(void*)eh,(void*)lh,(void*)istemp, \
oci_status_name(stat)),stat : stat
+#else
+#define OCILobIsTemporary_log_stat(ev,eh,lh,istemp,stat) \
+ stat=0
+#endif
#define OCILobRead_log_stat(sv,eh,lh,am,of,bp,bl,cx,cb,csi,csf,stat) \
stat=OCILobRead(sv,eh,lh,am,of,bp,bl,cx,cb,csi,csf); \
Index: Makefile.PL
===================================================================
--- Makefile.PL (revision 408)
+++ Makefile.PL (working copy)
@@ -43,7 +43,7 @@
my %opts = (
NAME => 'DBD::Oracle',
VERSION_FROM => 'Oracle.pm',
- PREREQ_PM => { "Test::More" => 0 },
+ PREREQ_PM => { "Test::Simple" => 0.40 },
EXE_FILES => [ "ora_explain$exe_ext" ],
OBJECT => '$(O_FILES)',
DEFINE => '',
- Previous message: Jeff Urlwin: "RE: Segmentation fault in test 02simple.t"
- Next in thread: Tim Bunce: "Re: DBD::Oracle, binary releases, 8.0 support"
- Reply: Tim Bunce: "Re: DBD::Oracle, binary releases, 8.0 support"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]