You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "andygrove (via GitHub)" <gi...@apache.org> on 2026/07/03 17:39:16 UTC

[PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

andygrove opened a new pull request, #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821

   ## Summary
   
   - Wires the Spark 4.1 `TIME` data type end-to-end and adds JVM codegen dispatch for the new TIME expressions (`HoursOfTime`, `MinutesOfTime`, `SecondsOfTime`, `SecondsOfTimeWithFraction`, `TimeAddInterval`, `SubtractTimes`, `TimeDiff`, `TimeTrunc`) and casts touching `TimeType`. No native implementations added.
   - Teaches the batch-kernel input/output emitters, `CometScalaUDFCodegen`, and `ArrowWriters` to handle `TimeNanoVector` as a Long-backed vector.
   - Parquet scans still opt out of `TimeType` (no native decoder yet); the fallback reason is now explicit.
   
   ## Details
   
   Every new TIME expression in Spark 4.1 is a `RuntimeReplaceable` that rewrites to `StaticInvoke(DateTimeUtils, ...)` before physical planning. The shim (`spark-4.1+/CometExprShim.scala`) matches those `StaticInvoke` forms and routes them through `CometScalaUDF.emitJvmCodegenDispatch`, which runs Spark's own `doGenCode` inside the Comet batch kernel. `CurrentTime` needs no work — the optimizer folds it to a literal. `CometCast` routes any cast touching `TimeType` through the same dispatcher.
   
   Existing `make_time` / `to_time` / `try_to_time` continue to use the native scalar-function paths already wired up.
   
   `LocalTableScan` for `TimeType` columns now works natively via the new `TimeNanoWriter` in `ArrowWriters`. The pre-existing "falls back when schema contains TimeType" test flips to "handles TimeType column".
   
   Known limitation: `time - time` (result type `DayTimeIntervalType`) still falls back at the projection level because Comet's generic type-support list doesn't cover `DayTimeIntervalType` outputs. Pre-existing, not TIME-specific — left as a `checkSparkAnswer` regression test in the suite.
   
   ## Test plan
   
   - [x] `./mvnw test -Dsuites="org.apache.spark.sql.CometTimeTypeSuite" -Dtest=none` — 15/15 pass on Spark 4.1 (new suite)
   - [x] `./mvnw test -Dsuites="org.apache.comet.exec.CometExecSuite" -Dtest=none` — 131/131 pass (LocalTableScan regression check)
   - [x] `./mvnw test -Dsuites="org.apache.comet.CometCastSuite" -Dtest=none` — 161/161 pass (cast regression check)
   - [x] `./mvnw test -Dsuites="org.apache.comet.CometCodegenSourceSuite" -Dtest=none` — 54/54 pass (codegen kernel regression check)
   - [x] `./mvnw test -Dsuites="org.apache.comet.CometExpressionSuite" -Dtest=none` — 135/135 pass
   


-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "andygrove (via GitHub)" <gi...@apache.org>.
andygrove commented on code in PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#discussion_r4178753874


##########
spark/src/main/scala/org/apache/comet/codegen/CometBatchKernelCodegen.scala:
##########
@@ -87,6 +88,7 @@ object CometBatchKernelCodegen extends Logging with CometExprTraitShim {
     case _: StringType | _: BinaryType => true
     case DateType | TimestampType | TimestampNTZType => true
     case _: YearMonthIntervalType | _: DayTimeIntervalType => true
+    case dt if isTimeType(dt) => true

Review Comment:
   Correction to my earlier reply: that gate is gone. Main's codegen dispatcher now reads TIME inside arrays, structs and maps, so an `array<TIME>` input like the one in your `transform` example compiles and matches Spark instead of throwing. This PR no longer touches `CometBatchKernelCodegen`.
   



##########
docs/source/user-guide/latest/expressions.md:
##########
@@ -278,13 +278,13 @@ The type-name conversion functions (`bigint`, `binary`, `boolean`, `date`, `deci
 | `quarter` | ✅ |  |
 | `second` | ✅ |  |
 | `session_window` | 🔜 | Batch session-window grouping falls back (`UpdatingSessionsExec` is not yet native); tracked by [#4785](https://github.com/apache/datafusion-comet/issues/4785) |
-| `time_diff` | 🔜 | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288) |
-| `time_trunc` | 🔜 | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288) |
+| `time_diff` | ✅ | Spark 4.1+; routes through the JVM codegen dispatcher |
+| `time_trunc` | ✅ | Spark 4.1+; routes through the JVM codegen dispatcher |
 | `timestamp_micros` | ✅ |  |
 | `timestamp_millis` | ✅ |  |
 | `timestamp_seconds` | ✅ |  |
 | `to_date` | ✅ | Rewrites to `Cast` (or `Cast(GetTimestamp)` with a format) before Comet sees the plan |
-| `to_time` | 🔜 | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288) |
+| `to_time` | ✅ | Spark 4.1+ |

Review Comment:
   Correction to my earlier reply: the formatted forms no longer fall back. Since #5692 they run through the codegen dispatcher, and the `to_time` row now says so. `try_to_time` has the same support.
   



-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "andygrove (via GitHub)" <gi...@apache.org>.
andygrove commented on code in PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#discussion_r4178578997


##########
spark/src/main/scala/org/apache/comet/DataTypeSupport.scala:
##########
@@ -53,6 +54,8 @@ trait DataTypeSupport {
           BinaryType | StringType | _: DecimalType | DateType | TimestampType | TimestampNTZType |
           CalendarIntervalType =>
         true
+      case dt if isTimeType(dt) =>

Review Comment:
   Fixed in 641cb5d8b4. I dropped the TIME case from `DataTypeSupport`, so CSV scans with TIME columns fall back to Spark again, with a test that checks the plan.
   



-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "manuzhang (via GitHub)" <gi...@apache.org>.
manuzhang commented on code in PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#discussion_r3556160392


##########
docs/source/user-guide/latest/expressions.md:
##########
@@ -278,13 +278,13 @@ The type-name conversion functions (`bigint`, `binary`, `boolean`, `date`, `deci
 | `quarter` | ✅ |  |
 | `second` | ✅ |  |
 | `session_window` | 🔜 | Batch session-window grouping falls back (`UpdatingSessionsExec` is not yet native); tracked by [#4785](https://github.com/apache/datafusion-comet/issues/4785) |
-| `time_diff` | 🔜 | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288) |
-| `time_trunc` | 🔜 | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288) |
+| `time_diff` | ✅ | Spark 4.1+; routes through the JVM codegen dispatcher |
+| `time_trunc` | ✅ | Spark 4.1+; routes through the JVM codegen dispatcher |
 | `timestamp_micros` | ✅ |  |
 | `timestamp_millis` | ✅ |  |
 | `timestamp_seconds` | ✅ |  |
 | `to_date` | ✅ | Rewrites to `Cast` (or `Cast(GetTimestamp)` with a format) before Comet sees the plan |
-| `to_time` | 🔜 | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288) |
+| `to_time` | ✅ | Spark 4.1+ |

Review Comment:
    This implies that all `to_time` forms are supported, but the Spark 4.1 shim still only handles the one-argument form with no explicit format (`fmt.isEmpty && args.size == 1`). The existing SQL tests expect formatted `to_time` and `try_to_time` calls to fall back.
   
   Could we update both this row and the `try_to_time` row on line 297 to say that only the default-format form is supported, or route the formatted forms through JVM codegen dispatch?



-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "sunchao (via GitHub)" <gi...@apache.org>.
sunchao commented on code in PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#discussion_r4117479834


##########
spark/src/main/scala/org/apache/comet/DataTypeSupport.scala:
##########
@@ -53,6 +54,8 @@ trait DataTypeSupport {
           BinaryType | StringType | _: DecimalType | DateType | TimestampType | TimestampNTZType |
           CalendarIntervalType =>
         true
+      case dt if isTimeType(dt) =>

Review Comment:
   [P2] Preserve fallback for TIME CSV scans with custom formats. This shared allowance also enables `CometBatchScanExec`, whereas the new TIME rejection only covers `CometScanTypeChecker`. On Spark 4.2, enable TIME, set `spark.sql.sources.useV1SourceList=""` and `spark.comet.scan.csv.v2.enabled=true`, then read a file containing `12-34-56` with `.schema("t TIME").option("timeFormat", "HH-mm-ss").csv(path).collect()`. Spark returns `12:34:56`, but the newly selected native CSV path omits `timeFormat` and fails parsing the row. Previously this schema fell back to Spark. Please reject TIME in the CSV checker until its parsing options are supported, or scope this allowance to the row/Arrow paths.
   
   Evidence: Compiled the actual base and head DataTypeSupport implementations against Spark 4.1.3: the base returned `TIME accepted=false`; the head returned `TIME accepted=true`. Spark 4.2's UnivocityParser uses `TimeFormatter(options.timeFormatInRead, true)`. Its TimeFormatter source is identical to 4.1.3, and a freshly compiled formatter probe parsed `12-34-56` as 45296000000000 nanoseconds. A standalone probe using the PR-pinned arrow-csv 59.3.0 with Time64(Nanosecond) accepted `12:34:56` but returned `Parser error: Error while parsing value '12-34-56'` for the custom format. Source tracing confirms CometScanRule uses CometBatchScanExec's inherited gate and csvOptions2Proto does not transmit timeFormat. The complete Spark 4.2 query was not executed locally.



-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "manuzhang (via GitHub)" <gi...@apache.org>.
manuzhang commented on PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#issuecomment-4931662609

   @andygrove I asked Codex to help review and draft comments. Please check whether they are valid.


-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "andygrove (via GitHub)" <gi...@apache.org>.
andygrove commented on PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#issuecomment-5719750440

   Triage note for anyone picking this up: #4997 implements `getHoursOfTime`, `getMinutesOfTime`, `getSecondsOfTime` and `getSecondsOfTimeWithFraction` natively, adding a `StaticInvoke` arm to the same `sparkVersionSpecificExprToProtoInternal` in the same `spark-4.1+/CometExprShim.scala` that this PR routes through the codegen dispatcher. They conflict directly on those four expressions.
   
   The dispatcher was the cheap way to get the whole Spark 4.1 TIME family off Spark fallback in one go, not the end state, so I would rather the native extractions in #4997 take precedence and this PR shrink to `TimeAddInterval`, `SubtractTimes`, `TimeDiff` and `TimeTrunc` plus the `TimeNanoVector` plumbing and the cast wiring. @YutaLin, does that split work for you? #4951 sits alongside either version.
   


-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "manuzhang (via GitHub)" <gi...@apache.org>.
manuzhang commented on code in PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#discussion_r3556156814


##########
spark/src/main/spark-4.1+/org/apache/comet/shims/CometExprShim.scala:
##########
@@ -46,6 +47,22 @@ trait CometExprShim extends Spark4xCometExprShim {
     }
   }
 
+  // Function names on `DateTimeUtils` reached via `StaticInvoke` from the Spark 4.1 `TIME` family of
+  // `RuntimeReplaceable` expressions (`HoursOfTime`, `MinutesOfTime`, `SecondsOfTime`,
+  // `SecondsOfTimeWithFraction`, `TimeAddInterval`, `SubtractTimes`, `TimeDiff`, `TimeTrunc`).
+  // Each of these is codegen-safe (the replacement itself is a `StaticInvoke` with a proper
+  // `doGenCode`) but has no native lowering yet, so we route them through the JVM codegen
+  // dispatcher to keep the enclosing projection native.
+  private val timeCodegenDispatchFunctions: Set[String] = Set(
+    "getHoursOfTime",
+    "getMinutesOfTime",
+    "getSecondsOfTime",
+    "getSecondsOfTimeWithFraction",
+    "timeAddInterval",

Review Comment:
   This dispatches `timeAddInterval` even when its interval argument is a non-foldable `DayTimeIntervalType` attribute. Spark preserves that argument as a bound reference, and `canHandle` accepts it, but execution maps it to `DurationVector`, which `CometScalaUDFCodegen.specFor` does not support. The result is an execution-time `UnsupportedOperationException` rather than fallback.
   
   Could we add `DurationVector` as a long-backed dispatcher input? The current tests only cover interval literals, so a test with a materialized `make_dt_interval(...)` column would be useful.



-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "manuzhang (via GitHub)" <gi...@apache.org>.
manuzhang commented on code in PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#discussion_r3556152772


##########
spark/src/main/scala/org/apache/comet/codegen/CometBatchKernelCodegen.scala:
##########
@@ -87,6 +88,7 @@ object CometBatchKernelCodegen extends Logging with CometExprTraitShim {
     case _: StringType | _: BinaryType => true
     case DateType | TimestampType | TimestampNTZType => true
     case _: YearMonthIntervalType | _: DayTimeIntervalType => true
+    case dt if isTimeType(dt) => true

Review Comment:
     This also makes arrays, structs, and maps containing `TimeType` pass `canHandle`, but the nested input emitters do not yet treat `TimeType` as a long-backed value. For example, on Spark 4.1:
   
     `SELECT transform(a, x -> x) FROM VALUES (array(TIME '01:02:03')) AS t(a)`
   
     now passes validation and throws during kernel generation instead of falling back.
   
     Could we add `TimeType`/`getLong` handling to the nested array and struct getters? A regression test using an `array<TIME>` attribute would cover this.



-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "andygrove (via GitHub)" <gi...@apache.org>.
andygrove commented on code in PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#discussion_r3604113771


##########
spark/src/main/scala/org/apache/comet/codegen/CometBatchKernelCodegen.scala:
##########
@@ -87,6 +88,7 @@ object CometBatchKernelCodegen extends Logging with CometExprTraitShim {
     case _: StringType | _: BinaryType => true
     case DateType | TimestampType | TimestampNTZType => true
     case _: YearMonthIntervalType | _: DayTimeIntervalType => true
+    case dt if isTimeType(dt) => true

Review Comment:
   Gated at plan time: \`isSupportedDataType\` now returns false for ArrayType/StructType/MapType containing TIME, so \`canHandle\` returns a fallback reason instead of letting the codegen crash mid-compile. The array/struct/map getters do not yet route TIME to \`getLong\`; teaching them is tracked separately.



##########
spark/src/main/spark-4.1+/org/apache/comet/shims/CometExprShim.scala:
##########
@@ -46,6 +47,22 @@ trait CometExprShim extends Spark4xCometExprShim {
     }
   }
 
+  // Function names on `DateTimeUtils` reached via `StaticInvoke` from the Spark 4.1 `TIME` family of
+  // `RuntimeReplaceable` expressions (`HoursOfTime`, `MinutesOfTime`, `SecondsOfTime`,
+  // `SecondsOfTimeWithFraction`, `TimeAddInterval`, `SubtractTimes`, `TimeDiff`, `TimeTrunc`).
+  // Each of these is codegen-safe (the replacement itself is a `StaticInvoke` with a proper
+  // `doGenCode`) but has no native lowering yet, so we route them through the JVM codegen
+  // dispatcher to keep the enclosing projection native.
+  private val timeCodegenDispatchFunctions: Set[String] = Set(
+    "getHoursOfTime",
+    "getMinutesOfTime",
+    "getSecondsOfTime",
+    "getSecondsOfTimeWithFraction",
+    "timeAddInterval",

Review Comment:
   Added `DurationVector` (and `IntervalYearVector`) to `CometScalaUDFCodegen.specFor` and to the `getLong` ordinal switch in `CometBatchKernelCodegenInput`. A non-foldable `DayTimeIntervalType` attribute passed into `timeAddInterval` now evaluates through the dispatcher instead of throwing `UnsupportedOperationException`.



##########
docs/source/user-guide/latest/expressions.md:
##########
@@ -278,13 +278,13 @@ The type-name conversion functions (`bigint`, `binary`, `boolean`, `date`, `deci
 | `quarter` | ✅ |  |
 | `second` | ✅ |  |
 | `session_window` | 🔜 | Batch session-window grouping falls back (`UpdatingSessionsExec` is not yet native); tracked by [#4785](https://github.com/apache/datafusion-comet/issues/4785) |
-| `time_diff` | 🔜 | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288) |
-| `time_trunc` | 🔜 | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288) |
+| `time_diff` | ✅ | Spark 4.1+; routes through the JVM codegen dispatcher |
+| `time_trunc` | ✅ | Spark 4.1+; routes through the JVM codegen dispatcher |
 | `timestamp_micros` | ✅ |  |
 | `timestamp_millis` | ✅ |  |
 | `timestamp_seconds` | ✅ |  |
 | `to_date` | ✅ | Rewrites to `Cast` (or `Cast(GetTimestamp)` with a format) before Comet sees the plan |
-| `to_time` | 🔜 | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288) |
+| `to_time` | ✅ | Spark 4.1+ |

Review Comment:
   Updated both rows: `to_time` and `try_to_time` now state that only the default-format form is supported; formatted forms fall back to Spark.



-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "andygrove (via GitHub)" <gi...@apache.org>.
andygrove commented on PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#issuecomment-4929147536

   @0lai0 @manuzhang would either of you be able to help review this PR?


-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org


Re: [PR] feat: support Spark 4.1 TIME type and expressions via codegen dispatch [datafusion-comet]

Posted by "andygrove (via GitHub)" <gi...@apache.org>.
andygrove merged PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821


-- 
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: github-unsubscribe@datafusion.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org