hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Taylor <jtay...@salesforce.com>
Subject Re: [DISCUSS] Namespace Delimiter
Date Wed, 08 May 2013 19:02:44 GMT
Sorry, didn't explain the current Phoenix behavior correctly. Phoenix 
uses "." in table names currently by combining the <schema name> and 
<table name> together with a "." as the separator.  For example:
CREATE TABLE SCOTT.TIGER (...) would create a table named SCOTT.TIGER. I 
suspect it's pretty common to use a "." in the table name, so changing 
this behavior now would be painful.


On 05/08/2013 11:54 AM, Enis Söztutar wrote:
> "." is the de-facto way of doing something like this, but now I tend to buy
> the argument that forcing people to rename their tables will be a lot of
> trouble.
> I think it is reasonable to
>   - Remove "." to be a valid table name character. You won't be able to
> create a table with a "." in the name.
>   - Keep migrated tables under default namespace. default namespace will
> contain tables with dot in their name as well.
>   - If you have a table "a.b", you cannot create a namespace named "a"
>   - Whenever we refer to table "a.b", we can search for namespace "a", if
> not found search for table "a.b" in default namespace.
> Would that work.
> Enis
> On Tue, May 7, 2013 at 11:55 PM, James Taylor <jtaylor@salesforce.com>wrote:
>> Phoenix uses  <schema name> . <table name> to reference tables, so
>> allowing a "." in names would make parsing ambiguous.
>>      James
>> On 05/07/2013 11:36 PM, Stack wrote:
>>> On Tue, May 7, 2013 at 5:22 PM, Francis Liu <toffer@apache.org> wrote:
>>>   One thing I had in mind was to automatically assume that the first dot
>>>> delimits the namespace name. During upgrade we automatically create those
>>>> namespaces and assign the tables accordingly. They can then eventually
>>>> migrate/rename their tables (if needed) at a later time. In the extreme
>>>> case that would be one namespace per table. For which we will provide a
>>>> tool to rename offline tables.
>>>> I'm guessing most cases would not require a rename. What else do people
>>>> use dots in their table name for?
>>> With namespaces in place, will '.' be illegal in a table name?
>>> With namespaces, is there a no-namespace/default location?  If so, what
>>> will it be called or how will you refer to tables in the
>>> no-namespace/default namespace?
>>> I just took a user's production website where there are hundreds of
>>> tables.
>>>    For no good reason that I can see, they happened to have choosen '_' and
>>> '-' as table name partitioner: i.e. application_feature, etc.  My sense is
>>> they could just as easily have gone with '.' but maybe the '.META.' name
>>> frightens people away from '.'?
>>> Anyone using '.' in their table names?
>>> St.Ack

View raw message