beliefer commented on a change in pull request #31293:
URL: https://github.com/apache/spark/pull/31293#discussion_r565122119



##########
File path: 
sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryParsingErrors.scala
##########
@@ -0,0 +1,328 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.spark.sql.errors
+
+import org.antlr.v4.runtime.ParserRuleContext
+
+import org.apache.spark.sql.catalyst.parser.ParseException
+import org.apache.spark.sql.catalyst.parser.SqlBaseParser._
+import org.apache.spark.sql.catalyst.trees.Origin
+
+/**
+ * Object for grouping all error messages of the query parsing.
+ * Currently it includes all ParseException.
+ */
+object QueryParsingErrors {
+
+  def invalidInsertIntoError(ctx: InsertIntoContext): Throwable = {
+    new ParseException("Invalid InsertIntoContext", ctx)
+  }
+
+  def insertOverwriteDirectoryUnsupportedError(ctx: InsertIntoContext): 
Throwable = {
+    new ParseException("INSERT OVERWRITE DIRECTORY is not supported", ctx)
+  }
+
+  def columnAliasInOperationNotAllowedError(op: String, ctx: 
TableAliasContext): Throwable = {
+    new ParseException(s"Columns aliases are not allowed in $op.", 
ctx.identifierList())
+  }
+
+  def emptySourceForMergeError(ctx: MergeIntoTableContext): Throwable = {
+    new ParseException("Empty source for merge: you should specify a source" +
+      " table/subquery in merge.", ctx.source)
+  }
+
+  def unrecognizedMatchedActionError(ctx: MatchedClauseContext): Throwable = {
+    new ParseException(
+      s"Unrecognized matched action: ${ctx.matchedAction().getText}",
+      ctx.matchedAction())
+  }
+
+  def insertValueNumberNotMatchFieldNumberError(ctx: NotMatchedClauseContext): 
Throwable = {
+    new ParseException("The number of inserted values cannot match the 
fields.",
+      ctx.notMatchedAction())
+  }
+
+  def unrecognizedNotMatchedActionError(ctx: NotMatchedClauseContext): 
Throwable = {
+    new ParseException(
+      s"Unrecognized not matched action: ${ctx.notMatchedAction().getText}",
+      ctx.notMatchedAction())
+  }
+
+  def mergeStatementNotExistWhenClauseError(ctx: MergeIntoTableContext): 
Throwable = {
+    new ParseException("There must be at least one WHEN clause in a MERGE 
statement", ctx)
+  }
+
+  def nonLastMatchedClauseOmitConditionError(ctx: MergeIntoTableContext): 
Throwable = {
+    new ParseException("When there are more than one MATCHED clauses in a 
MERGE " +
+      "statement, only the last MATCHED clause can omit the condition.", ctx)
+  }
+
+  def nonLastNotMatchedClauseOmitConditionError(ctx: MergeIntoTableContext): 
Throwable = {
+    new ParseException("When there are more than one NOT MATCHED clauses in a 
MERGE " +
+      "statement, only the last NOT MATCHED clause can omit the condition.", 
ctx)
+  }
+
+  def emptyPartitionKeyError(key: String, ctx: PartitionSpecContext): 
Throwable = {
+    new ParseException(s"Found an empty partition key '$key'.", ctx)
+  }
+
+  def combinationQueryResultClausesUnsupportedError(ctx: 
QueryOrganizationContext): Throwable = {
+    new ParseException(
+      "Combination of ORDER BY/SORT BY/DISTRIBUTE BY/CLUSTER BY is not 
supported", ctx)

Review comment:
       We need new line here.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to