MMBase

Explicit index on unique field results error in hsql.

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.9.0
  • Fix Version/s: 1.9.6
  • Component/s: Core
  • Description:
    Hide
    mmbasegroups from context security:
    <field name="name">
          <gui>
            <guiname xml:lang="en">Name</guiname>
            <guiname xml:lang="nl">Naam</guiname>
            <guiname xml:lang="eo">Nomo</guiname>
          </gui>
          <editor>
            <positions>
              <list>1</list>
            </positions>
          </editor>
          <datatype base="eline" xmlns="http://www.mmbase.org/xmlns/datatypes" >
            <unique value="true" />
            <required value="true" enforce="never" />
            <maxLength value="32" />
          </datatype>
        </field>


    ....
     <indexlist>
        <index name="name" unique="true"><indexfield name="name" /></index>
      </indexlist>
      

    results:

    16:52:44,382 WAR 14189 kb mmbase.module.core.MMBase localhost init.373 - HTML root not yet known. MachineName will not be correct yet.
    16:52:54,068 ERR 51093 kb mmbase.module.core.MMObjectBuilder sepio/ create.553 - Constraint already exists in statement [ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)] in query:ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)org.mmbase.storage.StorageException: Constraint already exists in statement [ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)] in query:ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.createIndex(DatabaseStorageManager.java:2815)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:2782)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.createTable(DatabaseStorageManager.java:2106)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:1995)
            at org.mmbase.module.core.MMObjectBuilder.create(MMObjectBuilder.java:550)
            at org.mmbase.module.core.MMObjectBuilder.init(MMObjectBuilder.java:430)
            at org.mmbase.security.implementation.cloudcontext.builders.Groups.init(Groups.java:46)
            at org.mmbase.module.core.MMBase.initBuilder(MMBase.java:885)
            at org.mmbase.module.core.MMBase.initBuilders(MMBase.java:862)
            at org.mmbase.module.core.MMBase.init(MMBase.java:409)
            at org.mmbase.module.Module.startModule(Module.java:168)
            at org.mmbase.module.Module.startModules(Module.java:386)
            at org.mmbase.module.Module.checkModules(Module.java:451)
            at org.mmbase.module.Module.getModule(Module.java:424)
            at org.mmbase.module.Module.getModule(Module.java:435)
            at org.mmbase.module.core.MMBase.getMMBase(MMBase.java:637)
            at org.mmbase.bridge.implementation.BasicCloudContext.check(BasicCloudContext.java:84)
            at org.mmbase.bridge.implementation.BasicCloudContext.assertUp(BasicCloudContext.java:244)
            at org.mmbase.util.ThreadPools$3.run(ThreadPools.java:110)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
            at java.lang.Thread.run(Thread.java:595)
            at org.mmbase.util.ThreadPools$1.run(ThreadPools.java:80)
    java.sql.SQLException: Constraint already exists in statement [ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)]
            at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
            at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
            at org.hsqldb.jdbc.jdbcStatement.executeUpdate(Unknown Source)
            at org.mmbase.module.database.MultiStatement.executeUpdate(MultiStatement.java:57)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.createIndex(DatabaseStorageManager.java:2809)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:2782)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.createTable(DatabaseStorageManager.java:2106)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:1995)
            at org.mmbase.module.core.MMObjectBuilder.create(MMObjectBuilder.java:550)
            at org.mmbase.module.core.MMObjectBuilder.init(MMObjectBuilder.java:430)
            at org.mmbase.security.implementation.cloudcontext.builders.Groups.init(Groups.java:46)
            at org.mmbase.module.core.MMBase.initBuilder(MMBase.java:885)
            at org.mmbase.module.core.MMBase.initBuilders(MMBase.java:862)
            at org.mmbase.module.core.MMBase.init(MMBase.java:409)
            at org.mmbase.module.Module.startModule(Module.java:168)
            at org.mmbase.module.Module.startModules(Module.java:386)
            at org.mmbase.module.Module.checkModules(Module.java:451)
            at org.mmbase.module.Module.getModule(Module.java:424)
            at org.mmbase.module.Module.getModule(Module.java:435)
            at org.mmbase.module.core.MMBase.getMMBase(MMBase.java:637)
            at org.mmbase.bridge.implementation.BasicCloudContext.check(BasicCloudContext.java:84)
            at org.mmbase.bridge.implementation.BasicCloudContext.assertUp(BasicCloudContext.java:244)
            at org.mmbase.util.ThreadPools$3.run(ThreadPools.java:110)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
            at java.lang.Thread.run(Thread.java:595)
            at org.mmbase.util.ThreadPools$1.run(ThreadPools.java:80)






    Show
    mmbasegroups from context security: <field name="name">       <gui>         <guiname xml:lang="en">Name</guiname>         <guiname xml:lang="nl">Naam</guiname>         <guiname xml:lang="eo">Nomo</guiname>       </gui>       <editor>         <positions>           <list>1</list>         </positions>       </editor>       <datatype base="eline" xmlns="http://www.mmbase.org/xmlns/datatypes" >         <unique value="true" />         <required value="true" enforce="never" />         <maxLength value="32" />       </datatype>     </field> ....  <indexlist>     <index name="name" unique="true"><indexfield name="name" /></index>   </indexlist>    results: 16:52:44,382 WAR 14189 kb mmbase.module.core.MMBase localhost init.373 - HTML root not yet known. MachineName will not be correct yet. 16:52:54,068 ERR 51093 kb mmbase.module.core.MMObjectBuilder sepio/ create.553 - Constraint already exists in statement [ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)] in query:ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)org.mmbase.storage.StorageException: Constraint already exists in statement [ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)] in query:ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.createIndex(DatabaseStorageManager.java:2815)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:2782)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.createTable(DatabaseStorageManager.java:2106)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:1995)         at org.mmbase.module.core.MMObjectBuilder.create(MMObjectBuilder.java:550)         at org.mmbase.module.core.MMObjectBuilder.init(MMObjectBuilder.java:430)         at org.mmbase.security.implementation.cloudcontext.builders.Groups.init(Groups.java:46)         at org.mmbase.module.core.MMBase.initBuilder(MMBase.java:885)         at org.mmbase.module.core.MMBase.initBuilders(MMBase.java:862)         at org.mmbase.module.core.MMBase.init(MMBase.java:409)         at org.mmbase.module.Module.startModule(Module.java:168)         at org.mmbase.module.Module.startModules(Module.java:386)         at org.mmbase.module.Module.checkModules(Module.java:451)         at org.mmbase.module.Module.getModule(Module.java:424)         at org.mmbase.module.Module.getModule(Module.java:435)         at org.mmbase.module.core.MMBase.getMMBase(MMBase.java:637)         at org.mmbase.bridge.implementation.BasicCloudContext.check(BasicCloudContext.java:84)         at org.mmbase.bridge.implementation.BasicCloudContext.assertUp(BasicCloudContext.java:244)         at org.mmbase.util.ThreadPools$3.run(ThreadPools.java:110)         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)         at java.lang.Thread.run(Thread.java:595)         at org.mmbase.util.ThreadPools$1.run(ThreadPools.java:80) java.sql.SQLException: Constraint already exists in statement [ALTER TABLE MMBASETESTS_MMBASEGROUPS ADD CONSTRAINT MMBASETESTS_MMBASEGROUPS_NAME_IDX UNIQUE (NAME)]         at org.hsqldb.jdbc.Util.sqlException(Unknown Source)         at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)         at org.hsqldb.jdbc.jdbcStatement.executeUpdate(Unknown Source)         at org.mmbase.module.database.MultiStatement.executeUpdate(MultiStatement.java:57)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.createIndex(DatabaseStorageManager.java:2809)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:2782)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.createTable(DatabaseStorageManager.java:2106)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:1995)         at org.mmbase.module.core.MMObjectBuilder.create(MMObjectBuilder.java:550)         at org.mmbase.module.core.MMObjectBuilder.init(MMObjectBuilder.java:430)         at org.mmbase.security.implementation.cloudcontext.builders.Groups.init(Groups.java:46)         at org.mmbase.module.core.MMBase.initBuilder(MMBase.java:885)         at org.mmbase.module.core.MMBase.initBuilders(MMBase.java:862)         at org.mmbase.module.core.MMBase.init(MMBase.java:409)         at org.mmbase.module.Module.startModule(Module.java:168)         at org.mmbase.module.Module.startModules(Module.java:386)         at org.mmbase.module.Module.checkModules(Module.java:451)         at org.mmbase.module.Module.getModule(Module.java:424)         at org.mmbase.module.Module.getModule(Module.java:435)         at org.mmbase.module.core.MMBase.getMMBase(MMBase.java:637)         at org.mmbase.bridge.implementation.BasicCloudContext.check(BasicCloudContext.java:84)         at org.mmbase.bridge.implementation.BasicCloudContext.assertUp(BasicCloudContext.java:244)         at org.mmbase.util.ThreadPools$3.run(ThreadPools.java:110)         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)         at java.lang.Thread.run(Thread.java:595)         at org.mmbase.util.ThreadPools$1.run(ThreadPools.java:80)

