drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5878) TableNotFound exception is being reported for a wrong storage plugin.
Date Wed, 18 Oct 2017 23:08:00 GMT

    [ https://issues.apache.org/jira/browse/DRILL-5878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16210248#comment-16210248
] 

ASF GitHub Bot commented on DRILL-5878:
---------------------------------------

Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/996#discussion_r145564952
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/SchemaUtilites.java
---
    @@ -77,6 +77,22 @@ public static SchemaPlus findSchema(final SchemaPlus defaultSchema,
final String
         return findSchema(defaultSchema, schemaPathAsList);
       }
     
    +  /**
    +   * Utility function to get the commonPrefix schema between two supplied schemas.
    +   * @param defaultSchema default schema
    +   * @param schemaPath current schema path
    +   * @param isCaseSensitive true if caseSensitive comparision is required.
    +   * @return common prefix schemaPath
    +   */
    +  public static String getPrefixSchemaPath(final String defaultSchema, final String schemaPath,
final boolean isCaseSensitive) {
    +    if (!isCaseSensitive) {
    +      return Strings.commonPrefix(defaultSchema.toLowerCase(), schemaPath.toLowerCase());
    --- End diff --
    
    Is the schema a single name? Probably not since we are talking about common prefixes.
    
    Drill supports names with dots. This is done by using an object per name part. (A `NamePart`
in a `SchemaPath`.) Here are we concatenating the names? If so, won't e have false matches?
    
    ```
    ['a', 'b.c'] --> "a.b.c"
    ['a.b', 'c'] --> "a.b.c"
    ```
    The above are two distinct paths, but they will (wrongly) compare equals when concatenated.
    
    Instead, do we want a list of name parts, and want to compare the names part by part?
Does Calcite represent the path as a collection of objects? (If not, we've got larger problems...)


> TableNotFound exception is being reported for a wrong storage plugin.
> ---------------------------------------------------------------------
>
>                 Key: DRILL-5878
>                 URL: https://issues.apache.org/jira/browse/DRILL-5878
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: SQL Parser
>    Affects Versions: 1.11.0
>            Reporter: Hanumath Rao Maduri
>            Assignee: Hanumath Rao Maduri
>            Priority: Minor
>             Fix For: 1.12.0
>
>
> Drill is reporting TableNotFound exception for a wrong storage plugin. 
> Consider the following query where employee.json is queried using cp plugin.
> {code}
> 0: jdbc:drill:zk=local> select * from cp.`employee.json` limit 10;
> +--------------+--------------------+-------------+------------+--------------+-------------------------+-----------+----------------+-------------+------------------------+----------+----------------+-------------------+-----------------+---------+--------------------+
> | employee_id  |     full_name      | first_name  | last_name  | position_id  |     position_title
     | store_id  | department_id  | birth_date  |       hire_date        |  salary  | supervisor_id
 |  education_level  | marital_status  | gender  |  management_role   |
> +--------------+--------------------+-------------+------------+--------------+-------------------------+-----------+----------------+-------------+------------------------+----------+----------------+-------------------+-----------------+---------+--------------------+
> | 1            | Sheri Nowmer       | Sheri       | Nowmer     | 1            | President
              | 0         | 1              | 1961-08-26  | 1994-12-01 00:00:00.0  | 80000.0
 | 0              | Graduate Degree   | S               | F       | Senior Management  |
> | 2            | Derrick Whelply    | Derrick     | Whelply    | 2            | VP Country
Manager      | 0         | 1              | 1915-07-03  | 1994-12-01 00:00:00.0  | 40000.0
 | 1              | Graduate Degree   | M               | M       | Senior Management  |
> | 4            | Michael Spence     | Michael     | Spence     | 2            | VP Country
Manager      | 0         | 1              | 1969-06-20  | 1998-01-01 00:00:00.0  | 40000.0
 | 1              | Graduate Degree   | S               | M       | Senior Management  |
> | 5            | Maya Gutierrez     | Maya        | Gutierrez  | 2            | VP Country
Manager      | 0         | 1              | 1951-05-10  | 1998-01-01 00:00:00.0  | 35000.0
 | 1              | Bachelors Degree  | M               | F       | Senior Management  |
> | 6            | Roberta Damstra    | Roberta     | Damstra    | 3            | VP Information
Systems  | 0         | 2              | 1942-10-08  | 1994-12-01 00:00:00.0  | 25000.0  |
1              | Bachelors Degree  | M               | F       | Senior Management  |
> | 7            | Rebecca Kanagaki   | Rebecca     | Kanagaki   | 4            | VP Human
Resources      | 0         | 3              | 1949-03-27  | 1994-12-01 00:00:00.0  | 15000.0
 | 1              | Bachelors Degree  | M               | F       | Senior Management  |
> | 8            | Kim Brunner        | Kim         | Brunner    | 11           | Store
Manager           | 9         | 11             | 1922-08-10  | 1998-01-01 00:00:00.0  | 10000.0
 | 5              | Bachelors Degree  | S               | F       | Store Management   |
> | 9            | Brenda Blumberg    | Brenda      | Blumberg   | 11           | Store
Manager           | 21        | 11             | 1979-06-23  | 1998-01-01 00:00:00.0  | 17000.0
 | 5              | Graduate Degree   | M               | F       | Store Management   |
> | 10           | Darren Stanz       | Darren      | Stanz      | 5            | VP Finance
             | 0         | 5              | 1949-08-26  | 1994-12-01 00:00:00.0  | 50000.0
 | 1              | Partial College   | M               | M       | Senior Management  |
> | 11           | Jonathan Murraiin  | Jonathan    | Murraiin   | 11           | Store
Manager           | 1         | 11             | 1967-06-20  | 1998-01-01 00:00:00.0  | 15000.0
 | 5              | Graduate Degree   | S               | M       | Store Management   |
> +--------------+--------------------+-------------+------------+--------------+-------------------------+-----------+----------------+-------------+------------------------+----------+----------------+-------------------+-----------------+---------+--------------------+
> {code}
> However if cp1 is used instead of cp then Drill reports TableNotFound exception.
> {code}
> 0: jdbc:drill:zk=local> select * from cp1.`employee.json` limit 10;
> Oct 16, 2017 1:40:02 PM org.apache.calcite.sql.validate.SqlValidatorException <init>
> SEVERE: org.apache.calcite.sql.validate.SqlValidatorException: Table 'cp1.employee.json'
not found
> Oct 16, 2017 1:40:02 PM org.apache.calcite.runtime.CalciteException <init>
> SEVERE: org.apache.calcite.runtime.CalciteContextException: From line 1, column 15 to
line 1, column 17: Table 'cp1.employee.json' not found
> Error: VALIDATION ERROR: From line 1, column 15 to line 1, column 17: Table 'cp1.employee.json'
not found
> SQL Query null
> [Error Id: 280cb38f-4d71-4027-afbc-86df542f8f9a on laptop-npjh4dhd.corp.maprtech.com:31010]
(state=,code=0)
> {code}
> Ideally this should report an error similar to invalid schema.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message