Re: Patch for MS SQL Server 2000 via ODBC
"lisp" <[email protected]> Tue, 08 Nov 2005 23:27:13 +0000
| Newsgroups | gmane.lisp.clsql.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Kevin Thanks for the feedback. There should be no problem moving the code into the generic odbc driver. I went with the seperate backend initially as this seemed to be the pattern. I'll put together an updated patch for you to take a look at as soon as I get the time. I've just tracked down a nasty little bug in the ODBC code that reads data in chunks - I'll post this as well. Dominic On Fri, 4 Nov 2005 13:02:05 -0700, "Kevin Rosenberg" <kevin-HJRc7zDS/[email protected]> said: > lisp wrote: > > The attached patches are for an interface to Microsoft SQL Server > > 2000 via the ODBC interface. They implement an underlying database > > type :mssqlserver for the generic odbc interface. The patches are > > relative to the 3.3.0 release. > > Hi Dominic, > > This is an interesting patch. In general, I'm glad to add support for > MSSQL, though I have some relucatance in that I don't have MSSQL > available to me and I'm not able to help with development and testing. > Nonetheless, I think it is a win to add support for MSSQL. > > > This code has been tested on LispWorks Pro 4.4.5 on Windows XP. The > > unit tests (with minor modifications and exclusions) all pass ok > > with MS SQL Server. > > That's good, thanks for that information. > > > I've tried not to break anything else, but I don't have the other > > backends set up to be able to test against them. > > Not breaking is good, but I think your patch needs to be more > integrated (see below). > > > This is the first time I've created a patch so please bear with me > > if there any howlers in here. > > In the future, it'd be easier to submit a single, recursive unified > diff. Such as: > > diff -ur clsql-3.3.x my-clsql-tree > patchfile > > I see a few issues with your patch. First, since the interface is > odbc, it would be perferred is your patch did not create a new backend > but rather was integrated into the current odbc backend. ODBC backends > do vary in functionality. That's why I store the odbc-db-type so > behaviour can be accounted for at runtime. I see that you override > some of the generic functions to express the characteristics of MSSQL. > That's good. However, rather than creating a whole new backend, could > you set and use odbc-db-type to control the behavior of the ODBC > backend? The odbc db type is stored in the STORE-TYPE-OF-CONNECTED- > DATABASE function in odbc-sql.lisp. > > I set some of the odbc backend in sql/generic-odbc.lisp so that both > the db-odbc and db-aodbc backends can share the same logic. That'd > probably be the best place to put some of the MSSQL-specific behavior. > I expect that Allegro's aodbc can talk to MSSQL via ODBC fine. > > Second, rather than :mssqlserver, I perfer :mssql as a type. It's > shorter and the 'server' component of your name doesn't do anything to > uniquely identify one SQL server engine from another. > > Thanks again for the contribution. I look forward to hearing your > thoughts about integrating your MSSQL support into the current ODBC > backend. > > Kevin > > > > > > > _______________________________________________ > > CLSQL-Devel mailing list [email protected] > > http://lists.b9.com/mailman/listinfo/clsql-devel > > -- > Kevin Rosenberg kevin-HJRc7zDS/[email protected]