[freetds] CS_UINT_TYPE, but not CS_BIGINT_TYPE
ZIGLIO, Frediano, VF-IT
Frediano.Ziglio at vodafone.com
Thu Mar 27 11:48:07 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
> >>> 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
> >> 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
> 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).
I started writing a patch to fully support bigint and date/time (attached). However I think it would be better to remove CS_BIGINT_TYPE, CS_UBIGINT_TYPE, CS_DATE_TYPE and CS_TIME_TYPE. The reason is that are not that supported and there are some possible issue with the patch:
- what happen if server does not support date/time/bigint ?? FreeTDS is able to translate to a proper server type for parameters (ie numeric for bigint or datetime for time/date) ? Or should ctlib fail ?
- are date and time handled correctly ?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3155 bytes
Url : http://lists.ibiblio.org/pipermail/freetds/attachments/20080327/ad027bef/attachment.gz
More information about the FreeTDS