[ https://issues.apache.org/jira/browse/HIVE-24557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davide Vergari updated HIVE-24557: ----------------------------------- Description: I found a small misalignment on how Hive and WebHCat parse database name starting with numbers. If you execute: {quote}hive> create database 2020db; OK Time taken: 0.44 seconds hive> {quote} it works, but if you do the same on webhcatalog it doesn't: {quote}curl -i -s -X PUT -HContent-type:application/json -d '\{"comment": "Test", "location": "hdfs://singlenode.localdomain:8020/apps/hive/warehouse/2020db"}' 'http://singlenode.localdomain:50111/templeton/v1/ddl/database/2020db?user.name=hdfs' HTTP/1.1 400 Bad Request Set-Cookie: hadoop.auth="u=hdfs&p=hdfs&t=simple&e=1608581595777&s=JzsCUqvyyAYHykAHdteybh1tI4jFLLVVJC5D9FaUu0A="; Path=/; HttpOnly Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(7.6.0.v20120127) {"error":"Invalid DDL identifier :db"} {quote} I suggest to harmonize the behavior, maybe applying a patch like the following one: {quote}— a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java +++ b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java @@ -1068,7 +1068,7 @@ public void verifyParam(List<String> param, String name) } } - public static final Pattern DDL_ID = Pattern.compile("[a-zA-Z] w*"); + public static final Pattern DDL_ID = Pattern.compile("[a-zA-Z0-9] w*");{quote} was: I found a small misalignment on how Hive and WebHCat parse database name starting with numbers. If you execute: {quote}hive> create database 2020db; OK Time taken: 0.44 seconds hive> {quote} it works, but if you do the same on webhcatalog it doesn't: {quote}curl -i -s -X PUT -HContent-type:application/json -d '\{"comment": "Test", "location": "hdfs://singlenode.localdomain:8020/apps/hive/warehouse/2020db"}' 'http://singlenode.localdomain:50111/templeton/v1/ddl/database/2020db?user.name=hdfs' HTTP/1.1 400 Bad Request Set-Cookie: hadoop.auth="u=hdfs&p=hdfs&t=simple&e=1608581595777&s=JzsCUqvyyAYHykAHdteybh1tI4jFLLVVJC5D9FaUu0A="; Path=/; HttpOnly Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(7.6.0.v20120127) \\{"error":"Invalid DDL identifier :db"\}{quote} I suggest to harmonize the behavior, maybe applying a patch like the following one: {quote}— a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java +++ b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java @@ -1068,7 +1068,7 @@ public void verifyParam(List<String> param, String name) } } - public static final Pattern DDL_ID = Pattern.compile("[a-zA-Z] w*"); + public static final Pattern DDL_ID = Pattern.compile("[a-zA-Z0-9] w*"); public static final Pattern PROPERTY_ID = Pattern.compile("[a-zA-Z0-9][\\w\\.\\-|file://///-]*(?<! -)(?<! .)(?<! _)$");{quote} > Misalignment in matching db name from Hive and Webhcat > ------------------------------------------------------ > > Key: HIVE-24557 > URL: https://issues.apache.org/jira/browse/HIVE-24557 > Project: Hive > Issue Type: Bug > Components: WebHCat > Affects Versions: 2.3.6 > Reporter: Davide Vergari > Priority: Minor > > I found a small misalignment on how Hive and WebHCat parse database name > starting with numbers. > If you execute: > {quote}hive> create database 2020db; > OK > Time taken: 0.44 seconds > hive> > {quote} > it works, but if you do the same on webhcatalog it doesn't: > {quote}curl -i -s -X PUT -HContent-type:application/json -d '\{"comment": > "Test", "location": > "hdfs://singlenode.localdomain:8020/apps/hive/warehouse/2020db"}' > 'http://singlenode.localdomain:50111/templeton/v1/ddl/database/2020db?user.name=hdfs' > HTTP/1.1 400 Bad Request > Set-Cookie: > hadoop.auth="u=hdfs&p=hdfs&t=simple&e=1608581595777&s=JzsCUqvyyAYHykAHdteybh1tI4jFLLVVJC5D9FaUu0A="; > Path=/; HttpOnly > Content-Type: application/json > Transfer-Encoding: chunked > Server: Jetty(7.6.0.v20120127) > {"error":"Invalid DDL identifier :db"} > {quote} > > I suggest to harmonize the behavior, maybe applying a patch like the > following one: > > {quote}— > a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java > +++ > b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java > @@ -1068,7 +1068,7 @@ public void verifyParam(List<String> param, String > name) > } > } > - public static final Pattern DDL_ID = Pattern.compile("[a-zA-Z] > w*"); > + public static final Pattern DDL_ID = Pattern.compile("[a-zA-Z0-9] > w*");{quote} -- This message was sent by Atlassian Jira (v8.3.4#803005)