A keyword that specifies the name of the host language in which
the program is written. This program calls the procedures in
the module. Specify GENERAL for languages that do not have a
corresponding keyword in the LANGUAGE clause.
The language identifier determines:
o The kinds of data types that the SQL module processor
considers valid in the module's formal parameter declarations.
If a language does not support a data type equivalent to
some SQL data type, the SQL module processor generates a
warning message when it encounters the data type in a formal
parameter. (A formal parameter is the name in an SQL module
procedure declaration that represents the corresponding
actual parameter in a host language call to the SQL module
procedure.)
For example, SQL supports the BIGINT data type, but PL/I does
not. The module processor generates a warning message when
it encounters a BIGINT formal parameter in an SQL module that
specifies the PL/I language in the LANGUAGE section.
o The default mechanism for passing parameters to and from a
host language source file. Parameters are always passed by the
default passing mechanism for the language specified in the
language clause. The following table shows those defaults.
Table 3 Default Passing Mechanism for Host Languages to SQL
Modules
Language Passing Mechanism
Ada By reference
BASIC CHAR by descriptor; all others by reference
C By reference
COBOL By reference
FORTRAN CHAR, SQLCA, SQLDA by descriptor; all others by
reference
Pascal By reference
PL/I By reference
GENERAL By reference
o The default data type that SQL expects for certain actual
parameters.
In COBOL, for example, if a DOUBLE PRECISION formal parameter
is declared in an SQL module procedure, the procedure expects
the parameter to be passed from the calling module as D_FLOAT
rather than G_FLOAT because COBOL does not support G_FLOAT.
Similarly, in C, if a CHAR(n) formal parameter is declared in
an SQL module procedure, the procedure expects the parameter
to be passed from the calling module as an ASCIZ string with a
length of (n+1).