[ https://issues.apache.org/jira/browse/PHOENIX-2795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Taylor updated PHOENIX-2795: ---------------------------------- Description: When a view or base table is created, we should have an string AUTO_PARTITION_SEQ parameter on CREATE TABLE which uses a sequence based on the argument on the server side to generate a WHERE clause with the first PK column and the unique identifier from the sequence. For example: {code} CREATE SEQUENCE metric_id_seq; CREATE TABLE metric_table (metric_id INTEGER, val DOUBLE) AUTO_PARTITION_SEQ=metric_id_seq; CREATE VIEW my_view1 AS SELECT * FROM base_table; {code} would tack on a WHERE clause base on the next value in a sequence, logically like this: {code} WHERE partition_id = NEXT VALUE FROM metric_id_seq {code} It's important that the sequence be generated *after* the check for the existence of the view so that we don't burn sequence values needlessly if the view already exists. was: When a view or base table is created, we should have an string AUTO_PARTITION_SEQ parameter on CREATE TABLE which uses a sequence based on the argument on the server side to generate a WHERE clause with the first PK column and the unique identifier from the sequence. For example: {code} CREATE SEQUENCE metric_id_seq; CREATE TABLE metric_table (metric_id INTEGER, val DOUBLE) AUTO_PARTITION_SEQ=metric_id_seq; CREATE VIEW my_view1 AS SELECT * FROM base_table; {code} would tack on a WHERE clause base on the next value in a sequence, logically like this: {{WHERE partition_id \= }} + {{NEXT VALUE FROM}} + {{metric_id_seq}} It's important that the sequence be generated *after* the check for the existence of the view so that we don't burn sequence values needlessly if the view already exists. > Support auto partition for views > -------------------------------- > > Key: PHOENIX-2795 > URL: https://issues.apache.org/jira/browse/PHOENIX-2795 > Project: Phoenix > Issue Type: Improvement > Reporter: James Taylor > Assignee: Thomas D'Silva > > When a view or base table is created, we should have an string > AUTO_PARTITION_SEQ parameter on CREATE TABLE which uses a sequence based on > the argument on the server side to generate a WHERE clause with the first PK > column and the unique identifier from the sequence. > For example: > {code} > CREATE SEQUENCE metric_id_seq; > CREATE TABLE metric_table (metric_id INTEGER, val DOUBLE) > AUTO_PARTITION_SEQ=metric_id_seq; > CREATE VIEW my_view1 AS SELECT * FROM base_table; > {code} > would tack on a WHERE clause base on the next value in a sequence, logically > like this: > {code} > WHERE partition_id = NEXT VALUE FROM metric_id_seq > {code} > It's important that the sequence be generated *after* the check for the > existence of the view so that we don't burn sequence values needlessly if the > view already exists. -- This message was sent by Atlassian JIRA (v6.3.4#6332)