Hi,
I have a strange issue with Index with version 2.1.8
Error on using index UQ_Parameter_Name in query 'SELECT FROM Parameter WHERE (Name = :p0) AND (GroupId is null) AND (EntityInfo.State = :p1) limit 1'. Probably you need to rebuild indexes. Now executing query using cluster scan
com.orientechnologies.orient.core.index.OIndexException: Null keys are not supported.
at com.orientechnologies.orient.core.index.hashindex.local.OLocalHashTable.checkNullSupport(OLocalHashTable.java:1420)
at com.orientechnologies.orient.core.index.hashindex.local.OLocalHashTable.get(OLocalHashTable.java:303)
at com.orientechnologies.orient.core.index.engine.OHashTableIndexEngine.get(OHashTableIndexEngine.java:148)
at com.orientechnologies.orient.core.index.OIndexOneValue.get(OIndexOneValue.java:63)
at com.orientechnologies.orient.core.index.OIndexOneValue.get(OIndexOneValue.java:45)
at com.orientechnologies.orient.core.index.OIndexAbstractDelegate.get(OIndexAbstractDelegate.java:59)
at com.orientechnologies.orient.core.index.OIndexTxAwareOneValue.get(OIndexTxAwareOneValue.java:236)
at com.orientechnologies.orient.core.index.OIndexTxAwareOneValue.get(OIndexTxAwareOneValue.java:41)
at com.orientechnologies.orient.core.sql.operator.OQueryOperatorIs.executeIndexQuery(OQueryOperatorIs.java:113)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchForIndexes(OCommandExecutorSQLSelect.java:1891)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchInClasses(OCommandExecutorSQLSelect.java:879)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.assignTarget(OCommandExecutorSQLResultsetAbstract.java:199)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.assignTarget(OCommandExecutorSQLSelect.java:474)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:456)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:427)
at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:90)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:1547)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:1528)
at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:67)
at com.orientechnologies.orient.server.network.protocol.http.command.post.OServerCommandPostCommand.execute(OServerCommandPostCommand.java:81)
at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.service(ONetworkProtocolHttpAbstract.java:180)
at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.execute(ONetworkProtocolHttpAbstract.java:627)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:77)
The Parameter schema is
and Indexes are
The current table data is
I also tried to drop the constraint and re-create it with "METADATA {{ignoreNullValues: false}}" setting, but it does not help, the error still occurs, and cluster scan is using instead of index scan.
Is A UNIQUE_HASH_INDEX not supported for a composite key with a null field?
My Best,
Hung Tran