Re: empty strings select as null bug
Geoff Montee <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <CAA7biFN2+ycMxuSCmezBR4JA3cr2Ypf7GLz4Mn-E+1P7o0TTfg@mail.gmail.com> |
On Wed, Jun 10, 2015 at 10:39 PM, LacaK <[email protected]> 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