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

Reply via email to