Skip to Content.
Sympa Menu

freetds - Re: 0.51 - tds7.0 text type truncate problem

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Julio Silva <jsilva AT ruido-visual.pt>
  • To: "TDS Development Group" <freetds AT franklin.oit.unc.edu>
  • Subject: Re: 0.51 - tds7.0 text type truncate problem
  • Date: Fri, 15 Jun 2001 21:40:22 +0000


Ops. I'm sorry but the last post was on the wrong mailing list. The strace
bellow is of program I use in sqlrelay to do queries. Meanwhile I found
in sqlrelay source this line #define MAX_ITEM_BUFFER_SIZE 2048
I'm going to change this but so far I only got a core dump after changing this
to 4096.

Best Regards,
Julio Silva



On Sex, 15 Jun 2001, you wrote:
> I dont know if this helps but this is some lines of strace to the query.py
> command I use to do the query:
>
> socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 4
> connect(4, {sin_family=AF_INET, sin_port=htons(3046),
> sin_addr=inet_addr("127.0.0.1")}}, 16) = 0
> read(4, "\377\377\377\377", 4) = 4
> write(4, "\0\0\0R", 4) = 4
> write(4, "select top 1 noticia from eurono"..., 82) = 82
> write(4, "\0\0", 2) = 2
> write(4, "\0\0", 2) = 2
> read(4, "\377\377\377\377", 4) = 4
> read(4, "\377\377\377\377", 4) = 4
> read(4, "\0\7", 2) = 2
> read(4, "noticia", 7) = 7
> read(4, "\0\20", 2) = 2
> read(4, "\0\0\10\0", 4) = 4
> read(4, "\0\0", 2) = 2
> read(4, "\377\377", 2) = 2
> write(4, "\0\0\0\0", 4) = 4
> write(4, "\0\0\0\0", 4) = 4
> read(4, "\0\0\10\0", 4) = 4
> read(4, "\r\n\r\nA Cimeira de Gotemburgo, ini"..., 2048) = 2048
> read(4, "\377\377\377\377", 4) = 4
> brk(0x80f8000) = 0x80f8000
> fstat64(1, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
>
> There is here a 2048 limitation but I dont know from where.
> Any help?
>
> Thx,
> Julio Silva
>
>
>
> On Sex, 15 Jun 2001, you wrote:
> > Ops. I downloaded the freetds.snapshot and now its a little better, but
> > not completely right, i.e, the truncate now goes from 255 bytes to 2048
> > bytes.
> >
> > The dump for the same query, now with the freetds.snapshot is this:
> >
> > 2001-06-15 19:50:42 inside ct_results()
> > 2001-06-15 19:50:42 processing result tokens. marker is 81
> > 2001-06-15 19:50:42 processing result tokens. marker is d1
> > 2001-06-15 19:50:42 inside ct_res_info()
> > 2001-06-15 19:50:42 inside ct_describe()
> > 2001-06-15 19:50:42 inside _ct_get_client_type()
> > 2001-06-15 19:50:42 inside ct_describe() datafmt->datatype = 7 server
> > type 108
> > 2001-06-15 19:50:42 inside ct_bind()
> > 2001-06-15 19:50:42 inside ct_bind() item = 1 datafmt->datatype = 1
> > 2001-06-15 19:50:42 inside ct_describe()
> > 2001-06-15 19:50:42 inside _ct_get_client_type()
> > 2001-06-15 19:50:42 inside ct_describe() datafmt->datatype = 16 server
> > type 35
> > 2001-06-15 19:50:42 inside ct_bind()
> > 2001-06-15 19:50:42 inside ct_bind() item = 2 datafmt->datatype = 1
> > 2001-06-15 19:50:42 inside ct_fetch()
> > 2001-06-15 19:50:42 processing row tokens. marker is d1
> > 2001-06-15 19:50:42 setting column 0 to NULL
> > 2001-06-15 19:50:42 setting column 1 to NULL
> > 2001-06-15 19:50:42 inside _ct_bind_data()
> > 2001-06-15 19:50:42 inside _ct_get_server_type()
> > 2001-06-15 19:50:42 inside _ct_bind_data() converting column 0 from type
> > 108 to type 47
> > 2001-06-15 19:50:42 inside _ct_bind_data() setting source length for 0 =
> > 17
> > 2001-06-15 19:50:42 inside _ct_bind_data() conversion done len = 3
> > bindfmt = 1
> > 2001-06-15 19:50:42 inside _ct_bind_data() length binding len = 3
> > 2001-06-15 19:50:42 inside _ct_get_server_type()
> > 2001-06-15 19:50:42 inside _ct_bind_data() converting column 1 from type
> > 35 to type 47
> > 2001-06-15 19:50:42 inside _ct_bind_data() setting source length for 1 =
> > 1744
> > 2001-06-15 19:50:42 inside _ct_bind_data() conversion done len = 255
> > bindfmt = 1
> > 2001-06-15 19:50:42 inside _ct_bind_data() length binding len = 255
> > 2001-06-15 19:50:42 inside ct_fetch()
> > 2001-06-15 19:50:42 processing row tokens. marker is fd
> > 2001-06-15 19:50:42 inside ct_results()
> > 2001-06-15 19:50:42 inside ct_cancel()
> > 2001-06-15 19:50:42 inside ct_results()
> > 2001-06-15 19:59:19 inside ct_cmd_drop()
> > 2001-06-15 19:59:19 inside ct_close()
> > 2001-06-15 19:59:19 inside ct_con_drop()
> > 2001-06-15 19:59:19 inside ct_exit()
> >
> > I remember you that I'm using freetds with sqlrelay 0.24 / rudiments0.18
> > Any help?
> > Best Regards,
> > Julio Silva
> >
> >
> >
> >
> >
> >
> >
> > On Sex, 15 Jun 2001, you wrote:
> > > In the BUGS file:
> > >
> > > >Reported but not confirmed
> > > >--------------------------
> > > >1. text values getting truncated to 255 bytes under TDS 7. (can someone
> > > >provide more detail?)
> > >
> > > I'm seeing this. Here is my dump. Note that the text column is column 1
> > > which
> > > according to the dump it is made a convert from type 37 to 49. I hope
> > > this
> > > helps:
> > >
> > > 2001-06-15 14:57:16 inside tds_process_login_tokens()
> > > 2001-06-15 14:57:17 inside tds_process_default_tokens() marker is e3
> > > 2001-06-15 14:57:17 inside tds_process_default_tokens() marker is ab
> > > 2001-06-15 14:57:17 Msg 5701, Level 0, State 2, Server xxxxx, Line 0
> > > Changed database context to 'master'.
> > > 2001-06-15 14:57:17 inside tds_process_default_tokens() marker is e3
> > > 2001-06-15 14:57:17 inside tds_process_default_tokens() marker is e3
> > > 2001-06-15 14:57:17 inside tds_process_default_tokens() marker is fd
> > > 2001-06-15 14:57:17 leaving tds_process_login_tokens() returning 1
> > > 2001-06-15 14:57:17 leaving ct_connect() returning 1
> > > 2001-06-15 14:57:17 inside ct_cmd_alloc()
> > > 2001-06-15 14:57:33 inside ct_command()
> > > 2001-06-15 14:57:33 inside ct_send()
> > > Sending packet @ 2001-06-15 14:57:33
> > > 0000 01 01 00 48 00 00 00 00 73 65 6c 65 63 74 20 74 |...H....select
> > > t|
> > > 0010 6f 70 20 31 20 69 64 5f 61 72 74 69 67 6f 2c 20 |op 1
> > > id_artigo, |
> > > 0020 6e 6f 74 69 63 69 61 20 66 72 6f 6d 20 65 75 72 |noticia from
> > > eur|
> > > 0030 6f 6e 6f 74 69 63 69 61 73 2e 64 62 6f 2e 65 6e
> > > |onoticias.dbo.en|
> > > 0040 5f 61 72 74 69 67 6f 73 |_artigos|
> > > 2001-06-15 14:57:33 inside ct_results()
> > > 2001-06-15 14:57:33 processing result tokens. marker is a0
> > > 2001-06-15 14:57:33 processing result tokens. marker is a1
> > > 2001-06-15 14:57:33 inside tds_process_default_tokens() marker is a1
> > > 2001-06-15 14:57:33 processing result tokens. marker is d1
> > > 2001-06-15 14:57:33 inside ct_res_info()
> > > 2001-06-15 14:57:33 inside ct_describe()
> > > 2001-06-15 14:57:33 inside _ct_get_client_type()
> > > 2001-06-15 14:57:33 inside ct_describe() datafmt->datatype = 15 server
> > > type 109
> > > 2001-06-15 14:57:33 inside ct_bind()
> > > 2001-06-15 14:57:33 inside ct_bind() item = 1 datafmt->datatype = 1
> > > 2001-06-15 14:57:33 inside ct_describe()
> > > 2001-06-15 14:57:33 inside _ct_get_client_type()
> > > 2001-06-15 14:57:33 inside ct_describe() datafmt->datatype = 16 server
> > > type 35
> > > 2001-06-15 14:57:33 inside ct_bind()
> > > 2001-06-15 14:57:33 inside ct_bind() item = 2 datafmt->datatype = 1
> > > 2001-06-15 14:57:33 inside ct_fetch()
> > > 2001-06-15 14:57:33 processing row tokens. marker is d1
> > > 2001-06-15 14:57:33 setting column 0 to NULL
> > > 2001-06-15 14:57:33 setting column 1 to NULL
> > > 2001-06-15 14:57:33 inside _ct_bind_data()
> > > 2001-06-15 14:57:33 inside _ct_get_server_type()
> > > 2001-06-15 14:57:33 inside _ct_bind_data() converting column 0 from type
> > > 109 to type 47
> > > 2001-06-15 14:57:33 inside _ct_bind_data() setting source length for 0
> > > = 8
> > > 2001-06-15 14:57:33 inside _ct_bind_data() conversion done len = 3
> > > bindfmt
> > > = 1
> > > 2001-06-15 14:57:33 inside _ct_bind_data() length binding len = 3
> > > 2001-06-15 14:57:33 inside _ct_get_server_type()
> > > 2001-06-15 14:57:33 inside _ct_bind_data() converting column 1 from type
> > > 35 to type 47
> > > 2001-06-15 14:57:33 inside _ct_bind_data() setting source length for 1 =
> > > 1744
> > > 2001-06-15 14:57:33 inside _ct_bind_data() conversion done len = 255
> > > bindfmt = 1
> > > 2001-06-15 14:57:33 inside _ct_bind_data() length binding len = 255
> > > 2001-06-15 14:57:33 inside ct_fetch()
> > > 2001-06-15 14:57:33 processing row tokens. marker is fd
> > > 2001-06-15 14:57:33 inside ct_results()
> > > 2001-06-15 14:57:33 inside ct_cancel()
> > > 2001-06-15 14:57:33 inside ct_results()
> > >
> > >
> > > Any hint? I'm thinking of moving into the source and try to fix this,
> > > what
> > > do
> > > you think? A tricky one or simple one?
> > > See you,
> > > JS
> > >
> > > ---
> > > You are currently subscribed to freetds as: [jsilva AT ruido-visual.pt]
> > > To unsubscribe, forward this message to $subst('Email.Unsub')
> >
> > ---
> > You are currently subscribed to freetds as: [jsilva AT ruido-visual.pt]
> > To unsubscribe, forward this message to $subst('Email.Unsub')
>
> ---
> You are currently subscribed to freetds as: [jsilva AT ruido-visual.pt]
> To unsubscribe, forward this message to $subst('Email.Unsub')




Archive powered by MHonArc 2.6.24.

Top of Page