DDL: CREATE INDEX

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

DDL: CREATE INDEX

Sergi
Guys,

DDL is too broad topic, I think it makes sense to split the needed
functionality and discuss each part separately.

Lets start with dynamic SQL index creation, since dynamic table creation
usually makes no sense without indexes.

I suggest the following plan here:

1. Create method IgniteCacheEx.createQueryIndex(QueryIndex).

2. Use DiscoveryCustomEvents to exchange information about created indexes.

3. In the first version lock the whole SQL table from modifications.

4. Add all the data to the created index from PK.

5. Notify everyone that all the participating data nodes have completed
index building using DiscoveryCustomEvents.

6. Implement CREATE INDEX command handling.


Items 2 and 5 must become a common mechanism for all other DDL commands we
are going to support.

Sergi
Reply | Threaded
Open this post in threaded view
|

Re: DDL: CREATE INDEX

dsetrakyan
I agree. "CREATE INDEX" could be the 1st command to implement.

On Tue, Jan 17, 2017 at 8:42 AM, Sergi Vladykin <[hidden email]>
wrote:

> Guys,
>
> DDL is too broad topic, I think it makes sense to split the needed
> functionality and discuss each part separately.
>
> Lets start with dynamic SQL index creation, since dynamic table creation
> usually makes no sense without indexes.
>
> I suggest the following plan here:
>
> 1. Create method IgniteCacheEx.createQueryIndex(QueryIndex).
>
> 2. Use DiscoveryCustomEvents to exchange information about created indexes.
>
> 3. In the first version lock the whole SQL table from modifications.
>
> 4. Add all the data to the created index from PK.
>
> 5. Notify everyone that all the participating data nodes have completed
> index building using DiscoveryCustomEvents.
>
> 6. Implement CREATE INDEX command handling.
>
>
> Items 2 and 5 must become a common mechanism for all other DDL commands we
> are going to support.
>
> Sergi
>