Hi, > Perhaps we can discuss more on the Xerial list? Or via email?
Both is fine with me. Regards, Thomas On Fri, Apr 12, 2013 at 2:40 PM, <[email protected]> wrote: > Hello Thomas- > Thank you so much! I'm sure the Xerial guys will be happy. > > With respect to the code, I think you're right - SQLite does not support 2 > phase commit. To be honest, I have a limited understanding of the code. I > spent only a few hours adapting the classes to work with SQLiteJDBC. I used > the MiniConnectionPoolManager > <http://www.source-code.biz/miniconnectionpoolmanager/>as a test harness > and everything magically worked. > > My use case was pretty simple. In my multithreaded web app, I needed a way > for multiple concurrent clients to update the database. Of course, SQLite > doesn't support concurrent write operations so I created a connection pool > with 1 r/w connection that the clients could use to write to the database. > I had a separate connection pool for read-only connections. This approach > has worked out really well for several production websites. > > I'll certainly update the SQLite ConnectionPoolDataSource as you > suggested. Perhaps we can discuss more on the Xerial list? Or via email? > > > Thanks Again! > Peter > > > > On Friday, April 12, 2013 7:27:31 AM UTC-4, Thomas Mueller wrote: > >> Hi, >> >> You have my permission to use and change the license for the classes >> org.h2.jdbcx.JdbcXid and org.h2.jdbcx.JdbcXAConnection. >> >> About the code: SQLite does not support 2-phase commit as far as I'm >> aware, so I wonder if you should change the relevant methods? >> >> I think you should set autocommit to true if it was disabled: >> >> if (getAutoCommit()==false) rollback(); >> //setAutoCommit(true); //<--Not sure why we need this line >> >> >> >> Regards, >> Thomas >> >> >> >> On Fri, Apr 12, 2013 at 1:08 PM, Peter Borissow <[email protected]> >> wrote: >> > >> > Hello- >> > This is my first post to this list so I want to start by saying >> thank you for H2! It's a great project and I've used it extensively in the >> past. >> > >> > A couple years ago, I was tasked to develop a web app using SQLite and >> a spatial extension called SpatiaLite. I used Xerial's JDBC driver which >> unfortunately did not support connection pooling. So, in a pinch, I grabbed >> 2 classes from H2 to create a ConnectionPoolDataSource for SQLite. >> > >> > In the spirit of open source, I would like to release my modified code >> back to the community and have it integrated into the Xerial SQLiteJDBC >> project. >> > >> > Unfortunately, there's a license compatibility issue. The Xerial >> SQLiteJDBC project is released under an Apache license. H2 is of course >> dual licensed under MPL and EPL. >> > >> > While the licenses are very similar and appear to be compatible, I was >> wondering if I could get someone's permission to release my modified code >> under an Apache license. >> > >> > The 2 classes in question are: >> > - org.h2.jdbcx.JdbcXid (r3670) >> > - org.h2.jdbcx.JdbcXAConnection (r3905) >> > >> > >> > You can compare my code with the original H2 code here: >> > >> > http://sourceforge.net/p/**sqlite-connpool/code/HEAD/** >> tree/trunk/org/sqlite/**SQLiteXid.java<http://sourceforge.net/p/sqlite-connpool/code/HEAD/tree/trunk/org/sqlite/SQLiteXid.java> >> > http://code.google.com/p/**h2database/source/browse/** >> trunk/h2/src/main/org/h2/**jdbcx/c.java?spec=svn4734&r=**3670<http://code.google.com/p/h2database/source/browse/trunk/h2/src/main/org/h2/jdbcx/c.java?spec=svn4734&r=3670> >> > >> > http://sourceforge.net/p/**sqlite-connpool/code/HEAD/** >> tree/trunk/org/sqlite/**SQLitePooledConnection.java<http://sourceforge.net/p/sqlite-connpool/code/HEAD/tree/trunk/org/sqlite/SQLitePooledConnection.java> >> > http://code.google.com/p/**h2database/source/browse/** >> trunk/h2/src/main/org/h2/**jdbcx/JdbcXAConnection.java?** >> spec=svn4734&r=3905<http://code.google.com/p/h2database/source/browse/trunk/h2/src/main/org/h2/jdbcx/JdbcXAConnection.java?spec=svn4734&r=3905> >> > >> > >> > Although the differences are quite minor, I hope you'll see that the >> classes in question represent only a tiny fraction of H2 capabilities. If >> there's anything else I need to do to make the code more portable (e.g. >> copyright notices, credits, etc), I'll be more than happy to oblige. >> > >> > >> > My sincere thanks and best regards, >> > Peter >> > -- > You received this message because you are subscribed to the Google Groups > "H2 Database" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/h2-database?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/h2-database?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
