<div><div class="gmail_quote">On Fri, Sep 7, 2012 at 8:48 AM, Ian Lynagh <span dir="ltr">&lt;<a href="mailto:ian@well-typed.com" target="_blank">ian@well-typed.com</a>&gt;</span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think it would be best to use lowest-common-denominator SQL, so that<br>
one can set up a Hackage 2 instance with postgreq, mysql, sqlite, or<br>
another DB backend.<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div>While I think that&#39;s a laudable goal in theory,  unfortunately the only database-independent client interface Haskell has at the moment is HDBC,  which is rather painful to use compared to mysql-simple, pgsql-simple, postgresql-simple,  and sqlite-simple.    And unfortunately,  there are also some incompatibilities between the *-simples, though perhaps one could, with great care,  write code that works on any of them by changing which module is imported.<div>
<br></div><div>The other issue is that least-common-denominator sql is also pretty restrictive,  and that in a great many of my own projects,  I&#39;ve found database-specific functionality compelling,  often allowing me to implement things much more efficiently than otherwise,  either in terms of programming time or runtime or both.</div>
<div><br></div><div>Best,</div><div>Leon</div><div><br></div></div></div>