@ConstantFunction.List(list = {
            @ConstantFunction(name = "curdate", argTypes = {}, returnType = DATE),
            @ConstantFunction(name = "current_date", argTypes = {}, returnType = DATE)
    })
    public static ConstantOperator curDate() {
        ConnectContext connectContext = ConnectContext.get();
        LocalDateTime startTime = Instant.ofEpochMilli(connectContext.getStartTime())
                .atZone(TimeUtils.getTimeZone().toZoneId()).toLocalDateTime();
        return ConstantOperator.createDateOrNull(startTime.truncatedTo(ChronoUnit.DAYS));
    }
@Test
    public void curDate() {
        ConnectContext ctx = new ConnectContext(null);
        ctx.setThreadLocalInfo();
        ctx.setStartTime();
        LocalDateTime now = LocalDateTime.of(LocalDate.now(), LocalTime.of(0, 0, 0));
        assertEquals(now, ScalarOperatorFunctions.curDate().getDate());
    }