[
https://issues.apache.org/jira/browse/PHOENIX-1719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Istvan Toth updated PHOENIX-1719:
---------------------------------
Priority: Major (was: Critical)
> CREATE VIEW ... AS SELECT DDL should allow aliases for the column(s)
> definition.
> --------------------------------------------------------------------------------
>
> Key: PHOENIX-1719
> URL: https://issues.apache.org/jira/browse/PHOENIX-1719
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Serhiy Bilousov
> Priority: Major
>
> It would be very helpful to be able to specify aliases for the columns when
> creating VIEW. It also would be beneficiary to have consistent GRAMMAR for
> select statement in the select, create view (including as select), derived
> tables, sub-queries etc.
> This would not only bring PHOENIX SQL one little step closer to the ANSI SQL
> standart but would also allow to bring well named column names to BI tools
> and still stay with HBase best practices regarding minimal length of the
> CQ/CD names.
> It should also allow to hide quoted CQ/CC behind the VIEW so user would not
> need to think about what CC should be quoted and what should not.
> Here is how it looks in different RDMS
> {code:title=MS SQL|borderStyle=solid}
> // Some comments here
> CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]
> [ WITH <view_attribute> [ ,...n ] ]
> AS select_statement
> [ WITH CHECK OPTION ]
> [ ; ]
> <view_attribute> ::=
> {
> [ ENCRYPTION ]
> [ SCHEMABINDING ]
> [ VIEW_METADATA ]
> }
> {code}
> {code:title=Postgrsql|borderStyle=solid}
> [ WITH [ RECURSIVE ] with_query [, ...] ]
> SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
> [ * | expression [ [ AS ] output_name ] [, ...] ]
> [ FROM from_item [, ...] ]
> [ WHERE condition ]
> [ GROUP BY expression [, ...] ]
> [ HAVING condition [, ...] ]
> [ WINDOW window_name AS ( window_definition ) [, ...] ]
> [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ]
> [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST |
> LAST } ] [, ...] ]
> [ LIMIT { count | ALL } ]
> [ OFFSET start [ ROW | ROWS ] ]
> [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]
> [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF table_name [,
> ...] ] [ NOWAIT ] [...] ]
> where from_item can be one of:
> [ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
> [ LATERAL ] ( select ) [ AS ] alias [ ( column_alias [, ...] ) ]
> with_query_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
> [ LATERAL ] function_name ( [ argument [, ...] ] )
> [ WITH ORDINALITY ] [ [ AS ] alias [ ( column_alias [, ...] )
> ] ]
> [ LATERAL ] function_name ( [ argument [, ...] ] ) [ AS ] alias (
> column_definition [, ...] )
> [ LATERAL ] function_name ( [ argument [, ...] ] ) AS ( column_definition
> [, ...] )
> [ LATERAL ] ROWS FROM( function_name ( [ argument [, ...] ] ) [ AS (
> column_definition [, ...] ) ] [, ...] )
> [ WITH ORDINALITY ] [ [ AS ] alias [ ( column_alias [, ...] )
> ] ]
> from_item [ NATURAL ] join_type from_item [ ON join_condition | USING (
> join_column [, ...] ) ]
> and with_query is:
> with_query_name [ ( column_name [, ...] ) ] AS ( select | values | insert
> | update | delete )
> TABLE [ ONLY ] table_name [ * ]
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)