Applied. Thanks!

Tim.

On Wed, Aug 29, 2001 at 05:55:04PM -0500, Stephen Clouse wrote:
> Building on 9.0.1 on Linux, I had two problems:
> 
> 1. There was an issue with one of Oracle's Stupid Makefile Tricks (tm), using a 
>    variable called $(I_SYM) instead of a literal -I in the includes.  It wound 
>    up as an undefined variable in the final makefile so none of the include 
>    files could be found.  To fix, I just changed the assignment to $MK{INCLUDE} 
>    to do an expand_mkvars() first so the variable gets substituted beforehand.
> 
> 2. You seem to have forgotten my bizarro LOB write bug patch :)  The new build 
>    failed my local regression test when reinstalling one of our apps, and that's 
>    when I noticed the dbd_ph_rebind_lob code hadn't been changed.
> 
> I've bundled both fixes into one short patch, attached.
> 
> -- 
> Stephen Clouse <[EMAIL PROTECTED]>
> Senior Programmer, IQ Coordinator Project Lead
> The IQ Group, Inc. <http://www.theiqgroup.com/>

> diff -ru DBD-Oracle-1.09.orig/Makefile.PL DBD-Oracle-1.09/Makefile.PL
> --- DBD-Oracle-1.09.orig/Makefile.PL  Wed Aug 29 14:39:20 2001
> +++ DBD-Oracle-1.09/Makefile.PL       Wed Aug 29 17:41:12 2001
> @@ -411,7 +411,7 @@
>       $opts{dynamic_lib} = { OTHERLDFLAGS => "$::opt_g @linkwith_o \$(COMPOBJS)" };
>      }
>  
> -    my $OCIINCLUDE = $MK{INCLUDE} || '';
> +    my $OCIINCLUDE = expand_mkvars($MK{INCLUDE} || '', 0, 0);
>      $OCIINCLUDE .= " -I$OH/rdbms/demo";
>      my $inc = join " ", map { "-I$OH/$_" } @h_dirs;
>      $opts{INC}  = "$OCIINCLUDE $inc -I$dbi_arch_dir";
> diff -ru DBD-Oracle-1.09.orig/oci8.c DBD-Oracle-1.09/oci8.c
> --- DBD-Oracle-1.09.orig/oci8.c       Wed Aug 29 11:37:59 2001
> +++ DBD-Oracle-1.09/oci8.c    Wed Aug 29 17:46:57 2001
> @@ -547,6 +547,15 @@
>      sword status;
>      ub4 lobEmpty = 0;
>  
> +    if (!SvPOK(phs->sv)) {   /* normalizations for special cases     */
> +     if (SvOK(phs->sv)) {    /* ie a number, convert to string ASAP  */
> +         if (!(SvROK(phs->sv) && phs->is_inout))
> +             sv_2pv(phs->sv, &na);
> +     }
> +     else /* ensure we're at least an SVt_PV (so SvPVX etc work)     */
> +         SvUPGRADE(phs->sv, SVt_PV);
> +    }
> +
>      if (!phs->desc_h) {
>       ++imp_sth->has_lobs;
>       phs->desc_t = OCI_DTYPE_LOB;



Reply via email to