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] > > >
