Hi John,<br><br>Two thoughts: is there any prospect of making HDBC available under a BSD-like license? The LGPL license is a significant barrier for me and I expect it will be for others.<br><br>And, along the lines of your own comments, the ODBC interface raises a significant (technical) barrier for MySQL users. Is there any chance that we can encourage/help getting the the MySQL driver closer to production quality?<br>
<br>I expect to be able to help out with this (and a CentOS HP) later in the year, provided I can resolve the license issue!<br><br>Cheers,<br><br>Chris<br><br><div class="gmail_quote">On 22 February 2011 16:50, John Goerzen <span dir="ltr">&lt;<a href="mailto:jgoerzen@complete.org">jgoerzen@complete.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi folks,<br>
<br>
HDBC has been out there for quite some time now.  I wrote it initially to meet some specific needs, and from that perspective, it has been done for awhile.  It is clear, however, that there are some needs it doesn&#39;t meet.  Most of them relate to specific backend driver items.<br>

<br>
I&#39;d like to start some discussion in the community about what the future of HDBC and its backend drivers ought to look like.  Some models might be:<br>
<br>
 1. I continue as maintainer for HDBC and HDBC-{postgresql,odbc,sqlite3} and act as patch manager/gatekeeper for patches that are discussed on some public mailing list.<br>
<br>
 2. Interested parties adopt the backend drivers while I continue to act as maintainer/patch manager/gatekeeper for HDBC itself.<br>
<br>
 3. Interested parties adopt all of HDBC and maintain it<br>
<br>
I am not expressing a particular preference for any of these options; just putting them forth.<br>
<br>
Here are some of the current issues I am aware of:<br>
<br>
 1. I have no Windows development platform.  I can&#39;t test the releases on Windows.  Many Windows users don&#39;t have the skill to diagnose problems.  These problems do eventually get fixed when a Windows user with that skill comes along -- and I appreciate their efforts very much! -- but it takes longer than it ought to.<br>

<br>
 2. The ODBC documentation is monumentally terrible, and the API is perhaps only majestically terrible, and it is not 100% clear to me all the time that I have it right.  A seasoned ODBC person would be ideal here.<br>
<br>
 3. Issues exist with transferring binary data and BLOBs to/from at least PostgreSQL databases and perhaps others.  There appear to be bugs in the backend for this, but BLOB support in the API may need to be developed as well.<br>

<br>
 4. Although the API supports optimizations for inserting many rows at once and precompiled queries, most backends to not yet take advantage of these optimization.<br>
<br>
 5. I have received dueling patches for whether foreign imports should be marked &quot;safe&quot; or &quot;unsafe&quot; on various backends.  There seems to be disagreement in the community about this one.<br>
<br>
 6. Many interactions with database backends take place using a String when a more native type could be used for efficiency.  This project may be rather complex given varying types of column data in a database -- what it expects for bound parameters and what it returns.  The API support is there for it though.<br>

<br>
 7. Various other more minor items.<br>
<br>
Thoughts?<br>
<br>
-- John<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br><div style="visibility: hidden; display: inline;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup {  position:absolute;  z-index:9999;  padding: 0px 0px;  margin-left: 0px;  margin-top: 0px;  width: 240px;  overflow: hidden;  word-wrap: break-word;  color: black;  font-size: 10px;  text-align: left;  line-height: 13px;}</style>