@ConstantFunction.List(list = {
            @ConstantFunction(name = "from_unixtime", argTypes = {INT}, returnType = VARCHAR),
            @ConstantFunction(name = "from_unixtime", argTypes = {BIGINT}, returnType = VARCHAR)
    })
    public static ConstantOperator fromUnixTime(ConstantOperator unixTime) throws AnalysisException {
        long value = 0;
        if (unixTime.getType().isInt()) {
            value = unixTime.getInt();
        } else {
            value = unixTime.getBigint();
        }
        if (value < 0 || value > TimeUtils.MAX_UNIX_TIMESTAMP) {
            throw new AnalysisException(
                    "unixtime should larger than zero and less than " + TimeUtils.MAX_UNIX_TIMESTAMP);
        }
        ConstantOperator dl = ConstantOperator.createDatetime(
                LocalDateTime.ofInstant(Instant.ofEpochSecond(value), TimeUtils.getTimeZone().toZoneId()));
        return ConstantOperator.createVarchar(dl.toString());
    }
@Test
    public void fromUnixTime() throws AnalysisException {
        assertEquals("1970-01-01 08:00:10",
                ScalarOperatorFunctions.fromUnixTime(O_BI_10).getVarchar());
    }