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>");
