cloud-fan commented on code in PR #50408:
URL: https://github.com/apache/spark/pull/50408#discussion_r2034619792


##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/parser/AstBuilder.scala:
##########
@@ -3885,6 +3882,34 @@ class AstBuilder extends DataTypeAstBuilder
    * DataType parsing
    * 
********************************************************************************************
 */
 
+  override def visitSingleRoutineParamList(
+      ctx: SingleRoutineParamListContext): StructType = withOrigin(ctx) {
+    val (cols, constraints) = visitColDefinitionList(ctx.colDefinitionList())
+    assert(constraints.isEmpty)
+    for (col <- cols) {
+      assert(col.generationExpression.isEmpty)
+      assert(col.identityColumnSpec.isEmpty)
+    }
+    val schema = StructType(cols.map(_.toV1Column))
+    // Add the parameter default metadata and remove the column default 
metadata.
+    val fields = for (field <- schema) yield {
+      // Generated columns should have been rejected by the parser.
+      
assert(!field.metadata.contains(GeneratedColumn.GENERATION_EXPRESSION_METADATA_KEY))
+      field.getCurrentDefaultValue() match {
+        case Some(default) =>
+          val metadata = new MetadataBuilder()
+            .withMetadata(field.metadata)
+            
.remove(ResolveDefaultColumnsUtils.CURRENT_DEFAULT_COLUMN_METADATA_KEY)
+            
.remove(ResolveDefaultColumnsUtils.EXISTS_DEFAULT_COLUMN_METADATA_KEY)

Review Comment:
   nit: this is a bad smell as we assume the function `toV1Column` adds these 
two metadata fields. Shall we manually write code here to turn 
`ColumnDefinition` into `StructField`? We only need to handle comment and 
default value.



-- 
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.

To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org

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