[freetds] empty strings select as null bug
Geoff Montee
geoff.montee at gmail.com
Thu Jun 11 03:17:30 EDT 2015
On Wed, Jun 10, 2015 at 10:39 PM, LacaK <lacak at zoznam.sk> wrote:
>
> I am using for testing NULL dbdata(), which should return nil for NULL data.
> (In my case I know, that column exists)
>
> From Sybase documentation:
> "A NULL BYTE pointer is returned if there is no such column or if the data
> has a null value. To make sure that the data is really a null value, you
> should always check for a return of 0 from *dbdatlen*."
>
> From Microsoft documentation:
> "A NULL BYTE pointer is returned if there is no such column or if the data
> has a null value. To make sure that the data is really a null value, check
> for a return of 0 from *dbdatlen*."
>
> So you can use: dbdata()==nil && dbdatlen()==0
>
I decided to go with your test:
https://github.com/GeoffMontee/tds_fdw/blob/b5f678cded099f9231473c520cf1dbe8363a470a/src/tds_fdw.c#L1855
I think Jeff's bug is fixed.
It's really good to know that dbdatlen() can return 0 in the case of
an empty string.
Thanks for your help, everyone!
Geoff
More information about the FreeTDS
mailing list