I was able to recover using recovery tool. Nice!
I repeated the large deletion operation and again encountered issue which
does not make any sense. I have few table with referential integrity and I
delete records 'backwards' first from detail tables and then header table
(where foreign key exist) and that fails on following error.
org.h2.jdbc.JdbcSQLException: Referential integrity constraint violation:
"FK_TASK_PRED_ID: PUBLIC.TASK_PREDECESSOR FOREIGN KEY(PREDECESSOR_ID)
REFERENCES PUBLIC.TASK(ID) (1421)"; SQL statement:
DELETE FROM TASK WHERE completed_timestamp <= '2014-10-30 08:03:25'
[23503-175]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
at org.h2.message.DbException.get(DbException.java:172)
at org.h2.message.DbException.get(DbException.java:149)
at
org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:421)
at
org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:438)
at
org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:314)
at org.h2.table.Table.fireConstraints(Table.java:894)
at org.h2.table.Table.fireAfterRow(Table.java:911)
at org.h2.command.dml.Delete.update(Delete.java:100)
at org.h2.command.CommandContainer.update(CommandContainer.java:79)
at org.h2.command.Command.executeUpdate(Command.java:253)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:181)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:156)
On Friday, January 30, 2015 at 7:37:12 AM UTC-8, Meni Hillel wrote:
>
> My URL:
>
> jdbc:h2:./vmiDCDB;MVCC=TRUE;LOCK_TIMEOUT=10000;
>
> On Friday, January 30, 2015 at 7:35:52 AM UTC-8, Meni Hillel wrote:
>>
>> I've encountered same issue.
>>
>> Exception in thread "main" org.h2.jdbc.JdbcSQLException: General error:
>> "java.lang.RuntimeException: rowCount expected 17483 got 93586 T65.I140"
>> [50000-175]
>>
>> How do I recover out of this?
>>
>> On Friday, November 6, 2009 at 11:26:31 PM UTC-8, Thomas Mueller wrote:
>>>
>>> Hi,
>>>
>>> What is the database URL? What options do you use? Is this using the
>>> page store file format?
>>>
>>> Regards,
>>> Thomas
>>>
>>>
>>>
>>> On Wed, Nov 4, 2009 at 10:31 AM, Carl Sayres <[email protected]> wrote:
>>> >
>>> > I deleted a few thousand rows, then tried to insert one. Got the
>>> > following exception:
>>> >
>>> > 11-04 04:17:11 jdbc[2]: SQLException
>>> > org.h2.jdbc.JdbcSQLException: General error:
>>> > java.lang.RuntimeException: rowCount expected 30845 got 31428
>>> > PLAYERSEASON.FK_PLAYERSEASON_1_INDEX_B; SQL statement:
>>> > insert into public.PlayerSeason (Id, PlayerId, SeasonId, TeamId,
>>> > Active, Number, Position, Salary) values (null, ?, ?, ?, ?, ?, ?, ?)
>>> > [50000-122]
>>> > at org.h2.message.Message.getSQLException(Message.java:106)
>>> > at org.h2.message.Message.convert(Message.java:283)
>>> > at org.h2.table.TableData.addRow(TableData.java:149)
>>> > at org.h2.command.dml.Insert.insertRows(Insert.java:119)
>>> > at org.h2.command.dml.Insert.update(Insert.java:82)
>>> > at
>>> org.h2.command.CommandContainer.update(CommandContainer.java:72)
>>> > at org.h2.command.Command.executeUpdate(Command.java:209)
>>> > at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal
>>> > (JdbcPreparedStatement.java:139)
>>> > at org.h2.jdbc.JdbcPreparedStatement.executeUpdate
>>> > (JdbcPreparedStatement.java:128)
>>> > at org.hibernate.id.IdentityGenerator
>>> > $GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)
>>> > at
>>> org.hibernate.id.insert.AbstractReturningDelegate.performInsert
>>> > (AbstractReturningDelegate.java:57)
>>> > at
>>> org.hibernate.persister.entity.AbstractEntityPersister.insert
>>> > (AbstractEntityPersister.java:2186)
>>> > at
>>> org.hibernate.persister.entity.AbstractEntityPersister.insert
>>> > (AbstractEntityPersister.java:2666)
>>> > at org.hibernate.action.EntityIdentityInsertAction.execute
>>> > (EntityIdentityInsertAction.java:71)
>>> > at
>>> org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
>>> > at
>>> >
>>> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate
>>> > (AbstractSaveEventListener.java:321)
>>> > at
>>> org.hibernate.event.def.AbstractSaveEventListener.performSave
>>> > (AbstractSaveEventListener.java:204)
>>> > at
>>> > org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId
>>> > (AbstractSaveEventListener.java:130)
>>> > at
>>> >
>>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId
>>>
>>>
>>> > (DefaultSaveOrUpdateEventListener.java:210)
>>> > at
>>> >
>>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient
>>> > (DefaultSaveOrUpdateEventListener.java:195)
>>> > at
>>> >
>>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate
>>>
>>>
>>> > (DefaultSaveOrUpdateEventListener.java:117)
>>> > at
>>> >
>>> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate
>>> > (DefaultSaveOrUpdateEventListener.java:93)
>>> > at
>>> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:
>>> > 534)
>>> > at
>>> org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526)
>>> > at
>>> org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:522)
>>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> > at sun.reflect.NativeMethodAccessorImpl.invoke
>>> > (NativeMethodAccessorImpl.java:39)
>>> > at sun.reflect.DelegatingMethodAccessorImpl.invoke
>>> > (DelegatingMethodAccessorImpl.java:25)
>>> > at java.lang.reflect.Method.invoke(Method.java:597)
>>> > at org.hibernate.context.ThreadLocalSessionContext
>>> > $TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:
>>> > 342)
>>> > at $Proxy0.saveOrUpdate(Unknown Source)
>>> > at
>>> com.fastmodel.fastscout.stats.Stats.updatePlayerInfo(Stats.java:
>>> > 731)
>>> > at com.fastmodel.fastscout.stats.Stats.updateTeamAndPlayerInfo
>>> > (Stats.java:667)
>>> > at com.fastmodel.fastscout.stats.Stats.main(Stats.java:71)
>>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> > at sun.reflect.NativeMethodAccessorImpl.invoke
>>> > (NativeMethodAccessorImpl.java:39)
>>> > at sun.reflect.DelegatingMethodAccessorImpl.invoke
>>> > (DelegatingMethodAccessorImpl.java:25)
>>> > at java.lang.reflect.Method.invoke(Method.java:597)
>>> > at
>>> com.intellij.rt.execution.application.AppMain.main(AppMain.java:
>>> > 90)
>>> > Caused by: java.lang.RuntimeException: rowCount expected 30845 got
>>> > 31428 PLAYERSEASON.FK_PLAYERSEASON_1_INDEX_B
>>> > at org.h2.message.Message.throwInternalError(Message.java:186)
>>> > at org.h2.table.TableData.checkRowCount(TableData.java:160)
>>> > at org.h2.table.TableData.addRow(TableData.java:131)
>>> > ... 36 more
>>> >
>>> > >
>>> >
>>>
>>
--
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.
For more options, visit https://groups.google.com/d/optout.