Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

IA64 - Oracle 10g (10.2.) and G_FLOATS

SOLVED
Go to solution

IA64 - Oracle 10g (10.2.) and G_FLOATS

Ive another problem yet. This time related to Oracle 10 on OpenVMS 8.2-1 IA64.

I'm at the beginning of investigations - so please excuse any missing information.


We are using ProC Code to access Oracle DB. The ProC Code is processed with PROC, the Oracle procompiler. The resulting C code is processed with CC using /FLOAT=G_FLOAT.

We need G_FLOAT Format as we need a binary compatibility of files with AXP systems (at least at the moment)

But the code does not work / crashes.

As far as we analyzed now, it seems that the proC -> C Code only passes addresses into the Oracle runtime libraries. And I guess (I did not yet find a spec) Oracle runtime libraries use the default float format (IEEE on IA64)

So what I'm asking for:
-) Does someone know that working with G_FLOAT and Oracle Procompilers (ProC) does or does not work ?
-) Does someone use G_FLOAT together with Oracle ?
-) Does anybody know of an spec / guidline for Orcxale / Flotingpoint issues ?

I would like to state, that at the moment a completly other code error cannot be excluded by sure. But if anyboda knows by shure, that G_FLOT will not work, this would some much time for investigations.

Thanks for any responce.

Martin
4 REPLIES
Duncan Morris
Honored Contributor

Re: IA64 - Oracle 10g (10.2.) and G_FLOATS

Martin,

see this thread for info on the floating point format for Oracle 10 and OpenVMS.

http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=995388&admit=-682735245+1153316356915+28353475

I also have a load of PRO/C modules using GFLOAT that will need to be revisited for 10g


Duncan

Re: IA64 - Oracle 10g (10.2.) and G_FLOATS

Thanks for the hint.
It seems like we are lost.

Is IEEE format the only option in Oracle 10 ?
Independent of Platform (AXP, IA64) ?

Martin
Duncan Morris
Honored Contributor
Solution

Re: IA64 - Oracle 10g (10.2.) and G_FLOATS

It would appear so, from the Oracle docs....

6.3.2 Floating Point Format
Oracle Database 10g is compiled with the IEEE floating point format supported by the C compiler. The conversion routines within Oracle Database 10g translate operating system-specific floating point numbers into Oracle Database 10g internal floating point representation.
This is a change from Oracle Database 9i release 2 for OpenVMS. If you had an application that depended on non-IEEE defaults, then you may need to recompile.

6.3.2.1 Application Compatibility for Floating Point Format
With release 10.1.0.3.0 of Oracle Database 10g for OpenVMS, the floating point format supported by Oracle code is the IEEE floating point format.
Earlier releases of the product supported the default native floating format of the C compiler, which was the D float for single and G float for double.

6.4.2 Linking Precautions
Oracle Database 10g is compiled with the IEEE floating point format supported by the C compiler.
Applications that were compiled with earlier releases of the Oracle Database 10g for OpenVMS should not be directly linked with the static or dynamic libraries that are
provided with the current. Although they may link correctly, run-time results may be unpredictable. Oracle recommends that all such applications be either recompiled or continue to be run from a 9.2 client environment connecting to Oracle Database 10g through Oracle Net Services.

Duncan

Duncan Morris
Honored Contributor

Re: IA64 - Oracle 10g (10.2.) and G_FLOATS

Martin,

this is from the ALPHA release notes, so not just IA64....

8.25 Floating Point Format is now IEEE.

Oracle Database 10g is compiled with the IEEE floating point format supported by the C compiler. This is a change from prior releases where non-native formats such as gfloat were supported.


See section 6.3.2 and 6.4.2 in:

Oracle® Database Administrator's Reference
10g Release 1 (10.1) for hp OpenVMS Alpha
Part No. B13738-01