drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aman Sinha <amansi...@gmail.com>
Subject Re: [DISCUSS] case insensitive storage plugin and workspaces names
Date Tue, 12 Jun 2018 15:13:39 GMT
Drill is dependent on the underlying file system's case sensitivity.  On
HDFS one can create  'hadoop fs -mkdir /tmp/TPCH'  and /tmp/tpch which are
separate directories.
These could be set as workspace in Drill's storage plugin configuration and
we would want the ability to query both.   If we change the current
behavior, we would want
some way, either using back-quotes `  or other way to support that.

RDBMSs seem to have vendor-specific behavior...
In MySQL [1] the database name and schema name are case-sensitive on Linux
and case-insensitive on Windows.   Whereas in Postgres it converts the
database name and schema name to lower-case by default but one can put
double-quotes to make it case-sensitive [2].

[1] https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html

On Tue, Jun 12, 2018 at 5:01 AM, Arina Yelchiyeva <
arina.yelchiyeva@gmail.com> wrote:

> Hi all,
> Currently Drill we treat storage plugin names and workspaces as
> case-sensitive [1].
> Names for storage plugins and workspaces are defined by the user. So we
> allow to create plugin -> DFS and dfs, workspace -> tmp and TMP.
> I have a suggestion to move to case insensitive approach and won't allow
> creating two plugins / workspaces with the same name in different case at
> least for the following reasons:
> 1. usually rdbms schema and table names are case insensitive and many users
> are used to this approach;
> 2. in Drill we have INFORMATION_SCHEMA schema which is in upper case, sys
> in lower case.
> personally I find it's extremely inconvenient.
> Also we should consider making table names case insensitive for system
> schemas (info, sys).
> Any thoughts?
> [1] https://drill.apache.org/docs/lexical-structure/
> Kind regards,
> Arina

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message