Software Changes That May Affect Application Functionality
For Update
Status Array Structure
For Update
Update applications must implicitly specify that they are
"FOR UPDATE" in a statement, environment or session,
otherwise updates and deletes may be disallowed. This feature
changes the way that oaselect behaves in an update environment.
The reason behind this feature is to allow for performance
improvements in the software.
For a statement, add a FOR UPDATE clause or add UPDATE to
the WITH <options> list.
In an environment catalog, add an ACCESS <access option>
statement to the Database section. This will apply to all
statements processed against this environment.
Set the OA_DATABASE_ACCESS=ASSUMED_UPDATE environment variable
to allow existing applications to continue to function normally
without making any unnecessary changes.
Status Array Structure
Beginning with 3.7.00, OmniAccess in undergoing an overhaul
of the error handling mechanism. As a first step, the OmniAccess
status structure has been changed to support more information.
The new structure is declared in oa.h, and users using this
header file will automatically use the new structure upon
a recompile. Users of client tools have no changes to make.
The status structure used to contain 8 named integers, 6
generic integers, and one character buffer. The new status
structure contains 10 named integers, 32 generic integers,
and 6 types of character buffers.
Customers using Omnidex products that code onsite must be
aware of the following:
A single object, oa.obj, will be compiled twice, once with
a compile switch (-DOA_30600_STATUS) that activates backward-compatibility
mode. Two versions of oa.obj is included with the software.
The installation process can then implement either approach,
defaulting to the larger status structure. If using the backwardly
compatible objects, all OmniAccess routines will expect that
they are receiving the old-style status structure.
The second option for backward compatibility is to set an
environment variable, OA_30600_STATUS=1. Even if using the
software for the new-sized status structure, that process
will expect old-style status structures. This allows the customer
to install for the larger structure, but implement it on a
per-program basis.
Following is the new status structure as defined in oa.h:
typedef struct oastatus
{ |
|
int error;
int warn;
int info;
int count;
int bufflen;
int instance;
int cursor;
int transaction;
int cpu;
int elapsed;
int data[32];
char buffer[256];
char native_error[256];
char location[256];
char context[256];
char msgs[8][256];
char reserved[1024]; |
} oastatus_t |
top
|