From: Robert v. H. <rh...@cs...> - 2005-09-04 10:50:15
|
Hi all, I'm currently testing the cabalized version of HaskellDB. I wonder why GenericConnect.pphs does not seem to get installed with the cabal package... Was this intended? Regards, Robert |
From: Bjorn B. <bri...@cs...> - 2005-09-04 17:00:02
|
Robert van Herk wrote: > I'm currently testing the cabalized version of HaskellDB. >=20 > I wonder why GenericConnect.pphs does not seem to get installed with th= e=20 > cabal package... Was this intended? Yes it was. The problem with GenericsConnect is that it imports all the=20 drivers that were compiled with it. This has a number of problems: 1) Any program using GenericConnect links with all the drivers that were=20 compiled along with GenericConnect, which makes the program large and=20 gives it a lot of link-time and run-time dependencies. 2) The package which would contain GenericConnect would have to depend=20 on all the driver packages, which means that that package cannot easily=20 be distributed, for example, as a binary RPM since the dependencies=20 would not be fixed. All in all, GenericConnect does not seem like a very good idea to me. I=20 think that the hs-plugins-based generic backend is a better idea. The=20 only problem is that I haven't yet had time to figure out how to make it=20 load drivers from the installed packages. Currently it expects an object=20 file in the current directory. Help here would be appreciated. /Bj=F6rn |
From: Robert v. H. <rh...@cs...> - 2005-09-04 17:19:05
|
>> I wonder why GenericConnect.pphs does not seem to get installed with >> the cabal package... Was this intended? > Yes it was. The problem with GenericsConnect is that it imports all > the drivers that were compiled with it. This has a number of > problems: ... Ah I see. Does this mean that currently, there is no way to connect to a database from GHC 6.4? I've been browsing the HaskellDB's test files, but they all seem to use GenericConnect... Regards, Robert |
From: Bjorn B. <bri...@cs...> - 2005-09-04 17:48:19
|
Robert van Herk wrote: >>> I wonder why GenericConnect.pphs does not seem to get installed with=20 >>> the cabal package... Was this intended? >> >> Yes it was. The problem with GenericsConnect is that it imports all=20 >> the drivers that were compiled with it. This has a number of=20 >> problems: ... >=20 > Ah I see. Does this mean that currently, there is no way to connect to = a=20 > database from GHC 6.4? I've been browsing the HaskellDB's test files,=20 > but they all seem to use GenericConnect... The recommended way at the moment is to use one of the driver-specific=20 connection functions: Database.HaskellDB.HSQL.MySQL.mysqlConnect Database.HaskellDB.HSQL.ODBC.odbcConnect Database.HaskellDB.HSQL.PostgreSQL.postgresqlConnect Database.HaskellDB.HSQL.SQLite.sqliteConnect Database.HaskellDB.WX.wxConnect /Bj=F6rn |
From: Krasimir A. <ka2...@ya...> - 2005-09-09 07:01:10
|
--- Bjorn Bringert <bri...@cs...> wrote: > All in all, GenericConnect does not seem like a very > good idea to me. I > think that the hs-plugins-based generic backend is a > better idea. The > only problem is that I haven't yet had time to > figure out how to make it > load drivers from the installed packages. Currently > it expects an object > file in the current directory. Help here would be > appreciated. I would like to have dynamically loaded drivers in HSQL but I don't like to use something like hs-plugins. The problem with it is that you have to load at runtime a copy of all packages which are required from the dynamically loaded objects. In our case this is the base package. We already have one copy of base package which is already linked with the program and you have to load a second copy just in order to link the drivers. This has a significant drawbacks to me. First of all this is a waste of space and the second is that it might not work properly with the static variables in base. I am sure that soon or later we will have proper support for .dll under Windows as well as we already have .dynlib under MacOS. It will improve the things and then I will add dynamic drivers. Cheers, Krasimir ______________________________________________________ Click here to donate to the Hurricane Katrina relief effort. http://store.yahoo.com/redcross-donate3/ |