Closed GoogleCodeExporter closed 9 years ago
I try to rollback:
08-23 18:51:58 jdbc[2]: SQLException
org.h2.jdbc.JdbcSQLException: General error:
"java.lang.ArrayIndexOutOfBoundsException"; SQL statement:
ROLLBACK [50000-141]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:156)
at org.h2.message.DbException.convert(DbException.java:279)
at org.h2.table.RegularTable.addRow(RegularTable.java:134)
at org.h2.engine.UndoLogRecord.undo(UndoLogRecord.java:116)
at org.h2.engine.Session.rollbackTo(Session.java:546)
at org.h2.engine.Session.rollback(Session.java:523)
at org.h2.command.dml.TransactionCommand.update(TransactionCommand.java:123)
at org.h2.command.CommandContainer.update(CommandContainer.java:70)
at org.h2.command.Command.executeUpdate(Command.java:199)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:176)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:151)
at workbench.sql.commands.SingleVerbCommand.execute(SingleVerbCommand.java:58)
at workbench.sql.StatementRunner.runStatement(StatementRunner.java:375)
at workbench.gui.sql.SqlPanel.displayResult(SqlPanel.java:2766)
at workbench.gui.sql.SqlPanel.runStatement(SqlPanel.java:1771)
at workbench.gui.sql.SqlPanel$12.run(SqlPanel.java:1739)
Caused by: java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.h2.index.PageDataLeaf.removeRow(PageDataLeaf.java:292)
at org.h2.index.PageDataLeaf.split(PageDataLeaf.java:367)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:137)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:129)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:129)
at org.h2.index.PageDataIndex.addTry(PageDataIndex.java:159)
at org.h2.index.PageDataIndex.add(PageDataIndex.java:124)
at org.h2.table.RegularTable.addRow(RegularTable.java:116)
... 13 more
Original comment by victor.p...@gmail.com
on 23 Aug 2010 at 1:09
Then I tried to reboot and run the query:
SELECT * FROM news WHERE newstime >= '2004-01-01' AND newstime < '2010-03-01'
08-23 18:59:34 jdbc[2]: SQLException
org.h2.jdbc.JdbcSQLException: General error:
"java.lang.ArrayIndexOutOfBoundsException: 0" [50000-141]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:156)
at org.h2.message.DbException.convert(DbException.java:279)
at org.h2.message.DbException.toSQLException(DbException.java:252)
at org.h2.message.TraceObject.logAndConvert(TraceObject.java:386)
at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:85)
at workbench.sql.commands.SelectCommand.execute(SelectCommand.java:116)
at workbench.sql.StatementRunner.runStatement(StatementRunner.java:375)
at workbench.gui.sql.SqlPanel.displayResult(SqlPanel.java:2766)
at workbench.gui.sql.SqlPanel.runStatement(SqlPanel.java:1771)
at workbench.gui.sql.SqlPanel$12.run(SqlPanel.java:1739)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.h2.index.PageDataLeaf.getRowAt(PageDataLeaf.java:318)
at org.h2.index.PageDataLeaf.getRow(PageDataLeaf.java:435)
at org.h2.index.PageDataNode.getRow(PageDataNode.java:270)
at org.h2.index.PageDataNode.getRow(PageDataNode.java:270)
at org.h2.index.PageDataNode.getRow(PageDataNode.java:270)
at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:394)
at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:383)
at org.h2.table.RegularTable.getRow(RegularTable.java:104)
at org.h2.index.PageBtreeIndex.getRow(PageBtreeIndex.java:288)
at org.h2.index.PageBtreeCursor.get(PageBtreeCursor.java:45)
at org.h2.index.IndexCursor.get(IndexCursor.java:209)
at org.h2.table.TableFilter.getValue(TableFilter.java:824)
at org.h2.expression.ExpressionColumn.getValue(ExpressionColumn.java:167)
at org.h2.command.dml.Select.queryFlat(Select.java:498)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:579)
at org.h2.command.dml.Query.query(Query.java:241)
at org.h2.command.CommandContainer.query(CommandContainer.java:80)
at org.h2.command.Command.executeQuery(Command.java:132)
at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:76)
... 5 more
Original comment by victor.p...@gmail.com
on 23 Aug 2010 at 1:14
Queries without condition are working fine. For example:
SELECT COUNT(*), MIN(newstime), MAX(newstime), MIN(news_id), MAX(news_id) FROM
news;
Original comment by victor.p...@gmail.com
on 23 Aug 2010 at 1:17
D:\>java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Original comment by victor.p...@gmail.com
on 23 Aug 2010 at 1:21
H2 V1.2.141
Original comment by victor.p...@gmail.com
on 24 Aug 2010 at 5:28
Some details:
1. The error is reproducible.
2. Referential integrity constraint is not working during DELETE execution.
After execution, several of the records have been deleted.
3. The table becomes unusable. Even a select does not work.
SELECT news_id FROM news WHERE newstime >= '2010-02-20' AND newstime <
'2010-03-01'; <- don't work
SELECT news_id FROM news WHERE newstime = '2010-02-19 15:49:31'; <- don't work
SELECT * FROM news WHERE newstime = '2010-02-19 15:49:31'; <- don't work
SELECT news_id FROM news WHERE newstime > '2010-02-19 15:51:00' AND newstime <
'2010-03-01'; <- work
4. I can not simplify testcase. Original database is available at
http://iris.kase.kz/swf/20100824_database_h2.7z (225 Mb)
Original comment by victor.p...@gmail.com
on 24 Aug 2010 at 7:31
Username: iris
Password: q
Original comment by victor.p...@gmail.com
on 24 Aug 2010 at 7:36
Then I am opening this database (created by V1.2.141) using V1.2.140 and running
DELETE FROM news WHERE newstime >= '2004-01-01' AND newstime < '2010-03-01'
org.h2.jdbc.JdbcSQLException: General error:
"java.lang.IllegalArgumentException: fromIndex(2049) > toIndex(2048)"
[50000-140]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:156)
at org.h2.message.DbException.convert(DbException.java:279)
at org.h2.table.RegularTable.addRow(RegularTable.java:134)
at org.h2.engine.UndoLogRecord.undo(UndoLogRecord.java:116)
at org.h2.engine.Session.rollbackTo(Session.java:546)
at org.h2.command.Command.executeUpdate(Command.java:238)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:176)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:151)
at workbench.sql.commands.UpdatingCommand.execute(UpdatingCommand.java:98)
at workbench.sql.StatementRunner.runStatement(StatementRunner.java:375)
at workbench.gui.sql.SqlPanel.displayResult(SqlPanel.java:2766)
at workbench.gui.sql.SqlPanel.runStatement(SqlPanel.java:1771)
at workbench.gui.sql.SqlPanel$12.run(SqlPanel.java:1739)
Caused by: java.lang.IllegalArgumentException: fromIndex(2049) > toIndex(2048)
at java.util.Arrays.rangeCheck(Arrays.java:1306)
at java.util.Arrays.fill(Arrays.java:2567)
at org.h2.index.PageDataLeaf.removeRow(PageDataLeaf.java:290)
at org.h2.index.PageDataLeaf.split(PageDataLeaf.java:363)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:151)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:143)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:143)
at org.h2.index.PageDataIndex.addTry(PageDataIndex.java:159)
at org.h2.index.PageDataIndex.add(PageDataIndex.java:124)
at org.h2.table.RegularTable.addRow(RegularTable.java:116)
... 10 more
SELECT COUNT(*), MIN(newstime), MAX(newstime), MIN(news_id), MAX(news_id) FROM
news;
08-24 13:42:30 jdbc[2]: SQLException
org.h2.jdbc.JdbcSQLException: General error:
"java.lang.ArrayIndexOutOfBoundsException: 2049" [50000-140]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:156)
at org.h2.message.DbException.convert(DbException.java:279)
at org.h2.message.DbException.toSQLException(DbException.java:252)
at org.h2.message.TraceObject.logAndConvert(TraceObject.java:386)
at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:85)
at workbench.sql.commands.SelectCommand.execute(SelectCommand.java:116)
at workbench.sql.StatementRunner.runStatement(StatementRunner.java:375)
at workbench.gui.sql.SqlPanel.displayResult(SqlPanel.java:2766)
at workbench.gui.sql.SqlPanel.runStatement(SqlPanel.java:1771)
at workbench.gui.sql.SqlPanel$12.run(SqlPanel.java:1739)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 2049
at org.h2.store.Data.readValue(Data.java:632)
at org.h2.index.PageDataIndex.readRow(PageDataIndex.java:411)
at org.h2.index.PageDataLeaf.getRowAt(PageDataLeaf.java:318)
at org.h2.index.PageDataLeaf.getRow(PageDataLeaf.java:431)
at org.h2.index.PageDataNode.getRow(PageDataNode.java:282)
at org.h2.index.PageDataNode.getRow(PageDataNode.java:282)
at org.h2.index.PageDataNode.getRow(PageDataNode.java:282)
at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:394)
at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:383)
at org.h2.table.RegularTable.getRow(RegularTable.java:104)
at org.h2.index.PageBtreeIndex.getRow(PageBtreeIndex.java:288)
at org.h2.index.PageBtreeCursor.get(PageBtreeCursor.java:45)
at org.h2.index.IndexCursor.get(IndexCursor.java:207)
at org.h2.table.TableFilter.getValue(TableFilter.java:824)
at org.h2.expression.ExpressionColumn.getValue(ExpressionColumn.java:167)
at org.h2.expression.Aggregate.updateAggregate(Aggregate.java:238)
at org.h2.command.dml.Select.queryGroup(Select.java:335)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:574)
at org.h2.command.dml.Query.query(Query.java:241)
at org.h2.command.CommandContainer.query(CommandContainer.java:80)
at org.h2.command.Command.executeQuery(Command.java:132)
at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:76)
... 5 more
Original comment by victor.p...@gmail.com
on 24 Aug 2010 at 7:47
Then the database was created and opened using V1.2.140:
DELETE FROM news WHERE newstime >= '2004-01-01' AND newstime < '2010-03-01';
08-24 15:21:46 jdbc[2]: SQLException
org.h2.jdbc.JdbcSQLException: General error:
"java.lang.IllegalArgumentException: fromIndex(2049) > toIndex(2048)"
[50000-140]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:156)
at org.h2.message.DbException.convert(DbException.java:279)
at org.h2.table.RegularTable.addRow(RegularTable.java:134)
at org.h2.engine.UndoLogRecord.undo(UndoLogRecord.java:116)
at org.h2.engine.Session.rollbackTo(Session.java:546)
at org.h2.command.Command.executeUpdate(Command.java:238)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:176)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:151)
at workbench.sql.commands.UpdatingCommand.execute(UpdatingCommand.java:98)
at workbench.sql.StatementRunner.runStatement(StatementRunner.java:375)
at workbench.gui.sql.SqlPanel.displayResult(SqlPanel.java:2766)
at workbench.gui.sql.SqlPanel.runStatement(SqlPanel.java:1771)
at workbench.gui.sql.SqlPanel$12.run(SqlPanel.java:1739)
Caused by: java.lang.IllegalArgumentException: fromIndex(2049) > toIndex(2048)
at java.util.Arrays.rangeCheck(Arrays.java:1306)
at java.util.Arrays.fill(Arrays.java:2567)
at org.h2.index.PageDataLeaf.removeRow(PageDataLeaf.java:290)
at org.h2.index.PageDataLeaf.split(PageDataLeaf.java:363)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:151)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:143)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:143)
at org.h2.index.PageDataIndex.addTry(PageDataIndex.java:159)
at org.h2.index.PageDataIndex.add(PageDataIndex.java:124)
at org.h2.table.RegularTable.addRow(RegularTable.java:116)
... 10 more
Original comment by victor.p...@gmail.com
on 24 Aug 2010 at 9:31
Then the database was created and opened using V1.2.127:
DELETE FROM news WHERE newstime >= '2004-01-01' AND newstime < '2010-03-01';
08-24 17:05:33 jdbc[2]: SQLException
org.h2.jdbc.JdbcSQLException: General error:
"java.lang.IllegalArgumentException: fromIndex(2049) > toIndex(2048)"
[50000-127]
at org.h2.message.Message.getSQLException(Message.java:110)
at org.h2.message.Message.convert(Message.java:287)
at org.h2.table.TableData.addRow(TableData.java:149)
at org.h2.log.UndoLogRecord.undo(UndoLogRecord.java:126)
at org.h2.engine.Session.rollbackTo(Session.java:531)
at org.h2.command.Command.executeUpdate(Command.java:239)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:176)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:151)
at workbench.sql.commands.UpdatingCommand.execute(UpdatingCommand.java:98)
at workbench.sql.StatementRunner.runStatement(StatementRunner.java:375)
at workbench.gui.sql.SqlPanel.displayResult(SqlPanel.java:2766)
at workbench.gui.sql.SqlPanel.runStatement(SqlPanel.java:1771)
at workbench.gui.sql.SqlPanel$12.run(SqlPanel.java:1739)
Caused by: java.lang.IllegalArgumentException: fromIndex(2049) > toIndex(2048)
at java.util.Arrays.rangeCheck(Arrays.java:1306)
at java.util.Arrays.fill(Arrays.java:2567)
at org.h2.index.PageDataLeaf.removeRow(PageDataLeaf.java:286)
at org.h2.index.PageDataLeaf.split(PageDataLeaf.java:359)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:153)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:145)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:145)
at org.h2.index.PageDataIndex.addTry(PageDataIndex.java:153)
at org.h2.index.PageDataIndex.add(PageDataIndex.java:126)
at org.h2.table.TableData.addRow(TableData.java:130)
... 10 more
08-24 17:06:27 jdbc[2]: SQLException
org.h2.jdbc.JdbcSQLException: General error:
"java.lang.IllegalArgumentException: fromIndex(2058) > toIndex(2048)"; SQL
statement:
ROLLBACK [50000-127]
at org.h2.message.Message.getSQLException(Message.java:110)
at org.h2.message.Message.convert(Message.java:287)
at org.h2.table.TableData.addRow(TableData.java:149)
at org.h2.log.UndoLogRecord.undo(UndoLogRecord.java:126)
at org.h2.engine.Session.rollbackTo(Session.java:531)
at org.h2.engine.Session.rollback(Session.java:508)
at org.h2.command.dml.TransactionCommand.update(TransactionCommand.java:125)
at org.h2.command.CommandContainer.update(CommandContainer.java:71)
at org.h2.command.Command.executeUpdate(Command.java:199)
at org.h2.jdbc.JdbcConnection.rollbackInternal(JdbcConnection.java:1391)
at org.h2.jdbc.JdbcConnection.close(JdbcConnection.java:311)
at workbench.db.WbConnection.shutdown(WbConnection.java:619)
at workbench.db.ConnectionMgr.closeConnection(ConnectionMgr.java:457)
at workbench.db.ConnectionMgr.disconnect(ConnectionMgr.java:418)
at workbench.gui.MainWindow.doDisconnect(MainWindow.java:1641)
at workbench.gui.MainWindow$13.run(MainWindow.java:1592)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.IllegalArgumentException: fromIndex(2058) > toIndex(2048)
at java.util.Arrays.rangeCheck(Arrays.java:1306)
at java.util.Arrays.fill(Arrays.java:2567)
at org.h2.index.PageDataLeaf.removeRow(PageDataLeaf.java:286)
at org.h2.index.PageDataLeaf.split(PageDataLeaf.java:359)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:153)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:145)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:145)
at org.h2.index.PageDataIndex.addTry(PageDataIndex.java:153)
at org.h2.index.PageDataIndex.add(PageDataIndex.java:126)
at org.h2.table.TableData.addRow(TableData.java:130)
... 21 more
Original comment by victor.p...@gmail.com
on 24 Aug 2010 at 11:10
It may be stupid question but why does ConstraintReferential.isBefore() equal
false?
Original comment by victor.p...@gmail.com
on 24 Aug 2010 at 1:29
Thanks for reporting this issue! I can reproduce the problem using your
database. The problem occurs while the transaction is rolled back because of a
constraint violation (Referential integrity constraint violation:
"FK_NEWSSECTREFS_NEWS_ID: PUBLIC.NEWSSECTREFS FOREIGN KEY(NEWS_ID) REFERENCES
PUBLIC.NEWS(NEWS_ID)"). I somewhat understand what's the problem (trying to
remove a large row when splittinga page), but I don't have a standalone test
case yet. Specially I don't understand yet why the automated tests didn't run
into this issue, something must be special in your case. But with the test
database it should be relatively easy to that out. Maybe the problem is related
to referential integrity (but that's just a guess so far).
> why does ConstraintReferential.isBefore() equal false
I'm not sure.
Original comment by thomas.t...@gmail.com
on 24 Aug 2010 at 5:09
[deleted comment]
I understand that the discussion of referential integrity is beyond the scope
of the issue but H2 behaviour causes me to misunderstand in this context. I try
to explain my thoughts on attached picture.
Original comment by victor.p...@gmail.com
on 25 Aug 2010 at 6:33
Attachments:
I don't think that it is optimal algorithm. In example above H2 must delete and
restore 500 Mb without any visible cause.
Original comment by victor.p...@gmail.com
on 25 Aug 2010 at 6:40
Fixed in version 1.2.142.
The problem with "first check all constraints before doing any updates" is
performance. It would need to read / update each row twice. For small updates
that's not a problem, but for large updates the cache usage would be bad. H2 is
optimized for the case where the constraints are not violated, which I think is
a reasonable assumption.
Original comment by thomas.t...@gmail.com
on 31 Aug 2010 at 6:10
The same database. The same table. Exception on ALTER TABLE.
Is it possible that this is the same error?
09:10:43,909 DEBUG [H2Utils] add patcher listener
09:10:43,909 INFO [IRISSchemePatcher] PATCH to 49
09:10:43,909 INFO [SchemePatcherSystem] EXECUTE: ALTER TABLE news ADD
begtime DATETIME DEFAULT NULL
10:03:17,774 DEBUG [SchemePatcherSystem] ERROR: code = 50000, state = HY000,
message = ?????????? ??????: "java.lang.NullPointerException"
General error: "java.lang.NullPointerException"; SQL statement:
ALTER TABLE news ADD begtime DATETIME DEFAULT NULL [50000-141]
10:03:17,837 DEBUG [ClientStoreFactory] passivateObject
10:03:18,071 ERROR [SgenDbUpdateThread] run
(kz.bips.comps.jdbc.versql.SqlSchemeCreatorException): DDL execution error
10:03:18,071 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeBuilder.execute(SqlSchemeBuilder.java:53)
10:03:18,071 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeBuilder.o(SqlSchemeBuilder.java:150)
10:03:18,071 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.versql.nt.helpers.SchemePatcherSystem.patchDDL_V49_begtime_h2
(SchemePatcherSystem.java:225)
10:03:18,071 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.versql.nt.patches.Patch0049.patch(Patch0049.java:60)
10:03:18,071 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.NTSchemePatcher.applyPatch(NTSchemePatcher.java:52)
10:03:18,071 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeCreator.updateDb(SqlSchemeCreator.java:142)
10:03:18,071 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeCreator.bonkDb(SqlSchemeCreator.java:97)
10:03:18,071 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeCreator.checkDb(SqlSchemeCreator.java:23)
10:03:18,071 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.NTVersqlRunner.checkDb(NTVersqlRunner.java:29)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.versql.H2Utils.checkDataBase(H2Utils.java:185)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.client.store.ClientStoreConnector.verifyDatabase(Unknown
Source)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.client.ui.jobs.SgenDbUpdateThread.run(Unknown Source)
10:03:18,087 ERROR [SgenDbUpdateThread] List causes
(org.h2.jdbc.JdbcSQLException): ?????????? ??????:
"java.lang.NullPointerException"
General error: "java.lang.NullPointerException"; SQL statement:
ALTER TABLE news ADD begtime DATETIME DEFAULT NULL [50000-141]
10:03:18,087 DEBUG [SgenDbUpdateThread] ErrorCode = 50000, ErrorState = HY000
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.message.DbException.get(DbException.java:156)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.message.DbException.convert(DbException.java:279)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.command.Command.executeUpdate(Command.java:219)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:124)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:109)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.SqlHelper.execute(SqlHelper.java:529)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeBuilder.execute(SqlSchemeBuilder.java:50)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeBuilder.o(SqlSchemeBuilder.java:150)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.versql.nt.helpers.SchemePatcherSystem.patchDDL_V49_begtime_h2
(SchemePatcherSystem.java:225)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.versql.nt.patches.Patch0049.patch(Patch0049.java:60)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.NTSchemePatcher.applyPatch(NTSchemePatcher.java:52)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeCreator.updateDb(SqlSchemeCreator.java:142)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeCreator.bonkDb(SqlSchemeCreator.java:97)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeCreator.checkDb(SqlSchemeCreator.java:23)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.NTVersqlRunner.checkDb(NTVersqlRunner.java:29)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.versql.H2Utils.checkDataBase(H2Utils.java:185)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.client.store.ClientStoreConnector.verifyDatabase(Unknown
Source)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.client.ui.jobs.SgenDbUpdateThread.run(Unknown Source)
10:03:18,087 ERROR [SgenDbUpdateThread] List causes
(java.lang.NullPointerException): null
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.store.PageLog.removeUntil(PageLog.java:690)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.store.PageLog.removeUntil(PageLog.java:667)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.store.PageStore.checkpoint(PageStore.java:376)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.store.PageStore.commit(PageStore.java:1253)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.engine.Database.commit(Database.java:1706)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.engine.Session.commit(Session.java:468)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.command.ddl.AlterTableAlterColumn.execute(AlterTableAlterColumn.java:423)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.command.ddl.AlterTableAlterColumn.copyData(AlterTableAlterColumn.java:218
)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.command.ddl.AlterTableAlterColumn.update(AlterTableAlterColumn.java:157)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.command.CommandContainer.update(CommandContainer.java:70)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.command.Command.executeUpdate(Command.java:199)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:124)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:109)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.SqlHelper.execute(SqlHelper.java:529)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeBuilder.execute(SqlSchemeBuilder.java:50)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeBuilder.o(SqlSchemeBuilder.java:150)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.versql.nt.helpers.SchemePatcherSystem.patchDDL_V49_begtime_h2
(SchemePatcherSystem.java:225)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.versql.nt.patches.Patch0049.patch(Patch0049.java:60)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.NTSchemePatcher.applyPatch(NTSchemePatcher.java:52)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeCreator.updateDb(SqlSchemeCreator.java:142)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeCreator.bonkDb(SqlSchemeCreator.java:97)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.SqlSchemeCreator.checkDb(SqlSchemeCreator.java:23)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.bips.comps.jdbc.versql.NTVersqlRunner.checkDb(NTVersqlRunner.java:29)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.versql.H2Utils.checkDataBase(H2Utils.java:185)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.client.store.ClientStoreConnector.verifyDatabase(Unknown
Source)
10:03:18,087 DEBUG [SgenDbUpdateThread] trace:
kz.irbis.apps.iris.client.ui.jobs.SgenDbUpdateThread.run(Unknown Source)
Original comment by victor.p...@gmail.com
on 9 Sep 2010 at 11:10
It looks like a different issue, I'm sorry.
Original comment by thomas.t...@gmail.com
on 17 Sep 2010 at 8:57
Original issue reported on code.google.com by
victor.p...@gmail.com
on 23 Aug 2010 at 1:07