Thanks for the reply. I have another question on the affinity key index(if
any). When we enable sql on ignite, it by default creates an index on the
primary key(highlighted in red below). We have created a custom index on
deptId(highlighted in red).

1. Department object has an id and affinity key on the name(it doesn't make
sense in the real world). Does ignite create an index for affinity keys as
well ? I don't see the affinity key index in the list below.
2. When I use the default index explicitly in IndexQuery, it throws an
exception that the index name doesn't exist. So by default it uses primary
key index or hash index when* IndexQuery* is executed with _KEY in criteria*
?*

[image: image.png]
[image: image.png]

On Wed, Jun 22, 2022 at 9:35 PM Николай Ижиков <nizhi...@apache.org> wrote:

> SELECT * FROM SYS.INDEXES
>
> 22 июня 2022 г., в 18:38, Surinder Mehra <redni...@gmail.com> написал(а):
>
> Hi,
> We have defined indexes on sql enabled ignite cache and are able to see
> indexes being used while querying.
> sqline *!indexes* also shows those indexes in output. But we cant see
> default index created by ignite on *primary key *and *affinity key*.
> We would like to use index on key and affinity key to get results sorted
> accordingly.
>
> For example, in official docs link below, Is it possible to use the above
> mentioned default indexes instead of ORG_SALARY_IDX ?
> How can we get more details about these indexes which are not shown in
> sqlline commands.
>
>
>
> https://ignite.apache.org/docs/latest/key-value-api/using-cache-queries#executing-index-queries
>
>
> QueryCursor<Cache.Entry<Integer, Person>> cursor = cache.query(
>     new IndexQuery<Integer, Person>(Person.class, "ORG_SALARY_IDX")
>         .setCriteria(eq("orgId", 1), gt("salary", 1000)));
>
>
>

Reply via email to