@ScalarFunction(value = "at_timezone", hidden = true) @SqlType(StandardTypes.TIME_WITH_TIME_ZONE) public static long timeAtTimeZone(ConnectorSession session, @SqlType(StandardTypes.TIME_WITH_TIME_ZONE) long timeWithTimeZone, @SqlType(StandardTypes.INTERVAL_DAY_TO_SECOND) long zoneOffset) { checkCondition((zoneOffset % 60_000L) == 0L, INVALID_FUNCTION_ARGUMENT, "Invalid time zone offset interval: interval contains seconds"); long zoneOffsetMinutes = zoneOffset / 60_000L; return timeAtTimeZone(session, timeWithTimeZone, getTimeZoneKeyForOffset(zoneOffsetMinutes)); }
@Description("pads a varbinary on the left") @ScalarFunction("lpad") @SqlType(StandardTypes.VARBINARY) public static Slice leftPad(@SqlType("varbinary") Slice inputSlice, @SqlType(StandardTypes.BIGINT) long targetLength, @SqlType("varbinary") Slice padBytes) { return pad(inputSlice, targetLength, padBytes, 0); }
@ScalarFunction @Description("binomial confidence interval lower bound using Wilson score") @SqlType(StandardTypes.DOUBLE) public static double wilsonIntervalLower(@SqlType(StandardTypes.BIGINT) long successes, @SqlType(StandardTypes.BIGINT) long trials, @SqlType(StandardTypes.DOUBLE) double z) { return wilsonInterval(successes, trials, z, -1); }
@ScalarFunction @Description("binomial confidence interval upper bound using Wilson score") @SqlType(StandardTypes.DOUBLE) public static double wilsonIntervalUpper(@SqlType(StandardTypes.BIGINT) long successes, @SqlType(StandardTypes.BIGINT) long trials, @SqlType(StandardTypes.DOUBLE) double z) { return wilsonInterval(successes, trials, z, 1); }
@Description("pads a varbinary on the right") @ScalarFunction("rpad") @SqlType(StandardTypes.VARBINARY) public static Slice rightPad(@SqlType("varbinary") Slice inputSlice, @SqlType(StandardTypes.BIGINT) long targetLength, @SqlType("varbinary") Slice padBytes) { return pad(inputSlice, targetLength, padBytes, inputSlice.length()); } }
@Description("Returns a geometry that represents the point set union of the input geometries.") @ScalarFunction("ST_Union") @SqlType(GEOMETRY_TYPE_NAME) public static Slice stUnion(@SqlType(GEOMETRY_TYPE_NAME) Slice left, @SqlType(GEOMETRY_TYPE_NAME) Slice right) { return stUnion(ImmutableList.of(left, right)); }
@Description("round to integer by dropping digits after decimal point") @ScalarFunction @SqlType(StandardTypes.REAL) public static long truncate(@SqlType(StandardTypes.REAL) long num) { float numInFloat = intBitsToFloat((int) num); return floatToRawIntBits((float) (Math.signum(numInFloat) * Math.floor(Math.abs(numInFloat)))); }