Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # dev >> [DISCUSS] Namespace Delimiter


Copy link to this message
-
Re: [DISCUSS] Namespace Delimiter
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.

     James

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 <[EMAIL PROTECTED]>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 <[EMAIL PROTECTED]> 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
>>>
>>