The Pascal Compiler
As mentioned above, the preprocessor generates Pascal code. You should use the VMS pascal command to compile this code. You can use most of the pascal command line options. You must not use the g_floating qualifier if real variables in the file are interacting with Ingres floating-point objects. You should also not use the old_version qualifier, because the preprocessor generates code for Version 3. Note, too, that many of the statements that the Embedded SQL/Pascal preprocessor generates are non-standard extensions provided by VAX/VMS. Consequently, you should not use the standard qualifier.
The following example preprocesses and compiles the file "test1." Note that both the Embedded SQL preprocessor and the Pascal compiler assume the default extensions.
$ esqlp test1
$ pascal/list test1
VMS
As of Ingres II 2.0/0011 (axm.vms/00) Ingres uses member alignment and IEEE floating-point formats. Embedded programs must be compiled with member alignment turned on. In addition, embedded programs accessing floating-point data (including the MONEY data type) must be compiled to recognize IEEE floating-point formats.
The VMS default qualifier /g_float is not a standard and should not be used.
On Alpha systems, hardware support for D_float is only partial, the default has changed to G_float, and support for IEEE (IEEE 754-1985 standard for floating point arithmetic) has been added. Because of this, and because IEEE is available on other platforms and is recognized as an industry standard, Ingres for OpenVMS Alpha uses the IEEE format.
All programs and libraries should be compiled using the IEEE qualifier. Do not mix programs or libraries compiled with different qualifiers.
For example:
esqlp prog.sp
pascal /float=ieee prog
Failure to use the /float=ieee qualifier or the use of non-IEEE float numbers will result in unpredictable results when non-IEEE floats are used as keys or in restrictions.
Note: Check the Readme file for any operating system specific information on compiling and linking ESQL/Pascal programs.