[
https://issues.apache.org/jira/browse/PHOENIX-1614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16798027#comment-16798027
]
jaanai commented on PHOENIX-1614:
---------------------------------
{code:java}
- List<ColumnDef> columnDefs = null;
- if (table.isAppendOnlySchema()) {
+ List<ColumnDef> columnDefs = Lists.newArrayList();
+ if (origColumnDefs != null) {
{code}
There are some limitations for the tables that APPEND_ONLY_SCHEMA is true, you
can see [PHOENIX-4737|https://issues.apache.org/jira/browse/PHOENIX-4737], so
changes that IF statements might cause some errors.
> ALTER TABLE ADD IF NOT EXISTS doesn't work as expected
> ------------------------------------------------------
>
> Key: PHOENIX-1614
> URL: https://issues.apache.org/jira/browse/PHOENIX-1614
> Project: Phoenix
> Issue Type: Bug
> Reporter: Gabriel Reid
> Assignee: Toshihiro Suzuki
> Priority: Major
> Labels: argus
> Fix For: 4.15.0
>
> Attachments: PHOENIX-1614-v2.patch, PHOENIX-1614-v3.patch,
> PHOENIX-1614-v4.patch, PHOENIX-1614.patch
>
>
> On an existing table table, executing "ALTER TABLE ADD IF NOT EXISTS
> thisColAlreadyExists varchar, thisColDoesNotExist varchar", then
> nothing will be changed in the table because thisColAlreadyExists
> already exists.
> Omitting the already-existing column from the statement, all new columns
> do get created.
> The general expectation would be that when you use ADD IF NOT EXISTS, all
> non-existent columns will be added, and all existing columns in the
> statement will just be ignored. There is already an integration test
> (AlterTableIT#testAddVarCols) that actually demonstrates the current
> behavior, although this is probably not correct.
> As pointed out in the related mailing list thread [1], ALTER TABLE DROP
> COLUMN likely suffers from the same issue.
> 1. http://s.apache.org/LMT
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)