On Tue, Nov 22, 2011 at 10:34 AM, Jesse Yates <jesse.k.ya...@gmail.com> wrote:
> What I'm proposing is that instead of altering tables like this(for setting
> arbitrary keys, but this could be things like MAX_FILESIZE, etc):
>
>  alter 'table', METHOD=>'table_attr', "key1" => "v1"
>
> We could actually have the use make explicit method calls (which should
> give auto-complete in irb) on an object you get from alter. Then you can do
> something like this:
>
>  hbase> alter('table').table_attr "key1" => "v1"
>

I'm up for shell improvements.  It needs them bad.

On the above, does anyone else find it a little odd wrapping the
table's name in a verb and then setting attributes on whats returned?

Should it be something like:

hbase> table_schema = getTableSchema("table")
hbase> table_schema.attr "key" => "value"

or

hbase> table_schema.attr(key, value)



> This approach might also be something we can extend to much of the current
> shell functionality while still retaining much of the current code. I think
> moving this this kind of approach applies anywhere we would need to do
> chaining of invocations. Clearly, it depends on the situation, but
> leveraging OOP, rather than switching on string, makes a lot of sense (at
> least to me :)
>

If folks want to go that way, thats fine.

Was thinking the shell should be like bash or like mysql' shell.

St.Ack

Reply via email to