On Wed, 19 Aug 2015 11:22:35 +0200, Paul Vinkenoog <p...@vinkenoog.nl> wrote: > Hi all, > >> > I think this is mistake, isn't it? Abount "SOME_COL = ? OR ? IS NULL >> > Predication" >> > >> > --- >> > • If “param1” is not NULL, the language interface is required to >> > assign the correct value for the first parameter, set the >> > XSQLVAR.sqlind to NOT NULL and leave XSQLVAR.sqldata NULL. >> > --- >> > >> > fix this >> > >> > --- >> > • If “param1” is not NULL, the language interface is required to >> > assign the correct value for the first parameter, set the >> > XSQLVAR.sqlind to NOT NULL. >> > --- >> >> As far as I can tell the existing text is intentional and correct. It >> tries to convey that the value of XSQLVAR.sqldata is irrelevant for >> parameters in ? IS NULL (and therefor is best left NULL). > > Tsutomu is right. param1 is the parameter with a 'normal' SQL data type > (i.e. not SQL_NULL). So if it is not NULL, XSQLVAR.sqldata should point > to the value and XSQLVAR.sqlind should be set to 0 (indicating NOT NULL). > > Only in the second parameter (the one in "? IS NULL", of SQL_NULL type) > should XSQLVAR.sqldata always be null (null pointer).
The way I read it, "set the XSQLVAR.sqlind to NOT NULL and leave XSQLVAR.sqldata NULL." refers to the "? IS NULL" parameter, not the first parameter ("SOME_COL = ?"). ------------------------------------------------------------------------------ _______________________________________________ Firebird-docs mailing list Firebird-docs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-docs