That definitely looks like a bug. Can you file a JIRA? I'll get someone to
look at it.

thanks,
Jacques


--
Jacques Nadeau
CTO and Co-Founder, Dremio

On Mon, Feb 29, 2016 at 2:47 PM, Paul Mogren <[email protected]>
wrote:

> Hello,
>
> I just tried Drill with MS SQL Server and I found that Drill treats table
> names case-sensitively, contrary to
> https://drill.apache.org/docs/lexical-structure/ which indicates that
> table names are "case-insensitive unless enclosed in double quotation
> marks”. This presents a problem for users and existing SQL scripts that
> expect table names to be case-insensitive.
>
> This works: select * from mysandbox.dbo.AD_Role
> This does not work: select * from mysandbox.dbo.ad_role
>
> I will paste the verbose error log below.
>
> Regards,
> Paul Mogren
>
>
>
> 2016-02-29 17:43:15,754 [292b367c-61e3-5ae5-9b8a-2dadb12f47e1:foreman]
> INFO  o.a.drill.exec.work.foreman.Foreman - Query text for query id
> 292b367c-61e3-5ae5-9b8a-2dadb12f47e1: select * from mysandbox.dbo.ad_role
> 2016-02-29 17:43:16,288 [292b367c-61e3-5ae5-9b8a-2dadb12f47e1:foreman]
> INFO  o.a.d.e.planner.sql.DrillSqlWorker - User Error Occurred
> org.apache.drill.common.exceptions.UserException: VALIDATION ERROR: From
> line 1, column 15 to line 1, column 23: Table 'mysandbox.dbo.ad_role' not
> found
>
>
>
>
> [Error Id: 6f4c3d19-c8d2-4ae1-8dab-0d0e46c9480f ]
>         at
> org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543)
> ~[drill-common-1.5.0.jar:1.5.0]
>         at
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:202)
> [drill-java-exec-1.5.0.jar:1.5.0]
>         at
> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:924)
> [drill-java-exec-1.5.0.jar:1.5.0]
>         at
> org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:250)
> [drill-java-exec-1.5.0.jar:1.5.0]
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_40]
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [na:1.8.0_40]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
> Caused by: org.apache.calcite.tools.ValidationException:
> org.apache.calcite.runtime.CalciteContextException: From line 1, column 15
> to line 1, column 23: Table 'mysandbox.dbo.ad_role' not found
>         at
> org.apache.calcite.prepare.PlannerImpl.validate(PlannerImpl.java:189)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.prepare.PlannerImpl.validateAndGetType(PlannerImpl.java:198)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:451)
> ~[drill-java-exec-1.5.0.jar:1.5.0]
>         at
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:198)
> ~[drill-java-exec-1.5.0.jar:1.5.0]
>         at
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:167)
> ~[drill-java-exec-1.5.0.jar:1.5.0]
>         at
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:199)
> [drill-java-exec-1.5.0.jar:1.5.0]
>         ... 5 common frames omitted
> Caused by: org.apache.calcite.runtime.CalciteContextException: From line
> 1, column 15 to line 1, column 23: Table 'mysandbox.dbo.ad_role' not found
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method) ~[na:1.8.0_40]
>         at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> ~[na:1.8.0_40]
>         at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> ~[na:1.8.0_40]
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
> ~[na:1.8.0_40]
>         at
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:405)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:714)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:702)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:3931)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:106)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:86)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:877)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:863)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2778)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2763)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:2986)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:86)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:877)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:863)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:210)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:837)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:551)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.prepare.PlannerImpl.validate(PlannerImpl.java:187)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         ... 10 common frames omitted
> Caused by: org.apache.calcite.sql.validate.SqlValidatorException: Table
> 'mysandbox.dbo.ad_role' not found
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method) ~[na:1.8.0_40]
>         at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> ~[na:1.8.0_40]
>         at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> ~[na:1.8.0_40]
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
> ~[na:1.8.0_40]
>         at
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:405)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>         at
> org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:514)
> ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
>
>
>

Reply via email to