Solved, problem is due to charsets with a shift state where shift state was
left into
iconv.
See patch
http://freetds.cvs.sourceforge.net/viewvc/freetds/freetds/src/tds/iconv.c?view=patch&r1=1.
132&r2=1.132.2.1&sortby=date.
You should see an updated patch for 0.82 on freetds.sourceforge.net
Fred
Problem is related to how FreeTDS use iconv and shift state. Last characters (I
don't
understand why) left in iconv as the shift state. Adding a
tds_iconv(tds, char_conv, to_client, NULL, NULL, outbuf, outbytesleft);
line before return in read_and_convert and removing assert for
inbuf/inbytesl
Well, these steps help reproduce the problem even with tsql utility
1> create table #tmp1 (i int, v varchar(10) collate Hebrew_CI_AI)
2> go
1> insert into #tmp1 values(1, cast(0xde05d905d305e205 as nvarchar(10)))
2> insert into #tmp1 values(2, cast(0x69006e0066006f00 as nvarchar(10)))
3> insert i
Check patch post 0.63 at http://freetds.sourceforge.net/
There are some buffer overflow fixes and fix for date (cfr "fix possible
core calling strftime")
Regards
Frediano Ziglio
4 matches
Mail list logo