Re: [h2] H2 database in tomcat environment throwing RuntimeException “unexpected code path” on select sequence.nextval

2016-12-22 Thread Noel Grandin

Hi

I think I know what is going wrong here, but I'd really like to add a test case 
to make sure.

Is it possible you could reduce this to a standalone test case?

There is something about the combination of things that you are doing in that transaction that is triggering a problem, 
and although I think I know what the problem is, I don't know how to recreate that situation.


Note that in your test case, you might need to do it in a loop about 40 times to make sure it triggers, because part of 
the problem is sequence flushing, and that only happens every 32 times for a given sequence.


Regards, Noel.

--
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


Re: [h2] H2 database in tomcat environment throwing RuntimeException “unexpected code path” on select sequence.nextval

2016-12-22 Thread 'Andreas Knees' via H2 Database
Thank you for your reply, Noel.

On Friday, December 23, 2016 at 7:19:08 AM UTC+1, Noel Grandin wrote:
>
> there seem to be some chunks missing from the stack trace which makes it a 
> little tricky to see why things are going wrong. 
>
>
Here is the whole thing:

2016-12-23 00:46:03 jdbc[3]: 

/**/PreparedStatement prep8 = conn3.prepareStatement("select 
aufgabenliste_seq.nextval");

2016-12-23 00:46:03 jdbc[3]: Plan   : calculate cost for plan 
[SYSTEM_RANGE:0:org.h2.table.RangeTable@603d6c40]

2016-12-23 00:46:03 jdbc[3]: Plan   :   for table filter 
SYSTEM_RANGE:0:org.h2.table.RangeTable@603d6c40

2016-12-23 00:46:03 jdbc[3]: Table  : potential plan item cost 1 
index PUBLIC.RANGE_INDEX

2016-12-23 00:46:03 jdbc[3]: Plan   :   best plan item cost 1 index 
PUBLIC.RANGE_INDEX

2016-12-23 00:46:03 jdbc[3]: Plan   : plan cost 2

2016-12-23 00:46:03 jdbc[3]: 

/**/ResultSet rs9 = prep8.executeQuery();

2016-12-23 00:46:03 lock: 1 exclusive write lock requesting for SYS

2016-12-23 00:46:03 lock: 1 exclusive write lock added for SYS

2016-12-23 00:46:03 lock: 1 exclusive write lock unlock SYS

2016-12-23 00:46:03 lock: 1 exclusive write lock requesting for SYS

2016-12-23 00:46:03 lock: 1 exclusive write lock added for SYS

2016-12-23 00:46:03 jdbc[3]: exception

org.h2.jdbc.JdbcSQLException: Allgemeiner Fehler: "
java.lang.RuntimeException: Unexpected code path"

General error: "java.lang.RuntimeException: Unexpected code path"; SQL 
statement:

select aufgabenliste_seq.nextval [5-193]

at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)

at org.h2.message.DbException.get(DbException.java:168)

at org.h2.message.DbException.convert(DbException.java:295)

at org.h2.command.Command.executeQuery(Command.java:213)

at org.h2.jdbc.JdbcPreparedStatement.executeQuery(
JdbcPreparedStatement.java:110)

at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(
DelegatingPreparedStatement.java:82)

at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(
DelegatingPreparedStatement.java:82)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at de.nikem.nest.jdbc.PreparedStatementInvocationHandler.invoke(
PreparedStatementInvocationHandler.java:47)

at com.sun.proxy.$Proxy43.executeQuery(Unknown Source)

at de.nikem.nest.jdbc.JdbcUtil$2.doWork(JdbcUtil.java:490)

at de.nikem.nest.jdbc.JdbcUtil$2.doWork(JdbcUtil.java:482)

at de.nikem.nest.jdbc.JdbcUtil.doWithoutTransaction(JdbcUtil.java:451)

at de.nikem.nest.jdbc.JdbcUtil.executeNamedQuery(JdbcUtil.java:482)

at de.nikem.nest.jdbc.JdbcUtil.lambda$getNextValue$2(JdbcUtil.java:392)

at de.nikem.nest.jdbc.JdbcUtil$$Lambda$9/1477668869.doWork(Unknown Source)

at de.nikem.nest.jdbc.JdbcUtil$TransactionWork.doWork(JdbcUtil.java:219)

at de.nikem.nest.jdbc.JdbcUtil.doWithoutTransaction(JdbcUtil.java:451)

at de.nikem.nest.jdbc.JdbcUtil.doInTransaction(JdbcUtil.java:423)

at de.nikem.nest.jdbc.JdbcUtil.getNextValue(JdbcUtil.java:390)

