AIX- FreeTds 0.51
Mark Schaal
mark at champ.tstonramp.com
Fri Nov 10 14:55:31 EST 2000
>
>
> TDS 7.0 is little endian only. Which means that the client (AIX in this
> case) needs to reverse all the data going and coming from the server.
> Somewhere along the line the tds_put_*() calls were 'fixed' and no longer
> support non-native byte orders. :-/
>
> I'll need to look through the logs and see whose changes these were but
> methinks we need to set this at the connection level anyway, so that we
> can support different byte orders for different connections. This would
> handle the date hack for SQL Server 7.0 as well if we pretended to be
> little endian
>
> Brian
Unless I'm misreading "cvs diff" there never was any such support in
the tds_put_*() calls. I'll cop to removing some code from
tds_get_smallint(), but that code wasn't doing anything, honest,
and it definitely wasn't TDS7 support.
I don't see the need for connection level support. Isn't it
sufficient to check for "if (big_endian and tds7.0)" in the
appropriate places? The most readable way I've thought of is
to force configure to set WORDS_BIGENDIAN=0 for little endian
machines and then the test is
if (WORDS_BIGENDIAN && IS_TDS7(tds))
(...which you would think the compiler could optimize away but
my gcc 2.8.1 and gcc 2.91.66 at -O2 don't seem to, hmm.)
Mark
--
Mark J. Schaal Phone: (909) 620-7724
TST On Ramp Fax: (909) 620-8174
System Administrator E-Mail: mark at tstonramp.com
More information about the FreeTDS
mailing list