Re: OCI on Alpha - rc field in cda

From: Tim Bunce <Tim.Bunce_at_ig.co.uk>
Date: 1995/08/10
Message-ID: <DD3rGz.75_at_ig.co.uk>#1/1


In article <3vtvk4$d0f_at_inet-nntp-gw-1.us.oracle.com>, Scott Urman <surman_at_oracle.com> wrote:
> In article <DCMyE0.F86_at_ig.co.uk>, Tim Bunce <Tim.Bunce_at_ig.co.uk> writes:
> |> In article <3v6s4i$1oe$1_at_mhade.production.compuserve.com>,
> |> Dennis Williams <75702.674_at_CompuServe.COM> wrote:
> |> > Tim Bunce writes: OCI on Dec Alpha - rc field in cda not being
> |> > set on error
> |> >
> |> > Yeah - I ran into the same thing. Rather than using
> |> > Oracle-defined datatypes to access the cda, I had created my own.
> |> > For the Alpha, Oracle redefined a couple of the types to
> |> > correspond with the 64-bit architecture. When I corrected my data
> |> > types, everything worked fine. I don't remember which type
> |> > tripped me up, but I'm certain you can find it.
> |>
> |> The fix is to add
> |>
> |> #define A_OSF
> |>
> |> before
> |>
> |> #include <oratypes.h>
> |>
> |> whilst muttering something about Oracle under your breath.
> |>
> |> Tim.
>
> If you check the oratypes.h header file, you will see that this is the
> file which defines ub4, sb2, etc. The CDA and LDA are defined in terms of
> these. If A_OSF is defined, then they are correct for 64 bit platforms, like
> the Alpha. There are some other macros in there for other platforms as well,
> I think. That way it can be one standard file across platforms.
>

You're missing the point. The point is that Oracle ships a header file for installation on 64 bit platforms that is *broken* on those platforms.

Adding something along the lines of:

	#if defined(__osf__) && defined(__alpha)
	#ifndef A_OSF
	#define A_OSF
	#endif
	#endif

to oratypes.h would fix this and you'd still have one standard file across platforms.

> Feel free to mutter as much as you like :)

I often do, especially when doing anything with Oracle.

The quality and stability of Oracle's OCI interface leaves much to be desired.

Tim. Received on Thu Aug 10 1995 - 00:00:00 CEST

Original text of this message