Skip to content

feat: Add Spark-compatible monthname function to datafusion-spark#21639

Open
JeelRajodiya wants to merge 1 commit intoapache:mainfrom
JeelRajodiya:feat/spark-monthname-function
Open

feat: Add Spark-compatible monthname function to datafusion-spark#21639
JeelRajodiya wants to merge 1 commit intoapache:mainfrom
JeelRajodiya:feat/spark-monthname-function

Conversation

@JeelRajodiya
Copy link
Copy Markdown

Rationale

The datafusion-spark crate is missing the monthname function. Spark's monthname(date) returns the three-letter abbreviated month name (Jan, Feb, ..., Dec) from a date or timestamp — commonly used in Spark SQL workloads.

What changes are included in this PR?

Adds SparkMonthName to datafusion-spark's datetime functions. It uses arrow::compute::date_part(DatePart::Month) to extract the month number and maps it to the abbreviated name. The signature accepts Timestamp types with automatic coercion from Date32/Date64.

Are these changes tested?

Yes — 6 unit tests covering scalar dates, array dates with nulls, null scalars, timestamp microseconds, all 12 months, and return field nullability.

Are there any user-facing changes?

New monthname scalar function available when using datafusion-spark.

@github-actions github-actions bot added the spark label Apr 15, 2026
Implements `monthname(date_or_timestamp)` that returns the three-letter
abbreviated month name (Jan, Feb, ..., Dec) from a date or timestamp,
matching Apache Spark's behavior.
@JeelRajodiya JeelRajodiya force-pushed the feat/spark-monthname-function branch from d13c56b to a4228b9 Compare April 15, 2026 06:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant