[freetds] CS_UINT_TYPE, but not CS_BIGINT_TYPE

Michael Peppler mpeppler at peppler.org
Thu Mar 27 02:11:15 EDT 2008


James K. Lowden wrote:
> Federico Alves wrote:
>> I open a ticket with DBD-Sybase and the author Michel Peppler thinks
>> there is an issue
>> with freetds, not with DBD-Sybase.
>> <URL: http://rt.cpan.org/Ticket/Display.html?id=34411 >
>>
>> On Mon Mar 24 20:19:06 2008, falves1 wrote:
>>> I compiled DBD-Sybase 1.08 using DBI 1.604, and the perl Makefile.PL 
>>> works fine, but then when I do a make I get this
>>> Sybase.xsi:275: error: invalid lvalue in assignment
>>> Sybase.xsi: In function âXS_DBD__Sybase__db_DESTROYâ:
>>> Sybase.xsi:334: error: invalid lvalue in assignment
>>> make: *** [Sybase.o] Error 1
>> This is a problem with FreeTDS.
>>
>> The issue is that FreeTDS defines CS_UINT_TYPE, but not CS_BIGINT_TYPE,
>> and Sybase never defines one without the other.
> 
> I'm not convinced this is a "problem" with FreeTDS, and I'm not sure how
> to fix it.  
> 
> FreeTDS doesn't guarantee line-by-line compatibility with Sybase's header
> files.  The project's header files describe the functions, structures, and
> datatypes implemented by the library.  If CS_UINT_TYPE but not
> CS_BIGINT_TYPE is supported/used/implemented by the library, then only
> CS_UINT_TYPE *should* appear in the header file.  Anything else would
> mislead the developer: the translation unit might compile but fail to
> link, or link and not work.  
> 
> Michael, AIUI DBD::Sybase assumes CS_BIGINT_TYPE upon testing for
> CS_UINT_TYPE.  Wouldn't it be better to test for CS_BIGINT_TYPE directly? 

I've made those changes, but (using 0.82rc2, which is probably not quite 
the latest) I get errors with CS_BIGINT not defined (and I can't test 
for that, as that's a typedef, not a #define in Sybase's implementation).

So it looks to me like FreeTDS's OC implementation has a small problem 
in that respect (or at least had in the version I have here).

Michael
-- 
Michael Peppler           -                 Peppler Consulting SaRL
mpeppler at peppler.org      -                  http://www.peppler.org
Sybase DBA/Developer      -   TeamSybase: http://www.teamsybase.com
Sybase on Linux FAQ       -   http://www.peppler.org/FAQ/linux.html


More information about the FreeTDS mailing list