at shopfloor.db.dao.gen.GenAufgabenlisteDao.lambda$0(
GenAufgabenlisteDao.java:28)

at 
shopfloor.db.dao.gen.GenAufgabenlisteDao$$Lambda$8/103904531.doWork(Unknown 
Source)

at de.nikem.nest.jdbc.JdbcUtil$TransactionWork.doWork(JdbcUtil.java:219)

at de.nikem.nest.jdbc.JdbcUtil.doWithoutTransaction(JdbcUtil.java:451)

at de.nikem.nest.jdbc.JdbcUtil.doInTransaction(JdbcUtil.java:423)

at shopfloor.db.dao.gen.GenAufgabenlisteDao.insert(
GenAufgabenlisteDao.java:25)

at 
shopfloor.interactor.aufgabenliste.AufgabenlisteInteractor.saveAufgabenListe(
AufgabenlisteInteractor.java:43)

at 
shopfloor.presenter.aufgabenliste.SchichtberichtPresenter.saveSchichtbericht(
SchichtberichtPresenter.java:72)

at 
shopfloor.resource.aufgabenliste.AufgabenlisteResource.insertSchichtbericht(
AufgabenlisteResource.java:73)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(
ResourceMethodInvocationHandlerFactory.java:81)

at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(
AbstractJavaResourceMethodDispatcher.java:144)

at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(
AbstractJavaResourceMethodDispatcher.java:161)

at 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ObjectOutInvoker.doDispatch(
JavaResourceMethodDispatcherProvider.java:176)

at 

Re: [h2] H2 database in tomcat environment throwing RuntimeException “unexpected code path” on select sequence.nextval

2016-12-22 Thread Noel Grandin

there seem to be some chunks missing from the stack trace which makes it a 
little tricky to see why things are going wrong.

--
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


[h2] H2 database in tomcat environment throwing RuntimeException “unexpected code path” on select sequence.nextval

2016-12-22 Thread 'Andreas Knees' via H2 Database
See also this StackOverflow question 


I am using H2 database h2-1.4.193 as datasource in tomcat.

This is my server.xml entry:



I use this datasource for both the DataSourceRealm and my application. In 
my application I execute a select on a sequence:

select aufgabenliste_seq.nextval

and then I get this error:

2016-12-23 00:46:03 jdbc[3]: /**/conn3.setAutoCommit(false);2016-12-23 00:46:03 
jdbc[3]: /**/PreparedStatement prep8 = conn3.prepareStatement("select
aufgabenliste_seq.nextval");2016-12-23 00:46:03 jdbc[3]: Plan   : calculate 
cost for plan[SYSTEM_RANGE:0:org.h2.table.RangeTable@603d6c40]2016-12-23 
00:46:03 jdbc[3]: Plan   :   for table filter 
SYSTEM_RANGE:0:org.h2.table.RangeTable@603d6c402016-12-23 00:46:03 jdbc[3]: 
Table  : potential plan item cost 1 index PUBLIC.RANGE_INDEX2016-12-23 
00:46:03 jdbc[3]: Plan   :   best plan item cost 1 index 
PUBLIC.RANGE_INDEX2016-12-23 00:46:03 jdbc[3]: Plan   : plan cost 
22016-12-23 00:46:03 jdbc[3]: /**/ResultSet rs9 = 
prep8.executeQuery();2016-12-23 00:46:03 lock: 1 exclusive write lock 
requesting for SYS2016-12-23 00:46:03 lock: 1 exclusive write lock added for 
SYS2016-12-23 00:46:03 lock: 1 exclusive write lock unlock SYS2016-12-23 
00:46:03 lock: 1 exclusive write lock requesting for SYS2016-12-23 00:46:03 
lock: 1 exclusive write lock added for SYS2016-12-23 00:46:03 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Allgemeiner Fehler: "java.lang.RuntimeException: 
Unexpected code path"General error: "java.lang.RuntimeException: Unexpected 
code path"; SQL statement:
select aufgabenliste_seq.nextval [5-193]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.message.DbException.convert(DbException.java:295)
at org.h2.command.Command.executeQuery(Command.java:213)
at 
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:110)
at 
org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:82)
at 
org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)..Caused 
by: java.lang.RuntimeException: Unexpected code path
at org.h2.message.DbException.throwInternalError(DbException.java:242)
at org.h2.message.DbException.throwInternalError(DbException.java:255)
at org.h2.engine.Session.addLock(Session.java:842)
at org.h2.mvstore.db.MVTable.doLock2(MVTable.java:254)
at org.h2.mvstore.db.MVTable.doLock1(MVTable.java:202)
at org.h2.mvstore.db.MVTable.lock(MVTable.java:167)
at org.h2.engine.Database.lockMeta(Database.java:909)..

