Hi,

I'm afraid I don't know what the problem could be.

You wrote you tried to use the Recover tool and it didn't work. What was
the problem?

Regards,
Thomas


On Thursday, September 11, 2014, Dani Fernandez <[email protected]> wrote:

> This morning I tried to open my test database to make some tests there and
> I couldn't open it anymore; even tried the recover tool. When I try to open
> it using the h2 console I am getting this exception:
>
> Unique index or primary key violation: "PRIMARY KEY ON """".PAGE_INDEX";
> SQL statement:
> ALTER TABLE ADDRESS_SPACE.TABLE_A ADD CONSTRAINT
> ADDRESS_SPACE.FK_VAR_OBJECT FOREIGN KEY(OBJECT_ID) REFERENCES
> ADDRESS_SPACE.OBJECT_NODE(OBJECT_ID) ON DELETE CASCADE ON UPDATE CASCADE
> NOCHECK [23505-176]
>     at
> org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
>     at org.h2.message.DbException.get(DbException.java:178)
>     at org.h2.message.DbException.get(DbException.java:154)
>     at
> org.h2.index.PageDataIndex.getNewDuplicateKeyException(PageDataIndex.java:166)
>
>     at org.h2.index.PageDataIndex.add(PageDataIndex.java:144)
>     at org.h2.store.PageStore.addMeta(PageStore.java:1808)
>     at org.h2.index.PageBtreeIndex.<init>(PageBtreeIndex.java:64)
>     at org.h2.table.RegularTable.addIndex(RegularTable.java:235)
>     at
> org.h2.command.ddl.AlterTableAddConstraint.createIndex(AlterTableAddConstraint.java:280)
>
>     at
> org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:205)
>
>     at
> org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:73)
>
>     at org.h2.engine.MetaRecord.execute(MetaRecord.java:59)
>     at org.h2.engine.Database.open(Database.java:719)
>     at org.h2.engine.Database.openDatabase(Database.java:260)
>     at org.h2.engine.Database.<init>(Database.java:254)
>     at org.h2.engine.Engine.openSession(Engine.java:57)
>     at org.h2.engine.Engine.openSession(Engine.java:164)
>     at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142)
>     at org.h2.engine.Engine.createSession(Engine.java:125)
>     at org.h2.engine.Engine.createSession(Engine.java:27)
>     at
> org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)
>     at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107)
>     at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91)
>     at org.h2.Driver.connect(Driver.java:74)
>     at org.h2.server.web.WebServer.getConnection(WebServer.java:684)
>     at org.h2.server.web.WebApp.login(WebApp.java:958)
>     at org.h2.server.web.WebApp.process(WebApp.java:212)
>     at org.h2.server.web.WebApp.processRequest(WebApp.java:171)
>     at org.h2.server.web.WebThread.process(WebThread.java:138)
>     at org.h2.server.web.WebThread.run(WebThread.java:94)
>
> Yesterday the last thing I did was executing some queries with CASE that I
> have ported from mysql:
>
> UPDATE MODBUS_INDEX_MAP SET
>     VALUE = CASE
>       WHEN INDEXO = 2 THEN 99
>       ELSE VALUE
>     END,
>     FLAG = CASE
>       WHEN INDEXO<>2 AND (SELECT FLAG FROM ( SELECT FLAG FROM
> MODBUS_INDEX_MAP WHERE INDEXO = 2) AS PIP)=1 THEN 0
>       WHEN INDEXO = 2 THEN 1
>       ELSE FLAG
>     END
> WHERE SOURCEID  IN (SELECT SOURCEID FROM ( SELECT SOURCEID FROM
> MODBUS_INDEX_MAP WHERE INDEXO = 2) AS PEPE)
> AND (ACK = (SELECT ACK FROM ( SELECT ACK FROM MODBUS_INDEX_MAP WHERE
> INDEXO = 2) AS PIPO)
> OR (ACK IS NULL AND ((SELECT ACK FROM ( SELECT ACK FROM
> UA_MODBUS_INDEX_MAP WHERE INDEXO = 2) AS PIPO2)  IS NULL)))
> AND (EFB = (SELECT EFB FROM ( SELECT EFB FROM MODBUS_INDEX_MAP WHERE
> INDEXO = 2) AS PIPO3)
> OR (EFB IS NULL AND ((SELECT EFB FROM ( SELECT EFB FROM MODBUS_INDEX_MAP
> WHERE INDEXO = 2) AS PIPO4) IS NULL)));
>
> I am stuck trying to open it... Any ideas?
> It looks like if the primary key is violated the db cannot be opened
> anymore?
>
> Tks,
> Dani.
>
>  --
> 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]
> <javascript:_e(%7B%7D,'cvml','h2-database%[email protected]');>
> .
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>.
> Visit this group at http://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 [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.

Reply via email to