Re: Compiling Against FreeTDS 0.95 w/7.3 TDSVER Features Possible?

Frediano Ziglio <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <CAHt6W4fYt8eaozmoJbq__CYdpZT-=srmPja9qj0VV6HUa7pXyw@mail.gmail.com>
2015-11-22 0:42 GMT+00:00 Ken Collins <[email protected]>:
> On November 21, 2015 at 11:13:00 AM, Frediano Ziglio ([email protected])
> wrote:
>
> 2015-11-15 20:14 GMT+00:00 Ken Collins <[email protected]>:
>> I am in the process of upgrading the Ruby C extensions to FreeTDS from
>> 0.91 to 0.95.
>>
>> The primary goal is to also support using TDSVER 7.3 and the newly
>> supported 2008 data types.
>>
>> Is this possible to use these new types in 0.95 when many of the types are
>> not defined in sybdb.h? For example here is a diff of that file when
>> comparing 0.95 to master.
>> https://gist.github.com/metaskills/4c9900c3d1078e5c4763
>>
>>
>> For example, I can see that dbcoltype() is returning integers that match
>> these below. I can even see the binary data, but I am unsure how what API
>> functions I need to use this data. So far dbdatecrack() is not working. Any
>> recommendations?
>>
>> SYBMSDATE = 40
>>
>> SYBMSTIME = 41
>>
>> SYBMSDATETIME2 = 42
>>
>> SYBMSDATETIMEOFFSET = 43
>>
>>
>
> How does it sound this patch (as a start)
>
> https://github.com/FreeTDS/freetds/commit/a35fe7e4f98034f255c9ca77eab8b9891dfac661
>
> Frediano
>
> Looks great! I'm interested in knowing how DBDATETIMEALL might be used.
> Would this be the structure returned for the new date crack?
>

dbdata. Is already returned in this way, just there was no definition
for the structure.

> I've created this issue
> (https://github.com/rails-sqlserver/tiny_tds/issues/244) on our project to
> tracks this. Thanks and I'll watch master for updates.
>

I pushed some changes to master to integrate dbanydatecrack. This
function use new DBDATEREC2 type which change milliseconds to
nanoseconds in the DBDATEREC structure and accepts an additional type
parameter (which can be returned by dbcoltype) for the type.
So you can use dbdata+dbcoltype+dbanydatecrack to parse any date/time
type (even future BIGTIME or whatever). The idea is to backport these
changes in 0.95 too.

Could you try if works for you? I extended a test and is actually working.

Frediano
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.