Github user jaanai0 commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/355#discussion_r220894529
--- Diff: phoenix-core/src/main/antlr3/PhoenixSQL.g ---
@@ -655,9 +656,17 @@ alter_session_node returns [AlterSessionStatement ret]
// Parse an alter table statement.
alter_table_node returns [AlterTableStatement ret]
- : ALTER (TABLE | v=VIEW) t=from_table_name
- ( (DROP COLUMN (IF ex=EXISTS)? c=column_names) | (ADD (IF NOT
ex=EXISTS)? (d=column_defs) (p=fam_properties)?) | (SET (p=fam_properties)) )
- { PTableType tt = v==null ?
(QueryConstants.SYSTEM_SCHEMA_NAME.equals(t.getSchemaName()) ?
PTableType.SYSTEM : PTableType.TABLE) : PTableType.VIEW; ret = ( c == null ?
factory.addColumn(factory.namedTable(null,t), tt, d, ex!=null, p) :
factory.dropColumn(factory.namedTable(null,t), tt, c, ex!=null) ); }
+@init { PTableType tt = null;}
+ : ALTER (TABLE | v=VIEW) t=from_table_name { tt = v==null ?
(QueryConstants.SYSTEM_SCHEMA_NAME.equals(t.getSchemaName()) ?
PTableType.SYSTEM : PTableType.TABLE) : PTableType.VIEW;}
+ (
+ DROP COLUMN (IF ex=EXISTS)? c=column_names { ret =
factory.dropColumn(factory.namedTable(null, t), tt, c, ex!=null);}
+ |
+ (
+ ADD (IF NOT ex=EXISTS)? cds=column_defs
(p=fam_properties)?
+ | SET p=fam_properties
+ ) { ret = factory.addColumn(factory.namedTable(null,
t), tt, cds, ex!=null, p);}
+ | MODIFY (IF NOT ex=EXISTS)? cd=column_def { ret =
factory.modifyColumn(factory.namedTable(null, t), tt, cd, ex!=null);}
--- End diff --
Yep, that will be confirmed in MetaDataClient
```java
if (oldColumn == null) {
throw new
ColumnNotFoundException(table.getSchemaName().getString(),
table.getTableName().getString(),
columnName.getFamilyName(), columnName.getColumnName());
}
```
---