phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas D'Silva (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-2795) Support auto partition for views
Date Fri, 29 Apr 2016 19:25:12 GMT

     [ https://issues.apache.org/jira/browse/PHOENIX-2795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Thomas D'Silva updated PHOENIX-2795:
------------------------------------
    Attachment: PHOENIX-2795-v3.patch

[~jamestaylor]

I have added a test for a view statement with a complex where clause. The AndParseNode and
OrParseNode toSql methods generate surrounding parens so we should be ok without adding parens.


For tables that have the autoPartition property set if the view statement of a view is null
I set it to QueryConstants.EMPTY_COLUMN_VALUE_BYTES) (so that viewWhere is never null and
we don't generate a Delete). So I just need to AND the autoPartition where clause if the viewWhere
is not QueryConstants.EMPTY_COLUMN_VALUE_BYTES

> Support auto partition for views
> --------------------------------
>
>                 Key: PHOENIX-2795
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2795
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>            Assignee: Thomas D'Silva
>              Labels: argus
>             Fix For: 4.8.0
>
>         Attachments: PHOENIX-2795-v2.patch, PHOENIX-2795-v3.patch, PHOENIX-2795.patch
>
>
> 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)

Mime
View raw message