[freetds] Progress on CVS
David Nichols
nicholsman at gmail.com
Thu Jun 21 05:29:47 EDT 2007
On Jun 21, 2007, at 11:04 AM, ZIGLIO, Frediano, VF-IT wrote:
>>
>> hi, I wrote the patch, so if you can give me more information
>> on what
>> revisions you are looking for, I'll take care of it.
>>
>> thanks,
>> david
>>
>
> Mainly it's just that I like more eyes looking at every patch before
> apply. Also I'd like to see some comment for your questions
> (client_charset use, CS_LC_ALL). I don't understand how you handle dot
> ('.') in language (CS_SYB_LANG_CHARSET). Are you sure that ctlib
> locale->time is compatible with libTDS tds_socket->date_fmt ??
no problem at all.
Regarding CS_SYB_LANG_CHARSET: I implemented the support for this
following Sybase' OpenClient 15 manual as documented here:
http://infocenter.sybase.com/help/index.jsp?topic=/
com.sybase.dc32850_1500/html/comlib/X37122.htm
I then tested the code against real Sybase ct-lib and against my
patched freetds version and it worked the same (checked character
encodings of queries and the server messages for the language set).
I also tested error cases (unknown languages, etc) and they worked as
expected with both Sybase's ct-lib and my patched freetds code.
I do not believe that locale->time is compatible with tds_socket-
>date_fmt. However the code to set this value is not included in
the patch - I assumed that in the future, when some translation can
be made between languages and time formats somehow, that an
appropriate string for tds_socket->date_fmt could be generated from
the CS_LC_TIME value, but maybe this is not enough.
I also ran tests with valgrind to check for memory leaks, memory
errors (found and fixed a couple) and the result code in the patch
was memory-clean.
However I see now that there is potential a memory bug there in the
patch (which didn't get caught because this code path can never be
reached at the moment for the reasons described above) - in ct.c
ct_connect(): strlen(con->locale->time) - 1 should be + 1 instead.
thanks,
David
PS: the confusion over what you wanted with the patch was due to
"false friends" between english and italian: revisitare = "review",
"revise" = editare, rifare
>
> freddy77
>
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
More information about the FreeTDS
mailing list