[ 
https://issues.apache.org/jira/browse/PHOENIX-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15123810#comment-15123810
 ] 

James Taylor commented on PHOENIX-1311:
---------------------------------------

Sounds messy, [~ankit.singhal]. I was thinking that for b/w compat we could 
introduce a version column in SYSTEM.CATALOG. New tables would uniformly map 
the schema name to a namespace and old tables wouldn't. We could then have a 
MR-based conversion tool to migrate the existing data of a table into a 
namespace aware Phoenix table. We can handle the upgrade of the SYSTEM tables 
automatically as they're not that big (probably piggybacking on the MR-based 
conversion code).

The default namespace would tie into the default schema in SQL (see Postgres 
and other RDBMS for how this works). We'd need a way of creating and dropping 
schemas and a way for the user to set the default schema for their session. The 
default schema is used to qualify a table when there's no reference to a schema 
(i.e. {{SELECT * FROM T}} when the default namespace is {{S}} would look for 
the table named {{T}} in the HBase namespace of {{S}}.

Rather than starting with a patch, I'd recommend writing up a design doc for 
how this feature will work, the new SQL commands we'll support, the b/w compat 
story, how default schemas will be supported, etc. After that's agreed upon, I 
think a JIRA comment outlining the implementation would be next, and only after 
that's captured would we want to start writing code.

> HBase namespaces surfaced in phoenix
> ------------------------------------
>
>                 Key: PHOENIX-1311
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1311
>             Project: Phoenix
>          Issue Type: New Feature
>            Reporter: nicolas maillard
>            Assignee: Ankit Singhal
>            Priority: Minor
>             Fix For: 4.8.0
>
>         Attachments: PHOENIX-1311_wip.patch, PHOENIX-1311_wip_2.patch
>
>
> Hbase (HBASE-8015) has the concept of namespaces in the form of 
> myNamespace:MyTable it would be great if Phoenix leveraged this feature to 
> give a database like feature on top of the table.
> Maybe to stay close to Hbase it could also be a create DB:Table...
> or DB.Table which is a more standard annotation?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to