6060import org .opensearch .sql .expression .function .BuiltinFunctionRepository ;
6161import org .opensearch .sql .expression .function .DefaultFunctionResolver ;
6262import org .opensearch .sql .expression .function .FunctionName ;
63- import org .opensearch .sql .expression .function .FunctionResolver ;
6463import org .opensearch .sql .utils .DateTimeUtils ;
6564
6665/**
@@ -135,7 +134,6 @@ public void register(BuiltinFunctionRepository repository) {
135134 * (DATE, LONG) -> DATE
136135 * (STRING/DATETIME/TIMESTAMP, LONG) -> DATETIME
137136 */
138-
139137 private DefaultFunctionResolver add_date (FunctionName functionName ) {
140138 return define (functionName ,
141139 impl (nullMissingHandling (DateTimeFunction ::exprAddDateInterval ),
@@ -171,38 +169,38 @@ private DefaultFunctionResolver convert_tz() {
171169 );
172170 }
173171
174- private FunctionResolver curdate (FunctionName functionName ) {
172+ private DefaultFunctionResolver curdate (FunctionName functionName ) {
175173 return define (functionName ,
176174 impl (() -> new ExprDateValue (formatNow (null ).toLocalDate ()), DATE )
177175 );
178176 }
179177
180- private FunctionResolver curdate () {
178+ private DefaultFunctionResolver curdate () {
181179 return curdate (BuiltinFunctionName .CURDATE .getName ());
182180 }
183181
184182 /**
185183 * Synonym for @see `now`.
186184 */
187- private FunctionResolver curtime (FunctionName functionName ) {
185+ private DefaultFunctionResolver curtime (FunctionName functionName ) {
188186 return define (functionName ,
189187 impl (() -> new ExprTimeValue (formatNow (null ).toLocalTime ()), TIME )
190188 );
191189 }
192190
193- private FunctionResolver curtime () {
191+ private DefaultFunctionResolver curtime () {
194192 return curtime (BuiltinFunctionName .CURTIME .getName ());
195193 }
196194
197- private FunctionResolver current_date () {
195+ private DefaultFunctionResolver current_date () {
198196 return curdate (BuiltinFunctionName .CURRENT_DATE .getName ());
199197 }
200198
201- private FunctionResolver current_time () {
199+ private DefaultFunctionResolver current_time () {
202200 return curtime (BuiltinFunctionName .CURRENT_TIME .getName ());
203201 }
204202
205- private FunctionResolver current_timestamp () {
203+ private DefaultFunctionResolver current_timestamp () {
206204 return now (BuiltinFunctionName .CURRENT_TIMESTAMP .getName ());
207205 }
208206
@@ -225,7 +223,7 @@ private DefaultFunctionResolver date() {
225223 * (STRING, STRING) -> DATETIME
226224 * (STRING) -> DATETIME
227225 */
228- private FunctionResolver datetime () {
226+ private DefaultFunctionResolver datetime () {
229227 return define (BuiltinFunctionName .DATETIME .getName (),
230228 impl (nullMissingHandling (DateTimeFunction ::exprDateTime ),
231229 DATETIME , STRING , STRING ),
@@ -337,7 +335,7 @@ private DefaultFunctionResolver from_days() {
337335 impl (nullMissingHandling (DateTimeFunction ::exprFromDays ), DATE , LONG ));
338336 }
339337
340- private FunctionResolver from_unixtime () {
338+ private DefaultFunctionResolver from_unixtime () {
341339 return define (BuiltinFunctionName .FROM_UNIXTIME .getName (),
342340 impl (nullMissingHandling (DateTimeFunction ::exprFromUnixTime ), DATETIME , DOUBLE ),
343341 impl (nullMissingHandling (DateTimeFunction ::exprFromUnixTimeFormat ),
@@ -356,11 +354,11 @@ private DefaultFunctionResolver hour() {
356354 );
357355 }
358356
359- private FunctionResolver localtime () {
357+ private DefaultFunctionResolver localtime () {
360358 return now (BuiltinFunctionName .LOCALTIME .getName ());
361359 }
362360
363- private FunctionResolver localtimestamp () {
361+ private DefaultFunctionResolver localtimestamp () {
364362 return now (BuiltinFunctionName .LOCALTIMESTAMP .getName ());
365363 }
366364
@@ -369,22 +367,22 @@ private FunctionResolver localtimestamp() {
369367 * `fsp` argument support is removed until refactoring to avoid bug where `now()`, `now(x)` and
370368 * `now(y) return different values.
371369 */
372- private FunctionResolver now (FunctionName functionName ) {
370+ private DefaultFunctionResolver now (FunctionName functionName ) {
373371 return define (functionName ,
374372 impl (() -> new ExprDatetimeValue (formatNow (null )), DATETIME )
375373 );
376374 }
377375
378- private FunctionResolver now () {
376+ private DefaultFunctionResolver now () {
379377 return now (BuiltinFunctionName .NOW .getName ());
380378 }
381379
382- private FunctionResolver makedate () {
380+ private DefaultFunctionResolver makedate () {
383381 return define (BuiltinFunctionName .MAKEDATE .getName (),
384382 impl (nullMissingHandling (DateTimeFunction ::exprMakeDate ), DATE , DOUBLE , DOUBLE ));
385383 }
386384
387- private FunctionResolver maketime () {
385+ private DefaultFunctionResolver maketime () {
388386 return define (BuiltinFunctionName .MAKETIME .getName (),
389387 impl (nullMissingHandling (DateTimeFunction ::exprMakeTime ), TIME , DOUBLE , DOUBLE , DOUBLE ));
390388 }
@@ -536,7 +534,7 @@ private DefaultFunctionResolver to_days() {
536534 impl (nullMissingHandling (DateTimeFunction ::exprToDays ), LONG , DATETIME ));
537535 }
538536
539- private FunctionResolver unix_timestamp () {
537+ private DefaultFunctionResolver unix_timestamp () {
540538 return define (BuiltinFunctionName .UNIX_TIMESTAMP .getName (),
541539 impl (DateTimeFunction ::unixTimeStamp , LONG ),
542540 impl (nullMissingHandling (DateTimeFunction ::unixTimeStampOf ), DOUBLE , DATE ),
@@ -1008,7 +1006,7 @@ private ExprValue exprSubDateInterval(ExprValue date, ExprValue expr) {
10081006 /**
10091007 * SYSDATE() returns the time at which it executes.
10101008 */
1011- private FunctionResolver sysdate () {
1009+ private DefaultFunctionResolver sysdate () {
10121010 return define (BuiltinFunctionName .SYSDATE .getName (),
10131011 impl (() -> new ExprDatetimeValue (formatNow (null )), DATETIME ),
10141012 impl ((v ) -> new ExprDatetimeValue (formatNow (v .integerValue ())), DATETIME , INTEGER )
0 commit comments