Skip to Content.
Sympa Menu

freetds - Re: [freetds] Problem with Set TEXT field to NULL

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Min <pingminadmin AT gmail.com>
  • To: freetds AT lists.ibiblio.org
  • Subject: Re: [freetds] Problem with Set TEXT field to NULL
  • Date: Mon, 9 Feb 2009 15:37:47 -0500

Well, second thought might still be the fetch issue.

As SYBASE will create a text pointer when using UPDATE to set TEXT field,
even with a NULL. So there is a difference between initialized NULL value
and a updated NULL value with a text pointer. It seems freetds doesn't
handle the latter well and php will crash.

Any way to get around this?

Thanks,

Min

On Mon, Feb 9, 2009 at 3:16 PM, Min Admin <pingminadmin AT gmail.com> wrote:

> Hello,
>
> I use the following command to set a TEXT field to NULL in tsql or sqsh. It
> is executed without error.
>
> UPDATE table_a SET col_y = NULL WHERE col_id=1
>
> Then if I use SELECT to see the result, it shows up like it is empty value,
> not NULL. What's more, if I use php to SELECT this column, it will crash.
>
> Part of the SELECT log by using php:
>
> 14:46:53.448043 3827 (token.c:510):processing result tokens. marker is
> d1(ROW)
> 14:46:53.448061 3827 (token.c:2166):tds_process_row(): reading column 0
> 14:46:53.448078 3827 (token.c:1915):tds_get_data: type 35, varint size 4
> 14:46:53.448097 3827 (token.c:1975):tds_get_data(): wire column size is 0
> 14:46:53.448114 3827 (util.c:162):Changed query state from READING to
> PENDING
> 14:46:53.448132 3827 (ct.c:1555):inside ct_fetch()process_row_tokens
> returned 1
> 14:46:53.448149 3827 (ct.c:1704):_ct_bind_data()
> 14:46:53.448166 3827 (ct.c:1711):_ct_bind_data(): column_type: 35
> column_len: 0
> 14:46:53.448182 3827 (ct.c:2003):_ct_get_server_type(0)
> 14:46:53.448199 3827 (ct.c:1890):_ct_get_client_type(type 35, user 19, size
> 64512)
> 14:46:53.448220 3827 (cs.c:463):cs_convert()
> 14:46:53.448237 3827 (ct.c:2003):_ct_get_server_type(4)
> 14:46:53.448254 3827 (ct.c:2003):_ct_get_server_type(0)
> 14:46:53.448271 3827 (cs.c:470):cs_convert() srctype = 35 (0) desttype = 47
> (64513)
> 14:46:53.448289 3827 (cs.c:483):cs_convert() srcdata is null
>
> Please notice that wire column size is 0. If it is NULL, it should be -1.
>
> As I have no problem to SELECT NULL or empty TEXT field, I suppose the
> UPDATE is going something wrong.
>
> Any ideas?
>
> Thanks,
>
> Min
>




Archive powered by MHonArc 2.6.24.

Top of Page