WIP Core client library and integration test framework.

@alainjobart @guoliang100 @sougou 
Includes -
* DatabaseContext as the primary entry point.
* Base classes that control routing and cursor creation.
* Sql builder constructs.
* Integration test framework.
* Simple end to end test for unsharded keyspace and table.
Next - 
* Examples and test for range-sharding.
* Failure/error cases.
* Examples with db operation decorators.

Do you mean DBObjectUnsharded - yes for tables living in unsharded keyspace.

On Tue, Dec 23, 2014 at 3:18 PM, Liang <notifications@github.com> wrote:

> In py/vtdb/db_object.py
> <https://github.com/youtube/vitess/pull/269#discussion-diff-22240296>:
>
> > +
> > +  id_column_name = 'id'
> > +  sharding_key_column_name = None
> > +  entity_id_columns = None
> > +
> > +  @classmethod
> > +  def create_shard_routing(class_, is_dml, *pargs, **kwargs):
> > +    routing = ShardRouting(class_.keyspace)
> > +    routing.keyrange = keyrange.KeyRange(keyrange_constants.NON_PARTIAL_KEYRANGE)
> > +    return routing
> > +
> > +  @classmethod
> > +  def create_vtgate_cursor(class_, vtgate_conn, tablet_type, is_dml, **kargs):
> > +    routing = class_.create_shard_routing(is_dml)
> > +
> > +    if routing.keyrange is not None:
>
> routing.keyrange won't be None from the above method.
> Could this class be inherited given it is unsharded?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/youtube/vitess/pull/269/files#r22240296>.
>