@Description("encodes the string to UTF-8") @ScalarFunction @LiteralParameters("x") @SqlType(StandardTypes.VARBINARY) public static Slice toUtf8(@SqlType("varchar(x)") Slice slice) { return slice; }
@Description("arc cosine") @ScalarFunction @SqlType(StandardTypes.DOUBLE) public static double acos(@SqlType(StandardTypes.DOUBLE) double num) { return Math.acos(num); }
@ScalarFunction @SqlNullable @SqlType(StandardTypes.VARCHAR) public static Slice jsonExtractScalar(@SqlType(StandardTypes.JSON) Slice json, @SqlType(JsonPathType.NAME) JsonPath jsonPath) { return JsonExtract.extract(json, jsonPath.getScalarExtractor()); }
@ScalarFunction(value = "at_timezone", hidden = true) @LiteralParameters("x") @SqlType(StandardTypes.TIMESTAMP_WITH_TIME_ZONE) public static long timestampAtTimeZone(@SqlType(StandardTypes.TIMESTAMP_WITH_TIME_ZONE) long timestampWithTimeZone, @SqlType("varchar(x)") Slice zoneId) { return packDateTimeWithZone(unpackMillisUtc(timestampWithTimeZone), zoneId.toStringUtf8()); }
@SqlNullable @Description("string extracted using the given pattern") @ScalarFunction @LiteralParameters("x") @SqlType("varchar(x)") public static Slice regexpExtract(@SqlType("varchar(x)") Slice source, @SqlType(JoniRegexpType.NAME) Regex pattern) { return regexpExtract(source, pattern, 0); }
@ScalarFunction @SqlNullable @SqlType(StandardTypes.JSON) public static Slice jsonExtract(@SqlType(StandardTypes.JSON) Slice json, @SqlType(JsonPathType.NAME) JsonPath jsonPath) { return JsonExtract.extract(json, jsonPath.getObjectExtractor()); }
@Description("absolute value") @ScalarFunction("abs") @SqlType(StandardTypes.REAL) public static long absFloat(@SqlType(StandardTypes.REAL) long num) { return floatToRawIntBits(Math.abs(intBitsToFloat((int) num))); }
@ScalarFunction @LiteralParameters({"x", "y"}) @SqlType(LikePatternType.NAME) public static Regex likePattern(@SqlType("varchar(x)") Slice pattern, @SqlType("varchar(y)") Slice escape) { return likePattern(pattern.toStringUtf8(), getEscapeChar(escape), true); }
@SqlNullable @Description("string extracted using the given pattern") @ScalarFunction @LiteralParameters("x") @SqlType("varchar(x)") public static Slice regexpExtract(@SqlType("varchar(x)") Slice source, @SqlType(Re2JRegexpType.NAME) Re2JRegexp pattern) { return regexpExtract(source, pattern, 0); }
@ScalarFunction @SqlNullable @SqlType(StandardTypes.BIGINT) public static Long jsonSize(@SqlType(StandardTypes.JSON) Slice json, @SqlType(JsonPathType.NAME) JsonPath jsonPath) { return JsonExtract.extract(json, jsonPath.getSizeExtractor()); }
@Description("hyperbolic cosine") @ScalarFunction @SqlType(StandardTypes.DOUBLE) public static double cosh(@SqlType(StandardTypes.DOUBLE) double num) { return Math.cosh(num); }
@SqlNullable @Description("returns regex group of extracted string with a pattern") @ScalarFunction @LiteralParameters("x") @SqlType("varchar(x)") public static Slice regexpExtract(@SqlType("varchar(x)") Slice source, @SqlType(Re2JRegexpType.NAME) Re2JRegexp pattern, @SqlType(StandardTypes.BIGINT) long groupIndex) { return pattern.extract(source, groupIndex); }
@ScalarFunction(value = "null_function", deterministic = false) @SqlNullable @SqlType("unknown") public static Boolean nullFunction() { return null; }
@Description("count of code points of the given string") @ScalarFunction @LiteralParameters("x") @SqlType(StandardTypes.BIGINT) public static long length(@SqlType("varchar(x)") Slice slice) { return countCodePoints(slice); }
@ScalarFunction @SqlNullable @SqlType(StandardTypes.BIGINT) public static long bad() { return 0L; } }
@Description("suffix starting at given index") @ScalarFunction("substr") @LiteralParameters("x") @SqlType("char(x)") public static Slice charSubstr(@SqlType("char(x)") Slice utf8, @SqlType(StandardTypes.BIGINT) long start) { return substr(utf8, start); }
@ScalarFunction @SqlType(StandardTypes.BIGINT) public static long bad(@SqlNullable @SqlType(StandardTypes.DOUBLE) double primitive) { return 0; } }
@Description("remove the longest string containing only given characters from the beginning of a string") @ScalarFunction("ltrim") @LiteralParameters("x") @SqlType("varchar(x)") public static Slice leftTrim(@SqlType("varchar(x)") Slice slice, @SqlType(CodePointsType.NAME) int[] codePointsToTrim) { return SliceUtf8.leftTrim(slice, codePointsToTrim); }
@ScalarFunction("custom_is_null") @SqlType(StandardTypes.BOOLEAN) public static boolean customIsNullBigint(@SqlNullable @SqlType(StandardTypes.BIGINT) Long value) { return value == null; } }
@Description("converts the string to lower case") @ScalarFunction("lower") @LiteralParameters("x") @SqlType("char(x)") public static Slice charLower(@SqlType("char(x)") Slice slice) { return lower(slice); }