From e700f7cf8537b73f4a0be8fd74fef5f3838fed71 Mon Sep 17 00:00:00 2001 From: yew1eb Date: Sun, 21 Dec 2025 20:11:26 +0800 Subject: [PATCH] [AURON #1778] Add spark.auron.expression.singleChildFallback.enabled config --- .../org/apache/spark/sql/auron/NativeConverters.scala | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala b/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala index 2d7110120..ed7541788 100644 --- a/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala +++ b/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala @@ -101,6 +101,10 @@ object NativeConverters extends Logging { AuronConverters.getBooleanConf("spark.auron.datetime.extract.enabled", defaultValue = false) def castTrimStringEnabled: Boolean = AuronConverters.getBooleanConf("spark.auron.cast.trimString", defaultValue = true) + def singleChildFallbackEnabled: Boolean = + AuronConverters.getBooleanConf( + "spark.auron.expression.singleChildFallback.enabled", + defaultValue = true) /** * Is the data type(scalar or complex) supported by Auron. @@ -288,6 +292,10 @@ object NativeConverters extends Logging { throw new NotImplementedError(s"unsupported expression: (${e.getClass}) $e") } + if (!singleChildFallbackEnabled) { + return convertExprWithFallback(sparkExpr, isPruningExpr = false, fallbackToError) + } + try { // get number of inconvertible children var numInconvertibleChildren = 0