[freetds] FreeTDS patch RSN and a quoting question.

Frediano Ziglio freddyz77 at tin.it
Sun Mar 13 05:17:20 EST 2005


Il giorno sab, 12-03-2005 alle 00:51 -0800, Peter Deacon ha scritto:
> FYI I'm working on fixing some regressions and misc problems since I've 
> been here last... (A long time ago:)
> 
> PID is process id rather than thread id.

Yes, you are right...

> New async connect can wait forever if the socket connect fails to connect.

Perhaps to detect connection on win32 you must use error in select or
perhaps I never tried to connect to an invalid server... good.

> Need to rank errors in the chain according to the ODBC spec.

This is new to me... did you discover some conditions where our ODBC
implementation fails to do so ?

> More native->sqlstate mappings.
> Various win32 build errors.
> use dbname fails at login on sybase because the db name is double quoted.
> 
> 
> Does anyone know why the initial 'use dbname' does use "dbname" rather 
> than use [dbname]?
> 
> As far back as I can remember using double quotes was never a good idea 
> for anything and [] worked well on nearly any platform.  use 
> "dbname" fails with Adaptive server 12.5.1. (which is what FreeTDS is 
> doing now) both use "dbname" and use [dbname] fail with an ancient copy 
> of 11.0.1 I dusted off...  I want to change the quote_id function to say:
> 
> return tds_quote(tds, buffer, ']', id, idlen);
> instead of:
> return tds_quote(tds, buffer, TDS_IS_MSSQL(tds) ? ']' : '\"', id, idlen);
> 

I think you refer to tds_quote_id. It's used in many places... too many
for such a change. It seems that ASE former than 12 (12.0, 12.5?? I
don't know...) do not use '[' type quoting so is not safe to change
this. It seems also that sybase don't like quoting for some types of id
(like owner if I remember). Perhaps a check if mssql or sybase starting
from 12.xxx would be better.

bye
  freddy77





More information about the FreeTDS mailing list