See comments inline.

Julian


> On Mar 25, 2016, at 9:29 AM, Dan Di Spaltro <[email protected]> wrote:
> 
> So I definitely understand the data side of the target database ("A"), that
> I am virtualizing.
> 
> I guess more specific questions would be:
> * How would I expose only two tables from "A" (they would both include the
> tenantId field), I'm guess I might override the JdbcSchema using some
> whitelist.

A whitelist is one approach. Another is to keep the JdbcSchema private, but 
create views in another schema that reference those tables. Tenants would only 
see the views.

> * Since I want to give everyone the same virtual table space (with
> different "data"), would I need to look in overriding some of the Jdbc core
> implementation?

I don’t think you need to change anything in the JDBC adapter. All of the 
smarts will be in the views. 

> * I would need to use the parsed tree and then add the tenantId filter
> * Somehow pass in the tenantId during query time, ideally at the statement
> vs the connection level.

You could put tenantId into the DataContext. In SQL it would be accessed using 
a function. This is very similar to how CURRENT_TIMESTAMP function works.

> 
> Anyways, was just looking for some pointers, as there is a lot of code
> here. And anything would be much appreciated.  I am happy to share some of
> the work once it's done.



Reply via email to