Kbase 12990: V6 DOS SQL WHERE <field> = NULL Bug Fixed in 7.3A
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/05/1998 |
|
V6 DOS SQL WHERE <field> = NULL Bug Fixed in 7.3A
Bug number: 92-11-09-012 Affected OS: DOS Fixed In: 7.3A
Short Description: V6 DOS SQL WHERE <FIELD> IS NULL
Using select where field is null does not return the same values
as using the exact syntax on a UNIX box. Ie. On DOS, create
a character field with no initial value. In the Progress editor
say SELECT * FROM CUSTOMER WHERE NEWFIELD IS NULL. This returns
nothing. However if you say SELECT * FROM CUSTOMER WHERE
NEWFIELD = " ". It will return a number of records.
On the UNIX boxes ie. Sequent, DG Aviion, SCO UNIX both of the
above statements return the same number of records.
There seems to be a change between V6 and V7 handling
of the unknown value (?). V7 and V6 on UNIX and V7 on
Windows correctly compare against the unknown value,
whereas 6.2p on Windows doesn't handle things correctly.
To see this, create a table and insert values:
CREATE TABLE FOO (CHAR_FLD CHAR(10), INT_FLD INTEGER)
INSERT INTO FOO (INT_FLD) VALUES (2).
INSERT INTO FOO (INT_FLD) VALUES (4).
then, in the progress editor, execute:
FOR EACH FOO WHERE CHAR_FLD = ?:
DISPLAY CHAR_FLD INT_FLD.
END.
In V6 UNIX, V7 UNIX and V7 DOS, this query returns 2 records,
in V6 DOS, this returns zero records.
This bug has been fixed for 7.3A; no plans to fix in Version 6.
Progress Software Technical Support Note # 12990