This is an automated email from the ASF dual-hosted git repository.

dlych pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit ad62f1c24b9669a50800d5963e984ed6841697d2
Author: Dmitry Lychagin <[email protected]>
AuthorDate: Mon Mar 8 11:14:45 2021 -0800

    [NO ISSUE][COMP] Temporarily prohibit dot in dataverse names
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    - Do not allow dot in dataverse names.
    - Note: this change should be reverted when merged into
      the main branch which already supports multi-part dataverse
      names and allows dots in dataverse name parts.
    
    Change-Id: I15689702ff56db0c8e4ebafa877b9154cf7c6959
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/10424
    Integration-Tests: Jenkins <[email protected]>
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Dmitry Lychagin <[email protected]>
    Reviewed-by: Michael Blow <[email protected]>
---
 .../org/apache/asterix/app/translator/QueryTranslator.java     | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index d29a5f5..1befe29 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
@@ -493,7 +493,7 @@ public class QueryTranslator extends AbstractLangTranslator 
implements IStatemen
         CreateDataverseStatement stmtCreateDataverse = 
(CreateDataverseStatement) stmt;
         SourceLocation sourceLoc = stmtCreateDataverse.getSourceLocation();
         String dvName = stmtCreateDataverse.getDataverseName().getValue();
-        validateDatabaseObjectName(dvName, sourceLoc);
+        validateDataverseName(dvName, sourceLoc);
         MetadataTransactionContext mdTxnCtx = 
MetadataManager.INSTANCE.beginTransaction();
         metadataProvider.setMetadataTxnContext(mdTxnCtx);
         lockManager.acquireDataverseReadLock(metadataProvider.getLocks(), 
dvName);
@@ -3291,6 +3291,14 @@ public class QueryTranslator extends 
AbstractLangTranslator implements IStatemen
         ExternalDataUtils.validateAdapterSpecificProperties(configuration, 
srcLoc, warningCollector);
     }
 
+    private static void validateDataverseName(String dataverseName, 
SourceLocation sourceLoc)
+            throws CompilationException {
+        validateDatabaseObjectName(dataverseName, sourceLoc);
+        if (dataverseName.contains(".")) {
+            throw new 
CompilationException(ErrorCode.INVALID_DATABASE_OBJECT_NAME, sourceLoc, 
dataverseName);
+        }
+    }
+
     public static void validateDatabaseObjectName(String name, SourceLocation 
sourceLoc) throws CompilationException {
         if (name == null || name.isEmpty()) {
             throw new 
CompilationException(ErrorCode.INVALID_DATABASE_OBJECT_NAME, sourceLoc, 
"<empty>");

Reply via email to