Re: CS_UINT_TYPE, but not CS_BIGINT_TYPE

"ZIGLIO, Frediano, VF-IT" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
> 
> 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

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 ?

freddy77

_______________________________________________
FreeTDS mailing list
[email protected]
http://lists.ibiblio.org/mailman/listinfo/freetds
vedi.diff.gz (application/x-gzip, 3.1 KB) - not displayed
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.