Open SQL compliance -
01-08-2010
, 07:40 PM
We are currently trying to make our code 100% compatible with Ingres
Enterprise access for possible ports to non-Ingres databases. I have used
to -wopen flag on compileapp to identify which components have SQL that will
likely fail when run against SQLServer, DB2 or Oracle.
The problem is that I need to produce a distinct list of the problem
scenarios and provide a solution for each one.
Ideally I wanted a single file for each application of all the warnings -
This can be accomplished with errors using the -e flag which shows the
source code in the trace window / log file, but unfortunately this does not
work with warnings.
So I have recompiled each application with -wopen to produce a list of 198
components with warnings
I then have compiled each one individually in the workbench and scrolled
through every warning using ^W to ensure that ALL scenarios have been
identified in this estimation stage.
Here is what the -wopen flag has found, so far .... any alterations /
submissions would be very much appreciated:
CREATE TABLE .... AS SELECT ...
DECLARE TEMPORARY TABLE ... AS SELECT ...
SAVEPOINT
ROLLBACK TO
SET statements
UPDATE ... FROM ....
COPY (ascii)
GRANT
CREATE TABLE ... (....... [WITH|NO] DEFAULT, ...)
MODIFY
DROP (without an object type)
RAISE|REGISTER|ON DBEVENT
My solutions for some of these so far are:
UPDATE FROMs we will build as a string and EXECUTE IMMEDIATE
Ascii COPY statements are built as a string then parsed to convert to the
relevant language syntax then EXECUTE IMMEDIATE
DBEvents have already been coded around using a table/daemon
The rest are much more limited in scope but any suggestions are of course,
appreciated :-)
Obviously the fewer statements that have to be quoted and built as strings
the less the danger of casting failures at runtime - the less testing we
need to do the better !
Colin Hay
Fintechnix |