[NO ISSUE][COMP] Remove AQL leftover code

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Remove special handling for AQL when reading
  dataset() arguments

Change-Id: I7ec6435c9b5622ba75d7e27d326486b9511bbca0
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/8845
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/DatasetRewriter.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/DatasetRewriter.java
index 3b65f96..c459547 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/DatasetRewriter.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/DatasetRewriter.java
@@ -59,6 +59,10 @@
     @Override
     public boolean rewrite(Mutable<ILogicalOperator> opRef, IOptimizationContext context) throws AlgebricksException {
         AbstractFunctionCallExpression f = UnnestToDataScanRule.getFunctionCall(opRef);
+        if (f == null) {
+            throw new CompilationException(ErrorCode.COMPILATION_ILLEGAL_STATE, opRef.getValue().getSourceLocation(),
+                    "");
+        }
         UnnestOperator unnest = (UnnestOperator) opRef.getValue();
         if (unnest.getPositionalVariable() != null) {
             // TODO remove this after enabling the support of positional variables in data scan
@@ -67,8 +71,7 @@
         }
 
         MetadataProvider metadataProvider = (MetadataProvider) context.getMetadataProvider();
-        Pair<DataverseName, String> datasetReference = FunctionUtil.parseDatasetFunctionArguments(f.getArguments(),
-                metadataProvider.getDefaultDataverseName(), unnest.getSourceLocation());
+        Pair<DataverseName, String> datasetReference = FunctionUtil.parseDatasetFunctionArguments(f);
         DataverseName dataverseName = datasetReference.first;
         String datasetName = datasetReference.second;
         Dataset dataset = metadataProvider.findDataset(dataverseName, datasetName);
@@ -122,8 +125,7 @@
             throws AlgebricksException {
         AbstractFunctionCallExpression f = (AbstractFunctionCallExpression) expression;
         MetadataProvider metadata = (MetadataProvider) mp;
-        Pair<DataverseName, String> datasetInfo = FunctionUtil.parseDatasetFunctionArguments(f.getArguments(),
-                metadata.getDefaultDataverseName(), f.getSourceLocation());
+        Pair<DataverseName, String> datasetInfo = FunctionUtil.parseDatasetFunctionArguments(f);
         DataverseName dataverseName = datasetInfo.first;
         String datasetName = datasetInfo.second;
         Dataset dataset = metadata.findDataset(dataverseName, datasetName);
diff --git a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/FunctionUtil.java b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/FunctionUtil.java
index 81ff92d..67d07f0 100644
--- a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/FunctionUtil.java
+++ b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/FunctionUtil.java
@@ -56,6 +56,7 @@
 import org.apache.hyracks.algebricks.common.utils.Pair;
 import org.apache.hyracks.algebricks.common.utils.Triple;
 import org.apache.hyracks.algebricks.core.algebra.base.ILogicalExpression;
+import org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression;
 import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
 import org.apache.hyracks.api.exceptions.SourceLocation;
 
@@ -267,9 +268,7 @@
         for (CallExpr functionCall : functionCalls) {
             FunctionSignature signature = functionCall.getFunctionSignature();
             if (isBuiltinDatasetFunction(signature)) {
-                Pair<DataverseName, String> datasetReference = parseDatasetFunctionArguments(functionCall.getExprList(),
-                        metadataProvider.getDefaultDataverseName(), functionCall.getSourceLocation(),
-                        ExpressionUtils::getStringLiteral);
+                Pair<DataverseName, String> datasetReference = parseDatasetFunctionArguments(functionCall);
                 datasourceDependencies.add(new Triple<>(datasetReference.first, datasetReference.second, null));
             } else if (BuiltinFunctions.getBuiltinFunctionInfo(signature.createFunctionIdentifier()) == null) {
                 functionDependencies.add(new Triple<>(signature.getDataverseName(), signature.getName(),
@@ -303,51 +302,34 @@
                 && Objects.equals(FN_DATASET_NAME, fs.getName());
     }
 
-    public static Pair<DataverseName, String> parseDatasetFunctionArguments(
-            List<Mutable<ILogicalExpression>> datasetFnArgs, DataverseName defaultDataverseName,
-            SourceLocation sourceLoc) throws CompilationException {
-        return parseDatasetFunctionArguments(datasetFnArgs, defaultDataverseName, sourceLoc,
+    public static Pair<DataverseName, String> parseDatasetFunctionArguments(CallExpr datasetFn)
+            throws CompilationException {
+        return parseDatasetFunctionArguments(datasetFn.getExprList(), datasetFn.getSourceLocation(),
+                ExpressionUtils::getStringLiteral);
+    }
+
+    public static Pair<DataverseName, String> parseDatasetFunctionArguments(AbstractFunctionCallExpression datasetFn)
+            throws CompilationException {
+        return parseDatasetFunctionArguments(datasetFn.getArguments(), datasetFn.getSourceLocation(),
                 FunctionUtil::getStringConstant);
     }
 
-    public static <T> Pair<DataverseName, String> parseDatasetFunctionArguments(List<T> datasetFnArgs,
-            DataverseName defaultDataverseName, SourceLocation sourceLoc,
-            java.util.function.Function<T, String> argExtractFunction) throws CompilationException {
-        DataverseName dataverseName;
-        String datasetName;
-        switch (datasetFnArgs.size()) {
-            case 1: // AQL BACK-COMPAT case
-                String datasetArgBackCompat = argExtractFunction.apply(datasetFnArgs.get(0));
-                if (datasetArgBackCompat == null) {
-                    throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
-                            "Invalid argument to dataset()");
-                }
-                int pos = datasetArgBackCompat.indexOf('.');
-                if (pos > 0 && pos < datasetArgBackCompat.length() - 1) {
-                    dataverseName = DataverseName.createSinglePartName(datasetArgBackCompat.substring(0, pos)); // AQL BACK-COMPAT
-                    datasetName = datasetArgBackCompat.substring(pos + 1);
-                } else {
-                    dataverseName = defaultDataverseName;
-                    datasetName = datasetArgBackCompat;
-                }
-                break;
-            case 2:
-                String dataverseNameArg = argExtractFunction.apply(datasetFnArgs.get(0));
-                if (dataverseNameArg == null) {
-                    throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
-                            "Invalid argument to dataset()");
-                }
-                dataverseName = DataverseName.createFromCanonicalForm(dataverseNameArg);
+    private static <T> Pair<DataverseName, String> parseDatasetFunctionArguments(List<T> datasetFnArgs,
+            SourceLocation sourceLoc, java.util.function.Function<T, String> argExtractFunction)
+            throws CompilationException {
+        if (datasetFnArgs.size() != 2) {
+            throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
+                    "Invalid number of arguments to dataset()");
+        }
+        String dataverseNameArg = argExtractFunction.apply(datasetFnArgs.get(0));
+        if (dataverseNameArg == null) {
+            throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, "Invalid argument to dataset()");
+        }
+        DataverseName dataverseName = DataverseName.createFromCanonicalForm(dataverseNameArg);
 
-                datasetName = argExtractFunction.apply(datasetFnArgs.get(1));
-                if (datasetName == null) {
-                    throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
-                            "Invalid argument to dataset()");
-                }
-                break;
-            default:
-                throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc,
-                        "Invalid number of arguments to dataset()");
+        String datasetName = argExtractFunction.apply(datasetFnArgs.get(1));
+        if (datasetName == null) {
+            throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, "Invalid argument to dataset()");
         }
         return new Pair<>(dataverseName, datasetName);
     }