I modified my test to also include ICHECK - curiously enough, this does
not report any errors either.
It is starting to look like OPENCHECK/WRITE and ICHECK do not consider
column data type as a CONSTRAINT - sort of defeats one of the main
benfits of SQL tables doesn't it ?




-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of u2ug
Sent: April 28, 2008 8:54 AM
To: [email protected]
Subject: RE: [U2] UniVerse SQL Tables

Yes I know about the OPENCHECK config setting which was why I was
intentionally using the OPENCHECK statement.

What you are saying seems to agree with how I thought things should
work, however, even when using OPENCHECK, I am able to write complete
garbage to an SQL table column defined as a DATE type.

The hope is that we can SQL'ize tables to allow us to setup SQL security
constraints for odbc access without affecting any existing data or code.
Bad data we can get around by configuring the dictionaries accordingly
but having existing code bomb due to bad data is not an option.

I tested using OPENCHECK because a normal write didn't cause an error
but OPENCHECK should have, just to ensure that the system was working as
it should - seems it isn't and that is a concern.






-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ray Wurlod
Sent: April 28, 2008 3:07 AM
To: [email protected]
Subject: Re: [U2] UniVerse SQL Tables

OPENCHK is also a parameter in uvconfig.  It allows you to configure the
system to bypass integrity checks when the file is opened with OPEN -
but not when the file is opened with OPENCHK.  Thus your understanding
is conditionally correct, depending on the setting of OPENCHK in
uvconfig.  This is not new, it has been thus since SQL was added to
UniVerse BASIC.

This "feature" is intended for the transition period, until you have
cleaned up the legacy data (!).

Once you have done that, you can "switch off" the loophole via the
OPENCHK configuration parameter and you will never again have data
written into your table that fails any of your security or integrity
checks, including data type.

There is also a function called ICHECK() that allows you to perform a
"trial write".  It reports whether the write will or will not violate a
constraint, and returns information about which one would be violated.
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to