|
20 | 20 | import static org.opensearch.sql.expression.function.FunctionDSL.impl; |
21 | 21 | import static org.opensearch.sql.expression.function.FunctionDSL.implWithProperties; |
22 | 22 | import static org.opensearch.sql.expression.function.FunctionDSL.nullMissingHandling; |
| 23 | +import static org.opensearch.sql.expression.function.FunctionDSL.nullMissingHandlingWithProperties; |
23 | 24 | import static org.opensearch.sql.utils.DateTimeFormatters.DATE_FORMATTER_LONG_YEAR; |
24 | 25 | import static org.opensearch.sql.utils.DateTimeFormatters.DATE_FORMATTER_SHORT_YEAR; |
25 | 26 | import static org.opensearch.sql.utils.DateTimeFormatters.DATE_TIME_FORMATTER_LONG_YEAR; |
@@ -371,8 +372,9 @@ private DefaultFunctionResolver dayOfWeek() { |
371 | 372 | */ |
372 | 373 | private DefaultFunctionResolver dayOfYear(BuiltinFunctionName dayOfYear) { |
373 | 374 | return define(dayOfYear.getName(), |
374 | | - implWithProperties((functionProperties, arg) -> DateTimeFunction.dayOfYearToday( |
375 | | - functionProperties.getQueryStartClock()), INTEGER, TIME), |
| 375 | + implWithProperties(nullMissingHandlingWithProperties((functionProperties, arg) |
| 376 | + -> DateTimeFunction.dayOfYearToday( |
| 377 | + functionProperties.getQueryStartClock())), INTEGER, TIME), |
376 | 378 | impl(nullMissingHandling(DateTimeFunction::exprDayOfYear), INTEGER, DATE), |
377 | 379 | impl(nullMissingHandling(DateTimeFunction::exprDayOfYear), INTEGER, DATETIME), |
378 | 380 | impl(nullMissingHandling(DateTimeFunction::exprDayOfYear), INTEGER, TIMESTAMP), |
@@ -446,8 +448,9 @@ private DefaultFunctionResolver minute() { |
446 | 448 | */ |
447 | 449 | private DefaultFunctionResolver month(BuiltinFunctionName month) { |
448 | 450 | return define(month.getName(), |
449 | | - implWithProperties((functionProperties, arg) -> DateTimeFunction.monthOfYearToday( |
450 | | - functionProperties.getQueryStartClock()), INTEGER, TIME), |
| 451 | + implWithProperties(nullMissingHandlingWithProperties((functionProperties, arg) |
| 452 | + -> DateTimeFunction.monthOfYearToday( |
| 453 | + functionProperties.getQueryStartClock())), INTEGER, TIME), |
451 | 454 | impl(nullMissingHandling(DateTimeFunction::exprMonth), INTEGER, DATE), |
452 | 455 | impl(nullMissingHandling(DateTimeFunction::exprMonth), INTEGER, DATETIME), |
453 | 456 | impl(nullMissingHandling(DateTimeFunction::exprMonth), INTEGER, TIMESTAMP), |
@@ -609,9 +612,10 @@ private DefaultFunctionResolver utc_timestamp() { |
609 | 612 | */ |
610 | 613 | private DefaultFunctionResolver week(BuiltinFunctionName week) { |
611 | 614 | return define(week.getName(), |
612 | | - implWithProperties((functionProperties, arg) -> DateTimeFunction.weekOfYearToday( |
| 615 | + implWithProperties(nullMissingHandlingWithProperties((functionProperties, arg) |
| 616 | + -> DateTimeFunction.weekOfYearToday( |
613 | 617 | DEFAULT_WEEK_OF_YEAR_MODE, |
614 | | - functionProperties.getQueryStartClock()), INTEGER, TIME), |
| 618 | + functionProperties.getQueryStartClock())), INTEGER, TIME), |
615 | 619 | impl(nullMissingHandling(DateTimeFunction::exprWeekWithoutMode), INTEGER, DATE), |
616 | 620 | impl(nullMissingHandling(DateTimeFunction::exprWeekWithoutMode), INTEGER, DATETIME), |
617 | 621 | impl(nullMissingHandling(DateTimeFunction::exprWeekWithoutMode), INTEGER, TIMESTAMP), |
|
0 commit comments