[freetds] CS_UINT_TYPE, but not CS_BIGINT_TYPE
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 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