The features under this heading are either in the ANSI standard or in the IBM SAA standard, but are not implemented.
The following statements are not supported:
The following special register is not supported:
The following features are either in the ANSI standard or in the IBM SAA standard, but are implemented differently by DP4:
Identifier names conform to the DP4 convention for naming fields, for example:
_ is allowed
. is allowed in the names of database fields (which must be named as role.field). $ is allowed as an alternative to .
# is not allowed
In addition, an occurs number in square brackets or braces is allowed.
A field name without a dot (or dollar) is regarded as having a blank role name. A field name without an occurs number refers to all the occurs of the field, which is regarded as a single field. Up to 16 characters are significant. Case is not significant except within character constants.
The data types correspond to the DP4 data types (for example, uppercase and Boolean data types are supported). There are Boolean constants for YES and NO.
Expressions with Boolean values are not currently supported.
Arithmetic on integers gives results of type real number, not long integer. In particular, the result of division of integers is not truncated to an integer answer.
Authorisation is by the usual DP4 mechanism of read/write access levels.
For the purposes of sorting, NULL is regarded as lower than every other value (instead of higher).
The not-equals operator may be written in one of these ways: !=, ^=, <>. This enhancement comes from Oracle.
Date constants must be written dd.mm.yyyy and time constants in two ways hh:mm or hh:mm:ss
SQL statements can contain comments surrounded by /* and */. This enhancement comes from Oracle. Comments beginninf with the word DP4SQL are treated as compiler hints.
The CHAR function applied to a date returns 11 characters (instead of 10); this is because the date may be converted into the form dd.mmm.yyyy if the month is to be written as a word.
The words to be used as second parameters to the CHAR function, namely: EUR, ISO, JIS and USA are treated as reserved words. Some other reserved words which are not implemented are not treated as reserved.
The various data integrity constraints (such as parent checking and child deletion) are performed by the DP4 system; in standard SQL none of these constraints exist. To allow these checks to be made, it is necessary to prevent the UPDATE statement from changing the primary key of a record.
Many syntactically incorrect constructions are not detected, and will execute (usually with the expected result).