[
https://issues.apache.org/jira/browse/PHOENIX-2809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15225166#comment-15225166
]
Biju Nair commented on PHOENIX-2809:
------------------------------------
{{alter table}} statement without {{if exists}} also has the same behavior.
{noformat}
0: jdbc:phoenix:localhost:2181:/hbase> drop table test_alter;
No rows affected (8.555 seconds)
0: jdbc:phoenix:localhost:2181:/hbase> create table test_alter (TI tinyint not
null primary key);
No rows affected (1.267 seconds)
0: jdbc:phoenix:localhost:2181:/hbase> alter table test_alter add TI tinyint,
col1 varchar;
No rows affected (5.943 seconds)
0: jdbc:phoenix:localhost:2181:/hbase> !describe test_alter
+------------+--------------+-------------+--------------+------------+------------+--------------+----------------+-----------------+-----------------+-----------+----------+-------------+--------------+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | COLUMN_NAME | DATA_TYPE |
TYPE_NAME | COLUMN_SIZE | BUFFER_LENGTH | DECIMAL_DIGITS | NUM_PREC_RADIX
| NULLABLE | REMARKS | COLUMN_DEF | SQL_DATA_TYP |
+------------+--------------+-------------+--------------+------------+------------+--------------+----------------+-----------------+-----------------+-----------+----------+-------------+--------------+
| | | TEST_ALTER | TI | -6 | TINYINT
| null | null | null | null | 0
| | | null |
| | | TEST_ALTER | TI | -6 | TINYINT
| null | null | null | null | 1
| | | null |
| | | TEST_ALTER | COL1 | 12 | VARCHAR
| null | null | null | null | 1
| | | null |
+------------+--------------+-------------+--------------+------------+------------+--------------+----------------+-----------------+-----------------+-----------+----------+-------------+--------------+
{noformat}
> Alter table doesn't take into account current table definition
> --------------------------------------------------------------
>
> Key: PHOENIX-2809
> URL: https://issues.apache.org/jira/browse/PHOENIX-2809
> Project: Phoenix
> Issue Type: Bug
> Reporter: Biju Nair
>
> {{Alter table}} to add a new column with the column definition as an existing
> column in the table succeeds while the expectation will be that the alter
> will fail. Following is an example.
> {noformat}
> 0: jdbc:phoenix:localhost:2181:/hbase> create table test_alter (TI tinyint
> not null primary key);
> No rows affected (1.299 seconds)
> 0: jdbc:phoenix:localhost:2181:/hbase> alter table test_alter add if not
> exists TI tinyint, col1 varchar;
> No rows affected (15.962 seconds)
> 0: jdbc:phoenix:localhost:2181:/hbase> upsert into test_alter values
> (1,2,'add');
> 1 row affected (0.008 seconds)
> 0: jdbc:phoenix:localhost:2181:/hbase> select * from test_alter;
> +-----+-----+-------+
> | TI | TI | COL1 |
> +-----+-----+-------+
> | 1 | 1 | add |
> +-----+-----+-------+
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)