Search in sources :

Example 6 with OIndexUnique

use of com.orientechnologies.orient.core.index.OIndexUnique in project orientdb by orientechnologies.

the class OChainedIndexProxyFindBestIndexTest method testDoNotUseIndexesWithNoNullValueSupport.

@Test
public void testDoNotUseIndexesWithNoNullValueSupport() throws Exception {
    final OIndexUnique expectedResult = mockUniqueIndex();
    final List<OIndex<?>> indexes = Arrays.<OIndex<?>>asList(mockUniqueCompositeHashIndex(), mockUniqueCompositeIndex(), expectedResult);
    final OIndex<?> result = OChainedIndexProxy.findBestIndex(indexes);
    Assert.assertSame(result, expectedResult);
}
Also used : OIndexUnique(com.orientechnologies.orient.core.index.OIndexUnique) OIndex(com.orientechnologies.orient.core.index.OIndex) Test(org.testng.annotations.Test)

Example 7 with OIndexUnique

use of com.orientechnologies.orient.core.index.OIndexUnique in project orientdb by orientechnologies.

the class OChainedIndexProxyFindBestIndexTest method mockUniqueCompositeIndex.

private OIndexUnique mockUniqueCompositeIndex() {
    final OIndexUnique uniqueIndex = mock(OIndexUnique.class);
    when(uniqueIndex.getInternal()).thenReturn(uniqueIndex);
    final OIndexDefinition definition = mock(OIndexDefinition.class);
    when(definition.getParamCount()).thenReturn(2);
    when(uniqueIndex.getDefinition()).thenReturn(definition);
    when(uniqueIndex.getType()).thenReturn(OClass.INDEX_TYPE.UNIQUE.toString());
    return uniqueIndex;
}
Also used : OIndexDefinition(com.orientechnologies.orient.core.index.OIndexDefinition) OIndexUnique(com.orientechnologies.orient.core.index.OIndexUnique)

Example 8 with OIndexUnique

use of com.orientechnologies.orient.core.index.OIndexUnique in project orientdb by orientechnologies.

the class OChainedIndexProxyFindBestIndexTest method mockUniqueCompositeIndexWithNullSupport.

private OIndexUnique mockUniqueCompositeIndexWithNullSupport() {
    final OIndexUnique uniqueIndex = mock(OIndexUnique.class);
    when(uniqueIndex.getInternal()).thenReturn(uniqueIndex);
    final OIndexDefinition definition = mock(OIndexDefinition.class);
    when(definition.getParamCount()).thenReturn(2);
    when(uniqueIndex.getDefinition()).thenReturn(definition);
    when(uniqueIndex.getType()).thenReturn(OClass.INDEX_TYPE.UNIQUE.toString());
    when(uniqueIndex.getMetadata()).thenReturn(new ODocument().field("ignoreNullValues", false));
    return uniqueIndex;
}
Also used : OIndexDefinition(com.orientechnologies.orient.core.index.OIndexDefinition) OIndexUnique(com.orientechnologies.orient.core.index.OIndexUnique) ODocument(com.orientechnologies.orient.core.record.impl.ODocument)

Example 9 with OIndexUnique

use of com.orientechnologies.orient.core.index.OIndexUnique in project orientdb by orientechnologies.

the class OChainedIndexProxyFindBestIndexTest method testTheOnlyChoice.

@Test
public void testTheOnlyChoice() throws Exception {
    final OIndexUnique expectedResult = mockUniqueIndex();
    final List<OIndex<?>> indexes = Arrays.<OIndex<?>>asList(expectedResult);
    final OIndex<?> result = OChainedIndexProxy.findBestIndex(indexes);
    Assert.assertSame(result, expectedResult);
}
Also used : OIndexUnique(com.orientechnologies.orient.core.index.OIndexUnique) OIndex(com.orientechnologies.orient.core.index.OIndex) Test(org.testng.annotations.Test)

Example 10 with OIndexUnique

use of com.orientechnologies.orient.core.index.OIndexUnique in project orientdb by orientechnologies.

the class OChainedIndexProxyFindBestIndexTest method mockUniqueCompositeHashIndex.

private OIndexUnique mockUniqueCompositeHashIndex() {
    final OIndexUnique uniqueIndex = mock(OIndexUnique.class);
    when(uniqueIndex.getInternal()).thenReturn(uniqueIndex);
    final OIndexDefinition definition = mock(OIndexDefinition.class);
    when(definition.getParamCount()).thenReturn(2);
    when(uniqueIndex.getDefinition()).thenReturn(definition);
    when(uniqueIndex.getType()).thenReturn(OClass.INDEX_TYPE.UNIQUE_HASH_INDEX.toString());
    return uniqueIndex;
}
Also used : OIndexDefinition(com.orientechnologies.orient.core.index.OIndexDefinition) OIndexUnique(com.orientechnologies.orient.core.index.OIndexUnique)

Aggregations

OIndexUnique (com.orientechnologies.orient.core.index.OIndexUnique)11 OIndexDefinition (com.orientechnologies.orient.core.index.OIndexDefinition)6 OIndex (com.orientechnologies.orient.core.index.OIndex)5 Test (org.testng.annotations.Test)5 ODocument (com.orientechnologies.orient.core.record.impl.ODocument)2