I have debugged into the code. The Exception is thrown in Session class in 
Method addLock():

public void addLock(Table table) {
if (SysProperties.CHECK) {
if (locks.contains(table)) {
DbException.throwInternalError();
}
}
locks.add(table);
}

The table object to be logged contains the table SYS.

Why is requesting the lock of SYS failing in this case? Should I provide 
additional parameters to the connection string?

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


[h2] Re: Please help, h2 console in El Capitan very very slow!!!

2016-12-22 Thread SkiAddict
On Friday, 23 December 2016 04:07:30 UTC+13, Tomas Pospichal wrote:
>
> I am very glad you persisted and found a simple solution. It may prove 
> very useful to other Mac users whose system is in a similar configuration.
>
> Regards,
> Tomas
>
>
Thanks, Tomas.  Since posting my update I have discovered persuasive 
evidence that the problem was a smart quote instead of an ordinary 
apostrophe.  WHY the Mac put it there I have no idea -- I certainly 
didn't.  It had never occurred to me that it was even possible to put a 
smart quote in the Sharing preference pane!!  But that does rather seem to 
be what happened..

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


Re: [h2] Asc order problem in a Date Data type Column using Pluggable / User-Defined Table

2016-12-22 Thread Pedro Almeida
Thank you for your time.

Could you replicate the issue with my code though ?

On Thursday, 22 December 2016 07:37:30 UTC, Noel Grandin wrote:
>
> I just pushed an updated unit test to GitHub. 
>
> Sorry, I can see anything obviously wrong with your code. 
>
>

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


[h2] Re: Please help, h2 console in El Capitan very very slow!!!

2016-12-22 Thread Tomas Pospichal
I am very glad you persisted and found a simple solution. It may prove very 
useful to other Mac users whose system is in a similar configuration.

Regards,
Tomas

On Tuesday, December 20, 2016 at 11:29:44 PM UTC-5, SkiAddict wrote:
>
> Update: with the help of someone over at stackexchange 
> 
>  
> I managed to get rid of "Santa's MacBook Pro", and inetTester 
>  now resolves in 77ms.  The key 
> thing was setting HostName (*not* LocalHostName) to 'trial':
>
> sudo scutil --set HostName trial
>
> With this done, h2 console launches in seconds.  What a huge relief!
>
> So, with everything working I did some investigation.  I really do think 
> there was a gremlin in the original string "Santa's MacBook Pro", since by 
> successive small changes I've managed to get back to it in HostName -- and 
> h2 console still launches in seconds.  Space chars, apostrophe, no problems 
> at all.  It also has nothing to do with the contents of etc/hosts -- I'm 
> now using my original copy of that file.
>
> Many, many thanks Noel and Tomas, I could not have resolved this without 
> your help.  You've made "Santa" very happy -- and right before Christmas, 
> too! :-)
>

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


Re: [h2] Concurrency at org.h2.store.fs.FileBase.read()

2016-12-22 Thread Anatolii K
Please try attached test. It fails after 10-60 seconds run

org.h2.jdbc.JdbcSQLException: General error: 
"java.lang.IllegalStateException: File corrupted in chunk 28, expected page 
length 4..32, got -1621686845 [1.4.193/6]"; SQL statement:
update account set balance = ? where id = ? [5-193]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.message.DbException.convert(DbException.java:295)
at org.h2.command.Command.executeUpdate(Command.java:266)
at org.h2.jdbc.JdbcPreparedStatement.execute(JdbcPreparedStatement.java:201)
at Bug_H2_4$Arte.call(Bug_H2_4.java:99)
at Bug_H2_4$Arte.call(Bug_H2_4.java:82)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: File corrupted in chunk 28, 
expected page length 4..32, got -1621686845 [1.4.193/6]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:766)
at org.h2.mvstore.Page.read(Page.java:649)
at org.h2.mvstore.Page.read(Page.java:195)
at org.h2.mvstore.MVStore.readPage(MVStore.java:1952)
at org.h2.mvstore.MVMap.readPage(MVMap.java:738)
at org.h2.mvstore.Page.getChildPage(Page.java:217)
at org.h2.mvstore.MVMap.binarySearch(MVMap.java:470)
at org.h2.mvstore.MVMap.binarySearch(MVMap.java:471)
at org.h2.mvstore.MVMap.binarySearch(MVMap.java:471)
at org.h2.mvstore.MVMap.get(MVMap.java:452)
at 
org.h2.mvstore.db.TransactionStore$TransactionMap.getValue(TransactionStore.java:1203)
at 
org.h2.mvstore.db.TransactionStore$TransactionMap.get(TransactionStore.java:1180)
at 
org.h2.mvstore.db.TransactionStore$TransactionMap.get(TransactionStore.java:1148)
at org.h2.mvstore.db.MVPrimaryIndex.getRow(MVPrimaryIndex.java:215)
at org.h2.mvstore.db.MVTable.getRow(MVTable.java:463)
at 
org.h2.mvstore.db.MVSecondaryIndex$MVStoreCursor.get(MVSecondaryIndex.java:489)
at org.h2.index.IndexCursor.get(IndexCursor.java:288)
at org.h2.table.TableFilter.get(TableFilter.java:594)
at org.h2.command.dml.Update.update(Update.java:109)
at org.h2.command.CommandContainer.update(CommandContainer.java:98)



