Skip to content

Add NEXT_DAY transpilation from Databricks to E6#231

Merged
deepakdixit-e6x merged 1 commit intoe6data:mainfrom
tkaunlaky-e6:feat/next-day-transpilation
Mar 6, 2026
Merged

Add NEXT_DAY transpilation from Databricks to E6#231
deepakdixit-e6x merged 1 commit intoe6data:mainfrom
tkaunlaky-e6:feat/next-day-transpilation

Conversation

@tkaunlaky-e6
Copy link

Summary

  • Add NextDay expression class in expressions.py
  • Register NEXT_DAY in Databricks parser so it's parsed as a proper AST node
  • Transpile NEXT_DAY(expr, dayOfWeek) to CAST(DATE_ADD(expr, MOD((target_index - DAYOFWEEK(expr) + 6), 7) + 1) AS DATE) in E6 dialect
  • Supports all day-of-week formats: full names (MONDAY), 3-letter (MON), 2-letter (MO) — case insensitive

Test plan

  • Verified with multiple date/day combinations including same-day edge case
  • All 954 existing tests pass
  • make check passes (ruff, ruff-format, mypy, unittests)

Transpile NEXT_DAY(expr, dayOfWeek) to:
CAST(DATE_ADD(expr, MOD((target_index - DAYOFWEEK(expr) + 6), 7) + 1) AS DATE)
@deepakdixit-e6x deepakdixit-e6x merged commit 8a0cb20 into e6data:main Mar 6, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants