Thank you, I hope you'll manage to fix this. Let me know if I can be of
some help. Let me add that:
- version 175 seems to behave like 174, so the problem seems to be between
175 and 176.
- the latest 2 beta versions seem to be ok
Thanks,
Germano
Il giorno giovedì 22 maggio 2014 21:46:54 UTC+2, Thomas Mueller ha scritto:
>
> Hi,
>
> Thanks a lot for the test case! I could reproduce the problem now. The
> SQL.sql can be reduced to:
>
> create table a(x int primary key);
> create table b(x int, y int, primary key(x, y));
> alter table b add foreign key(x) references a(x);
>
> I used the following shell script to reproduce the error:
>
> rm testdb*
> rm empty.sql
> touch empty.sql
> java -cp h2-1.3.174.jar org.h2.tools.RunScript -url jdbc:h2:./testdb
> -script SQL.sql -user x
> java -cp h2-1.3.176.jar org.h2.tools.RunScript -url jdbc:h2:./testdb
> -script empty.sql -user x
> java -cp h2-1.3.176.jar org.h2.tools.RunScript -url jdbc:h2:./testdb
> -script empty.sql -user x
>
> I'm not sure yet what the problem is, but it looks like it's related to
> bugfixes for contraints (see the change log).
>
> Regards,
> Thomas
>
>
>
>
>
> On Fri, May 16, 2014 at 11:57 AM, Niko Paltzer <[email protected]<javascript:>
> > wrote:
>
>> I can confirm the problem. We tried to move from 1.3.172 to 1.3.174 and
>> got the same error.
>>
>>
>>
>>
>> On Friday, May 9, 2014 4:12:29 PM UTC+2, Germano Rizzo wrote:
>>>
>>> If I remove the foreign key definition (last line in the SQL) the
>>> problem doesn't present itself.
>>>
>>> Of course I can't do this, as I have many databases already created.
>>> I'll stick with 174 until this is solved.
>>>
>>> Il giorno venerdì 9 maggio 2014 15:30:07 UTC+2, Germano Rizzo ha scritto:
>>>>
>>>> Hi,
>>>> I have a reproducible bug with versions 174 and 176 (at least). A db
>>>> created with 1.3.174 (no particular settings) corrupts when just opening
>>>> and closing it in 1.3.176. To reproduce:
>>>>
>>>>
>>>> 1. download this sql (generated by the SCRIPT command from a test
>>>> db of mine): https://www.dropbox.com/s/gjng7vfqkpp9fio/SQL.sql
>>>> 2. create a blank db in 1.3.174 and restore the script; close the db
>>>> 3. open the db in 1.3.176, close it;
>>>> 4. reopen the db in 1.3.176. it will crash.
>>>>
>>>> As said, I don't use any parameter for the JDBC URL. The crash is this:
>>>>
>>>> Exception in thread "main" org.h2.jdbc.JdbcSQLException: Unique index
>>>> or primary key violation: "PRIMARY KEY ON """".PAGE_INDEX"; SQL statement:
>>>> ALTER TABLE PUBLIC.DETAILS ADD CONSTRAINT PUBLIC.FK_DETAILS FOREIGN
>>>> KEY(ID) REFERENCES PUBLIC.ENTITIES(ID) 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)
>>>> ...
>>>>
>>>> Here you can find the corrupted db: https://www.dropbox.com/s/
>>>> e4fj39jaoqwsdom/test.h2.db
>>>>
>>>> You can use SquirrelSQL to test, or use this eclipse project:
>>>> https://www.dropbox.com/s/ez2lre6t7uf64vc/H2Bug.7z
>>>>
>>>> To use it:
>>>>
>>>> 1. Put only h2-1.3.174.jar in the path
>>>> 2. Launch DBCreate174.java
>>>> 3. Put only h2-1.3.176.jar in the path
>>>> 4. Launch DBTriggerBug176.java
>>>> 5. crash
>>>>
>>>> Hope this helps. Let me know if I can be of further assistance.
>>>>
>>>> Germano
>>>>
>>>>
>>>>
>>>> --
>> 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:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> 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.