[ 
https://issues.apache.org/jira/browse/IGNITE-11604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16809890#comment-16809890
 ] 

Taras Ledkov commented on IGNITE-11604:
---------------------------------------

[~vozerov]
1. User cannot drop a column while there is any index that uses the column.
2. I fixed {{QuerySchema.finish}}.
3. Please clarify what do you mean about {{GridH2Table#dropColumns}}. I don't 
see the case when drop column is returned back in query except the case with 
disk storage and node restart (fixed by patch).
4. Please take a look at the patch.

> Drop column does not remove column from internal schema
> -------------------------------------------------------
>
>                 Key: IGNITE-11604
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11604
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>            Reporter: Alexey Goncharuk
>            Assignee: Taras Ledkov
>            Priority: Critical
>             Fix For: 2.8
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Discovered this during the work on IGNITE-11541 (see 
> {{StaticCacheDdlTest.testDropColumn}}).
> After a quick debug I see the following: in 
> {{GridQueryProcessor#onSchemaFinishDiscovery}} we call 
> {{DynamicCacheDescriptor.schemaChangeFinish(msg)}}, which eventually calls 
> {{QuerySchema.finish(op)}}.
> Inside that method we have the following: the {{message.columns()}} 
> collection has the field name in upper case (in the test it's 
> "FIELD_TO_DROP"), but the entity's fields map contains lower-case names 
> ("field_to_drop"). As a result, we do not remove the field from the query 
> entity, this query entity is saved to the stored cache data and field 
> re-appears after restart.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to