VMS Help  —  SQLMOD72  SQLMOD Command Line, Arguments  FLOAT
    Syntax options:

       FLOAT=D_FLOAT
       FLOAT=G_FLOAT
       FOAT=IEEE_FLOAT

    The /FLOAT qualifier determines the conversion that SQL Module
    language performs on SQL Module Language procedure parameters
    declared as single or double precision floating point SQL
    datatypes. SQL floating point datatypes are FLOAT(n), REAL, and
    DOUBLE PRECISION. See the Oracle Rdb SQL Reference Manual for
    details. Internally to Oracle Rdb, single precision floating
    point types are represented as F-Floating while double precision
    floating point types are represented and G-Floating. See SQL and
    Corresponding OpenVMS Data Types for Module Language in Section
    3.4 of the Oracle Rdb SQL Reference Manual for more details.

    By default, parameters declared as single or double precision
    floating point type are expected to be passed by the calling
    host language program in F-Floating and G-Floating format,
    respectively. This is equivalent to using a qualifier of
    /FLOAT=G_FLOAT with the SQL$MOD command.

    If the command line for SQL$MOD has /FLOAT=D_FLOAT, then the
    single and double precision floating point parameters are
    expected to be in F-Floating and D-Floating format respectively.
    SQL Module Language will convert the double precision parameters
    between D-Floating and G-Floating formats for both input and
    output.

    If the command line for SQL$MOD has /FLOAT=IEEE_FLOAT, the single
    and double precision floating point parameters are expected to
    be in IEEE S-Floating and IEEE T-Floating format, respectively.
    SQL Module Language will convert between these formats and the
    internal F-Floating and G-Floating formats for both input and
    output.

    If a parameter of an SQL Module Language procedure is of a record
    type, any fields of the record which are of floating point types
    follow the same rules as described above.

    The floating point formats of the host language program actual
    parameters must agree with the format expected by the SQL Module
    Language actual parameter. See the Oracle Rdb SQL Reference
    Manual for information concerning actual and formal parameter
    agreement.)

                                  NOTES

       Oracle Rdb always stores floating point numbers internally
       using the VAX 32-bit and 64-bit types called F-Floating (F_
       FLOAT) and G-Floating (G_FLOAT), respectively. This means
       that when IEEE formats are used in a host language program,
       Oracle Rdb converts back and forth between the VAX and IEEE
       formats. There are differences in the number of available
       bits in the fraction and exponent between these formats.
       Additionally, the IEEE formats have certain exponent values
       reserved for infinity values. These differences can cause
       floating point overflow or underflow as well as rounding
       errors during the conversion process. See Appendix A of the
       Portable Mathematics Library in the OpenVMS Operating System
       documentation for data on the maximum and minimum values for
       VAX versus IEEE floating point formats.

       When /FLOAT=IEEE_FLOAT is used, floating point data types
       may not be imported from the Common Data Dictionary.
Close Help