[
https://issues.apache.org/jira/browse/PHOENIX-4424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16274009#comment-16274009
]
ASF GitHub Bot commented on PHOENIX-4424:
-----------------------------------------
Github user karanmehta93 commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/284#discussion_r154276127
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java ---
@@ -4125,7 +4125,7 @@ public MutationState
createSchema(CreateSchemaStatement create) throws SQLExcept
private void validateSchema(String schemaName) throws SQLException {
if (SchemaUtil.NOT_ALLOWED_SCHEMA_LIST.contains(
- schemaName.toUpperCase())) { throw new
SQLExceptionInfo.Builder(SQLExceptionCode.SCHEMA_NOT_ALLOWED)
--- End diff --
This code would automatically uppercase the schema irrespective of
considering if it's enclosed in quotes or not. It will use that value to
validate the schema. However, will creating, it will use the regular name.
Checkout Line 4093. This seems an inconsistent logic to me.
For the query
`CREATE SCHEMA "ABC"`, this code will create to create a schema with name
`"ABC"` with the double quotes. There was no test that was actually testing
this and thus it wasn't caught yet. I wrote a test in `QueryParserTest` and
caught it.
@JamesRTaylor Please advice.
> Allow users to create "DEFAULT" and "HBASE" Schema (Uppercase Schema Names)
> ---------------------------------------------------------------------------
>
> Key: PHOENIX-4424
> URL: https://issues.apache.org/jira/browse/PHOENIX-4424
> Project: Phoenix
> Issue Type: Bug
> Reporter: Karan Mehta
> Assignee: Karan Mehta
> Attachments: PHOENIX-4424.001.patch
>
>
> We currently block users to create "DEFAULT" and "HBASE" schema, however it
> should be actually "default" and "hbase" since hbase namespace is case
> sensitive. Hence we should update it and allow is users want to create
> schema's with those names.
> If user wants to access the schema names with capital letters, they can pass
> it in directly (Phoenix will automatically upper-case it) or pass it in
> uppercase letters with double-quotes.
> FYI.
> [[email protected]]
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)