Activity

Repository Revision Date User Message
MMBase SVN #32575 Tue Dec 16 16:59:40 CET 2008 michiel work around MMB-1751
Files Changed
MODIFY /mmbase/trunk/applications/cloudcontext/config/builders/cloudcontext/mmbasegroups.xml
Repository Revision Date User Message
MMBase SVN #45132 Tue Feb 08 17:08:55 CET 2011 michiel MMB-1751, the 'exists(Index)' method was simply not properly implemented
Files Changed
MODIFY /mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManager.java
Repository Revision Date User Message
MMBase SVN #45133 Tue Feb 08 17:09:43 CET 2011 michiel MMB-1751, the 'exists(Index)' method was simply not properly implemented
Files Changed
MODIFY /mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManager.java
Repository Revision Date User Message
MMBase SVN #45134 Tue Feb 08 17:10:27 CET 2011 michiel I fixed MMB-1751
Files Changed
MODIFY /mmbase/branches/MMBase-1_9/applications/cloudcontext/src/main/config/builders/cloudcontext/mmbasegroups.xml
Repository Revision Date User Message
MMBase SVN #45135 Tue Feb 08 17:11:01 CET 2011 michiel I fixed MMB-1751
Files Changed
MODIFY /mmbase/trunk/applications/cloudcontext/src/main/config/builders/cloudcontext/mmbasegroups.xml

People

Dates

  • Created:
    2008-12-16 16:57
    Updated:
    2011-02-08 17:11
    Resolved:
    2011-02-08 17:11