In addition to the new and modified features mentioned above, Adabas Version 6.3 for OpenVMS Itanium also contains the following features that have been introduced or modified since the previous release.
In previous versions of Adabas, it was only possible to lock records exclusively or perform dirty reads; now shared locks are also available. The shared locks ensure that records are not updated during the current transaction.
It is no longer necessary to read or update a complete LOB field; it is now also possible to read or update only a part of a LOB.
Adabas now also supports lower-case field names. This means that the maximum number of fields, including derived descriptors, in an Adabas file is increased to 3214. In earlier version, some utilities, for example ADAFDU, automatically converted field names to upper case. In order to be compatible with previous versions of Adabas, you must specify the parameter LOWER_CASE_FIELD_NAMES for these utilities; this prevents this conversion from being made.
If a field is defined as a date/time field (field option DT), you can subsequently access it in several different, frequently-used date/time formats. When the TZ option is also specified, the field values are converted to the caller’s local time zone.
System-generated fields (field option SY) allow you to automatically generate information about the user or about the time when a record was created or last updated.
If errors occur in applications, it can sometimes be helpful if it is possible to roll back only a part of a transaction, rather than the complete transaction. To this end, Adabas now supports subtransactions. Subtransactions have been implemented by making changes in the OP, BT and ET command.
When updating unique descriptors in a set of records of a file, temporary uniqueness errors may occur, these errors being corrected by the remaining updates. When subtransactions are enabled, the uniqueness checks are delayed until the end of the next subtransaction - this means that you no longer have to ensure that such temporary uniqueness errors don’t occur.
Adabas now supports referential integrity constraints - this means that any field in a file which is defined as a foreign key can only contain values from a primary files's primary key. This prevents you from defining records in a file containing a foreign key value that is not contained in the corresponding primary file as a primary key value.
With previous versions of Adabas, it was possible that short running commands could no longer be scheduled because complex, long-running commands blocked all threads, which forced the DBA to specify a large number of nucleus worker threads (ADANUC NT parameter) in order to avoid a very poor overall performance. In order to avoid this situation, now only 50% of Adabas threads can be used to process such long-running commands in parallel. Note that it is not always possible to estimate the runtime of a command correctly at the start of command processing.
The security utility can now be used to export security data. The export file consists of security definitions that can be used as input for ADASCR for another database.
Adabas now maintains a timestamp for the last FDT update. This timestamp helps you to check whether generated Adabas calls are still valid for a file - detailed checks are only necessary if the timestamp has changed.
The new X and F options have been added to the LF command in order to provide addition information; this applies in particular to new features (date/time fields, system-generated fields, referential integrity, timestamp of last FDT update).
Some changes have been made in the utility output directed to SYS$OUTPUT for several utilities (e.g. ADAOPR, ADAREC, ADAREP) as compared to the previous version of Adabas. If you use scripts to check this output, please ensure that your scripts still work correctly with Adabas Version 6.3 before using Version 6.3 in your production environment.
The length of the PID (process ID) field, which is the first field in an Adabas log file record, has been increased to 8 bytes.
In previous Adabas versions, the buffer pool could sometimes overflow when there was a high update rate, with data blocks being modified faster than they could be written to disk - this caused the nucleus to crash in order to avoid situations in which data integrity could no longer be guaranteed. This behaviour no longer occurs.
If more than one file was processed by a utility, previous Adabas versions generated one checkpoint record for all files, for example:
SYNP ADAORD IMPORT=FILES
Starting with this version, a separate checkpoint is generated for each file that is processed, for example:
SYNP ADAORD IMPORT=55 SYNP ADAORD IMPORT=56 SYNP ADAORD IMPORT=1056
Note:
A checkpoint record is also created for LOB files, although they
need not be specified but are processed automatically with the corresponding
base file.
In addition, a SYNX checkpoint is now written for ADAFDU in online mode.
Starting with this version, the keyword "exit" can be used as a synonym for "quit" to terminate a utility.
The new parameter [NO]LOWER_CASE_FIELD_NAMES has been added to the utilities ADACMP, ADADBM, ADADCU, ADAFDU and ADAINV.
The new parameter SYFINPUT has been added. This parameter specifies the input used for the compression of system generated fields.
The new parameter CHANGE_FIELDS has been added. This parameter is used to modify one or more field specifications.
The new parameter DEFINE_REFINT has been added. This parameter is used to add a referential constraint to the file specified.
The new parameter DROP_REFINT has been added. This parameter is used to remove a referential constraint from the file specified.
The new parameter SYFMAX has been added. This parameter specifies the maximum number of values generated for a system generated multiple-value field.
The new parameter SYFMAX has been added. This parameter specifies the maximum number of values generated for a system generated multiple-value field.
The new parameter [NO]DATETIME has been added. If this is set to DATETIME, each monitoring line with non-graphical output will be preceded by the current date and time.
The new parameter RI_CONFLICT has been added. This parameter is used to indicate which action is to be taken if referential integrity is violated.
The default value for the parameter BFIO_PARALLEL_LIMIT has been changed to 50.
The default value of the ADANUC parameter LWP has been increased to 16 MB.
The output of the ADAOPR DISPLAY parameter now includes additional or more adequate information.
The syntax of the ADAREC CLOSE parameter has been modified to optionally include the extent number of the Protection Log to be closed.
The new parameter CONSTRAINTS has been added. This parameter lists all referential contraints that are defined for the database.
Specifying ADAREP FILES now also displays the timestamp of the last FDT update.
The new parameter EXPORT has been added. This parameter is used to export the current security settings of the the database to a sequential output file.