drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Rogers (JIRA)" <j...@apache.org>
Subject [jira] [Created] (DRILL-5180) Storage Plugin API provides user name too late in process
Date Mon, 09 Jan 2017 16:48:58 GMT
Paul Rogers created DRILL-5180:

             Summary: Storage Plugin API provides user name too late in process
                 Key: DRILL-5180
                 URL: https://issues.apache.org/jira/browse/DRILL-5180
             Project: Apache Drill
          Issue Type: Improvement
    Affects Versions: 1.8.0
            Reporter: Paul Rogers
            Priority: Minor

The storage plugin API provides a number of APIs to build up a table scan:

class AbstractSchema {
  public Table getTable(String name){
interface StoragePlugin {
  public AbstractGroupScan getPhysicalScan(String userName, JSONOptions selection) throws
IOException {

This sequence assumes that tables are visible to all uses, but only a scan is restricted by
permissions. Some systems, such as an RDBMS, restrict the *visibility* of tables based on
users. That is, one must connect to an RDBMS as a user, and that user may be able to see certain
tables but not others.

Since Drill asks for the table before presenting the named user, the API cannot support the
RDBMS semantics.

The same is true, by the way, for schemas. A database might offer a variety of schemas, restricted
by user permissions. The storage plugin cannot offer a list of schemas (or move into a schema)
without knowing the user on whose behalf the plugin operates.

This message was sent by Atlassian JIRA

View raw message