[ 
https://issues.apache.org/jira/browse/IGNITE-15391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maksim Timonin updated IGNITE-15391:
------------------------------------
    Description: 
IndexQuery should be created by list of fields specified in criteria. Order of 
fields doesn't matter. Ignite should find best index by criteria fields, and 
fields has to match index prefix.

 

I believe that it's a useful feature. My main argument is still the same:
 1. Ignite provides to users the possibility to create an index without name 
setting. Then Ignite should provide the possibility to query them. 

2. Naming of index isn't transparent, and hidden in internal packages. For 
example QuerySqlField provides opportunity to create an index, and set name to 
field (but not for index). But QuerySqlField.Group name set index name. This 
misleading.

3. There is an example of using such API in other databases: as Ivan mentioned, 
MongoDB doesn't require to specify an index name [1], it searches it by fields 
only. Note, MongoDB doesn't require strict fields order for querying indexes, 
but requires it for sorting [2]. 
  
 I don't see reasons not to provide a similar API for our users.

  was:
I believe that it's a useful feature. My main argument is still the same:
 1. Ignite provides to users the possibility to create an index without name 
setting. Then Ignite should provide the possibility to query them. 
 
2. Naming of index isn't transparent, and hidden in internal packages. For 
example QuerySqlField provides opportunity to create an index, and set name to 
field (but not for index). But QuerySqlField.Group name set index name. This 
misleading.

 3. There is an example of using such API in other databases: as Ivan 
mentioned, MongoDB doesn't require to specify an index name [1], it searches it 
by fields only. Note, MongoDB doesn't require strict fields order for querying 
indexes, but requires it for sorting [2]. 
  
 I don't see reasons not to provide a similar API for our users. Agree, that 
order of fields is under discussion.


> IndexName parameter of IndexQuery should be optional
> ----------------------------------------------------
>
>                 Key: IGNITE-15391
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15391
>             Project: Ignite
>          Issue Type: New Feature
>            Reporter: Maksim Timonin
>            Assignee: Maksim Timonin
>            Priority: Major
>              Labels: IEP-71
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> IndexQuery should be created by list of fields specified in criteria. Order 
> of fields doesn't matter. Ignite should find best index by criteria fields, 
> and fields has to match index prefix.
>  
> I believe that it's a useful feature. My main argument is still the same:
>  1. Ignite provides to users the possibility to create an index without name 
> setting. Then Ignite should provide the possibility to query them. 
> 2. Naming of index isn't transparent, and hidden in internal packages. For 
> example QuerySqlField provides opportunity to create an index, and set name 
> to field (but not for index). But QuerySqlField.Group name set index name. 
> This misleading.
> 3. There is an example of using such API in other databases: as Ivan 
> mentioned, MongoDB doesn't require to specify an index name [1], it searches 
> it by fields only. Note, MongoDB doesn't require strict fields order for 
> querying indexes, but requires it for sorting [2]. 
>   
>  I don't see reasons not to provide a similar API for our users.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to