Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,14 @@ class DateFunctionsValidateSuite extends FunctionsValidateSuite {
runQueryAndCompare("select timestampadd(hour, 1, ts) from view") {
checkGlutenPlan[ProjectExecTransformer]
}
// convert_timezone(timestamp_ntz) runs natively; output stays timestamp_ntz.
runQueryAndCompare("select convert_timezone('America/Los_Angeles', ts) from view") {
checkGlutenPlan[ProjectExecTransformer]
}
runQueryAndCompare(
"select convert_timezone('America/Los_Angeles', 'Asia/Shanghai', ts) from view") {
checkGlutenPlan[ProjectExecTransformer]
}

// cast(timestamp_ntz as timestamp)
runQueryAndCompare("select cast(ts as timestamp) from view") {
Expand Down
4 changes: 2 additions & 2 deletions ep/build-velox/src/get-velox.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ set -exu

CURRENT_DIR=$(cd "$(dirname "$BASH_SOURCE")"; pwd)
VELOX_REPO=https://github.com/IBM/velox.git
VELOX_BRANCH=dft-2026_09_08
VELOX_ENHANCED_BRANCH=ibm-2026_09_08
VELOX_BRANCH=dft-2026_09_10
VELOX_ENHANCED_BRANCH=ibm-2026_09_10
VELOX_HOME=""
RUN_SETUP_SCRIPT=ON
ENABLE_ENHANCED_FEATURES=OFF
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@ object ExpressionMappings {
Sig[KnownNullable](KNOWN_NULLABLE),
Sig[TimestampAdd](TIMESTAMP_ADD),
Sig[TimestampDiff](TIMESTAMP_DIFF),
Sig[ConvertTimezone](CONVERT_TIMEZONE),
Sig[RoundFloor](FLOOR),
Sig[RoundCeil](CEIL)
) ++ SparkShimLoader.getSparkShims.scalarExpressionMappings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import org.apache.gluten.extension.columnar.offload.OffloadSingleNode
import org.apache.gluten.sql.shims.SparkShimLoader

import org.apache.spark.internal.Logging
import org.apache.spark.sql.catalyst.expressions.{Cast, Hour, Minute, Second, TimestampAdd}
import org.apache.spark.sql.catalyst.expressions.{Cast, ConvertTimezone, Hour, Minute, Second, TimestampAdd}
import org.apache.spark.sql.execution._
import org.apache.spark.sql.execution.aggregate.{HashAggregateExec, ObjectHashAggregateExec, SortAggregateExec}
import org.apache.spark.sql.execution.datasources.WriteFilesExec
Expand Down Expand Up @@ -283,6 +283,7 @@ object Validators {
case Minute(child, _) => containsNTZ(child.dataType)
case Second(child, _) => containsNTZ(child.dataType)
case TimestampAdd(_, _, child, _) => containsNTZ(child.dataType)
case ConvertTimezone(_, _, child) => containsNTZ(child.dataType)
case c: Cast if isNTZ(c.dataType) || isNTZ(c.child.dataType) => true
case _ => false
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ object ExpressionNames {
final val MAKE_YM_INTERVAL = "make_ym_interval"
final val TO_UTC_TIMESTAMP = "to_utc_timestamp"
final val FROM_UTC_TIMESTAMP = "from_utc_timestamp"
final val CONVERT_TIMEZONE = "convert_timezone"
final val UNIX_SECONDS = "unix_seconds"
final val UNIX_MILLIS = "unix_millis"
final val UNIX_MICROS = "unix_micros"
Expand Down
Loading