1. StoragePluginsRegistryImpl was updated:
a. for backward compatibility at init to convert all existing storage plugins 
names to lower case, in case of duplicates, to log warning and skip the 
duplicate.
b. to wrap persistent plugins registry into case insensitive store wrapper 
(CaseInsensitivePersistentStore) to ensure all given keys are converted into 
lower case when performing insert, update, delete, search operations.
c. to load system storage plugins dynamically by @SystemStorage annotation.
2. StoragePlugins class was updated to stored storage plugins configs by name 
in case insensitive map.
3. SchemaUtilities.searchSchemaTree method was updated to convert all schema 
names into lower case to ensure that are they are matched case insensitively 
(all schemas are stored in Drill in lower case).
4. FileSystemConfig was updated to store workspaces by name in case insensitive 
hash map.
5. All plugins schema factories are now extend AbstractSchemaFactory to ensure 
that given schema name is converted to lower case.
6. New method areTableNamesAreCaseInsensitive was added to AbstractSchema to 
indicate if schema tables names are case insensitive. By default, false. Schema 
implementation is responsible for table names case insensitive search in case 
it supports one. Currently, information_schema, sys and hive do so.
7. System storage plugins (information_schema, sys) were refactored to ensure 
their schema, table names are case insensitive, also the annotation 
@SystemPlugin and additional constructor were added to allow dynamically load 
system plugins at storage plugin registry during init phase.
8. MetadataProvider was updated to concert all schema filter conditions into 
lower case to ensure schema would be matched case insensitively.
9. ShowSchemasHandler, ShowTablesHandler, DescribeTableHandler were updated to 
ensure schema / tables names (this depends if schema supports case insensitive 
table names) would be found case insensitively.

Other details in [DRILL-6492](https://issues.apache.org/jira/browse/DRILL-6492).

[ Full content available at: https://github.com/apache/drill/pull/1439 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to