Hello,
Managed to reproduce it now. The first error was hiding the "real" cause because of connecting in server mode. In embedded mode I'm getting the error (NPE) below. It occurs with xmltext changed to the data type clob. A reproduction is below.
create table xmledittest (id serial, xmltext clob);
insert into xmledittest ( xmltext ) values (select xmlstartdoc() || XMLNODE('a', XMLATTR('href', '
http://h2database.com')));
@loop 50 update xmledittest set xmltext = xmltext || XMLNODE('a', XMLATTR('href', '
http://h2database.com'));
Greetings,
Remco
07-04 18:41:49 jdbc[2]: exception
org.h2.jdbc.JdbcSQLException: General error: "java.lang.NullPointerException" [50000-167]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convert(DbException.java:281)
at org.h2.message.DbException.toSQLException(DbException.java:254)
at org.h2.message.TraceObject.logAndConvert(TraceObject.java:368)
at org.h2.jdbc.JdbcResultSet.updateRow(JdbcResultSet.java:2782)
at org.h2.server.web.WebApp.editResult(WebApp.java:1024)
at org.h2.server.web.WebApp.process(WebApp.java:221)
at org.h2.server.web.WebApp.processRequest(WebApp.java:164)
at org.h2.server.web.WebThread.process(WebThread.java:137)
at org.h2.server.web.WebThread.run(WebThread.java:93)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at org.h2.value.ValueLobDb.getInputStream(ValueLobDb.java:290)
at org.h2.value.ValueLobDb.getReader(ValueLobDb.java:276)
at org.h2.value.ValueLobDb.getString(ValueLobDb.java:197)
at org.h2.value.ValueLobDb.compareSecure(ValueLobDb.java:262)
at org.h2.value.Value.compareTo(Value.java:895)
at org.h2.jdbc.JdbcResultSet.patchCurrentRow(JdbcResultSet.java:3476)
at org.h2.jdbc.JdbcResultSet.updateRow(JdbcResultSet.java:2778)
... 6 more