You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Govind K <go...@gmail.com> on 2014/08/16 05:59:30 UTC

Guidance for new effort

Greetings,
         Thanks a ton for the optiq-csv, mongo and splunk examples. I am
trying to write simple "browser" of entities for Azure Table Storage.

As I see from mongo - it becomes sophisticated in terms of "pushing" down
filters. It also "connects" only when the enumeration happens. Same is the
case with csv reader which when enumerated using CsvReader traverses the
file.


 In case of Azure Table Storage - it's client library provides way to
create filters and then send it over wire to the backend. I do not intend
to create full-fledged entity-insert/delete/modify jdbc-adapter.

I want to proceed in following steps and trying to see if there is
"minimalistic" way
1. Connect and only show tables
2. Connect and only browse a table - all columns - no projections - in
limited 10/20 rows fashion.
3. Connect and browse a table with filters/conditions.

I am assuming I need not go down full blown JDBC adapter path.

1. I can just work with schemaFactory, Schema to enumerate Tables using
connection. I do not need "smart" table yet. Table needs to implement open
connection again and pass it and table name instead of file for
enumeration.Finally modify enumerator for the right data types and state
for "rows" traversed.

Kindly help redirect if this is not appropriate. I am hoping at least
thinking is "corrected" before I go down the weekend project.

regards
Govind

Re: Guidance for new effort

Posted by Julian Hyde <ju...@gmail.com>.
Govind,

You’re on exactly the right track.

A simple adapter needs to implement a schema factory that can browse the available tables, then for each table you need a way to convert its rows into an enumerator. Once you’ve done that, Optiq can put a SQL interface on top. (The CSV adapter does exactly that.)

Then, if you like, you can start writing more advanced rules for push-down.

Sorry it took me a few days to respond.

Julian

On Aug 15, 2014, at 8:59 PM, Govind K <go...@gmail.com> wrote:

> Greetings,
>         Thanks a ton for the optiq-csv, mongo and splunk examples. I am
> trying to write simple "browser" of entities for Azure Table Storage.
> 
> As I see from mongo - it becomes sophisticated in terms of "pushing" down
> filters. It also "connects" only when the enumeration happens. Same is the
> case with csv reader which when enumerated using CsvReader traverses the
> file.
> 
> 
> In case of Azure Table Storage - it's client library provides way to
> create filters and then send it over wire to the backend. I do not intend
> to create full-fledged entity-insert/delete/modify jdbc-adapter.
> 
> I want to proceed in following steps and trying to see if there is
> "minimalistic" way
> 1. Connect and only show tables
> 2. Connect and only browse a table - all columns - no projections - in
> limited 10/20 rows fashion.
> 3. Connect and browse a table with filters/conditions.
> 
> I am assuming I need not go down full blown JDBC adapter path.
> 
> 1. I can just work with schemaFactory, Schema to enumerate Tables using
> connection. I do not need "smart" table yet. Table needs to implement open
> connection again and pass it and table name instead of file for
> enumeration.Finally modify enumerator for the right data types and state
> for "rows" traversed.
> 
> Kindly help redirect if this is not appropriate. I am hoping at least
> thinking is "corrected" before I go down the weekend project.
> 
> regards
> Govind