On Thursday, December 22, 2016 at 2:36:35 PM UTC+5, Thomas Mueller Graf 
wrote:
>
> Hi,
>
> I didn't see a failure either.
>
> Regards,
> Thomas
>
>
> On Thu, Dec 22, 2016 at 10:13 AM, Noel Grandin  > wrote:
>
>>
>>
>> On 2016/12/21 7:24 PM, Anatolii K wrote:
>>
>>> Test attached
>>>
>>>
>> Are you definitely testing with the latest HEAD? Because I ran your test 
>> for 10 minutes without problems.
>>
>> On 64-bit JDK 1.8.0_111
>>
>>
>> -- 
>> 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 h2-database...@googlegroups.com .
>> To post to this group, send email to h2-da...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/h2-database.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;


public class Bug_H2_4 {

static String dbUrl = "jdbc:h2:nioMemLZF:db;DB_CLOSE_DELAY=-1;MULTI_THREADED=1;LOCK_TIMEOUT=1;WRITE_DELAY=500";
static String user = "sa", pwd = "";
static int threadCount = 200;

public static void main(String args[]) throws InterruptedException, SQLException {
Arte[] artes = new Arte[threadCount];
Connection dbConnect;
try {
Class.forName("org.h2.Driver");
dbConnect = DriverManager.getConnection(dbUrl, user, pwd);
DbPreparator.prepareScheme(dbConnect);
System.out.println("DB scheme prepared");

DbPreparator.populate(dbConnect);
System.out.println("DB populated");

for (int i = 0; i < threadCount; i++) {
artes[i] = new Arte(DriverManager.getConnection(dbUrl, user, pwd));
}
System.out.println("ARTEs created");
} catch (ClassNotFoundException | SQLException e) {
System.out.println("DB Connection Failed: " + dbUrl);
e.printStackTrace();
   

Re: [h2] No STRAIGHT_JOIN ?

2016-12-22 Thread Noel Grandin

http://h2database.com/html/build.html

http://h2database.com/html/architecture.html

--
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


Re: [h2] No STRAIGHT_JOIN ?

2016-12-22 Thread Julien Delafontaine
I'd like to contribute this, if you could just tell me where is the 
relevant parser code, and how you run tests after cloning the project (a 
CONTRIBUTE.md would be useful if you accept external PRs).

Le samedi 17 décembre 2016 10:00:24 UTC+1, Noel Grandin a écrit :
>
> for which I'd be happy to accept a patch, since it looks like a simple 
> change to the Parser (assuming that we don't implement the actual 
> semantics, which would be a much more complicated thing)
>
> On 14 December 2016 at 08:42, Noel Grandin  > wrote:
>
>> that appears to be a MySQL-specific thing which we don't currently 
>> support.​
>>
>
>

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


Re: [h2] Concurrency at org.h2.store.fs.FileBase.read()

2016-12-22 Thread Thomas Mueller Graf
Hi,

I didn't see a failure either.

Regards,
Thomas


On Thu, Dec 22, 2016 at 10:13 AM, Noel Grandin 
wrote:

>
>
> On 2016/12/21 7:24 PM, Anatolii K wrote:
>
>> Test attached
>>
>>
> Are you definitely testing with the latest HEAD? Because I ran your test
> for 10 minutes without problems.
>
> On 64-bit JDK 1.8.0_111
>
>
> --
> 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 h2-database+unsubscr...@googlegroups.com.
> To post to this group, send email to h2-database@googlegroups.com.
> Visit this group at https://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


Re: [h2] Concurrency at org.h2.store.fs.FileBase.read()

2016-12-22 Thread Noel Grandin



On 2016/12/21 7:24 PM, Anatolii K wrote:

Test attached



Are you definitely testing with the latest HEAD? Because I ran your test for 10 
minutes without problems.

On 64-bit JDK 1.8.0_111

--
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.