You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Serhiy Bilousov (JIRA)" <ji...@apache.org> on 2015/03/10 07:52:38 UTC
[jira] [Updated] (PHOENIX-1719) CREATE VIEW ... AS SELECT DDL
should allow aliases for the column(s) definition.
[ https://issues.apache.org/jira/browse/PHOENIX-1719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Serhiy Bilousov updated PHOENIX-1719:
-------------------------------------
Summary: CREATE VIEW ... AS SELECT DDL should allow aliases for the column(s) definition. (was: CREATE VIEW ... AS SELECT DDL should allow to specify aliases for the columns.)
> 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: Critical
>
> 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
(v6.3.4#6332)