Package io.trino.operator.scalar
Class StringFunctions
java.lang.Object
io.trino.operator.scalar.StringFunctions
Current implementation is based on code points from Unicode and does ignore grapheme cluster boundaries.
Therefore only some methods work correctly with grapheme cluster boundaries.
-
Method Summary
Modifier and TypeMethodDescriptionstatic int[]castCharToCodePoints(Long charLength, io.airlift.slice.Slice slice) static int[]castVarcharToCodePoints(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharLeftTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharLeftTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static longcharLength(long x, io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharLower(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharReverse(long x, io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharRightTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharRightTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static io.airlift.slice.SlicecharSubstr(Long x, io.airlift.slice.Slice utf8, long start, long length) static io.airlift.slice.SlicecharSubstring(Long x, io.airlift.slice.Slice utf8, long start) static io.airlift.slice.SlicecharTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SlicecharTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static io.airlift.slice.SlicecharUpper(io.airlift.slice.Slice slice) static io.airlift.slice.Slicechr(long codepoint) static longcodepoint(io.airlift.slice.Slice slice) static io.airlift.slice.Slicestatic io.airlift.slice.SlicefromUtf8(io.airlift.slice.Slice slice) static io.airlift.slice.SlicefromUtf8(io.airlift.slice.Slice slice, long replacementCodePoint) static io.airlift.slice.SlicefromUtf8(io.airlift.slice.Slice slice, io.airlift.slice.Slice replacementCharacter) static longhammingDistance(io.airlift.slice.Slice left, io.airlift.slice.Slice right) static io.airlift.slice.SliceleftPad(long x, io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) static io.airlift.slice.SliceleftPad(io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) static io.airlift.slice.SliceleftTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SliceleftTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static longlength(io.airlift.slice.Slice slice) static longlevenshteinDistance(io.airlift.slice.Slice left, io.airlift.slice.Slice right) static io.airlift.slice.Slicelower(io.airlift.slice.Slice slice) static io.airlift.slice.Slicenormalize(io.airlift.slice.Slice slice, io.airlift.slice.Slice form) static io.airlift.slice.Slicereplace(io.airlift.slice.Slice str, io.airlift.slice.Slice search) static io.airlift.slice.Slicereplace(io.airlift.slice.Slice str, io.airlift.slice.Slice search, io.airlift.slice.Slice replace) static io.airlift.slice.Slicereverse(io.airlift.slice.Slice slice) static io.airlift.slice.SlicerightPad(io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) static io.airlift.slice.SlicerightTrim(io.airlift.slice.Slice slice) static io.airlift.slice.SlicerightTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static io.airlift.slice.Slicesoundex(io.airlift.slice.Slice slice) static longspaceTrimmedLength(io.airlift.slice.Slice slice) static Blocksplit(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter) static Blocksplit(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter, long limit) static io.airlift.slice.SlicesplitPart(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter, long index) static booleanstartsWith(io.airlift.slice.Slice source, io.airlift.slice.Slice prefix) static longstringPosition(io.airlift.slice.Slice string, io.airlift.slice.Slice substring) static longstringPosition(io.airlift.slice.Slice string, io.airlift.slice.Slice substring, long instance) static io.airlift.slice.Slicesubstring(io.airlift.slice.Slice utf8, long start) static io.airlift.slice.Slicesubstring(io.airlift.slice.Slice utf8, long start, long length) static io.airlift.slice.SlicetoUtf8(long x, io.airlift.slice.Slice slice) static io.airlift.slice.SlicetoUtf8(io.airlift.slice.Slice slice) static io.airlift.slice.Slicetranslate(io.airlift.slice.Slice source, io.airlift.slice.Slice from, io.airlift.slice.Slice to) static io.airlift.slice.Slicetrim(io.airlift.slice.Slice slice) static io.airlift.slice.Slicetrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) static io.airlift.slice.Sliceupper(io.airlift.slice.Slice slice)
-
Method Details
-
chr
public static io.airlift.slice.Slice chr(long codepoint) -
codepoint
public static long codepoint(io.airlift.slice.Slice slice) -
length
public static long length(io.airlift.slice.Slice slice) -
charLength
public static long charLength(long x, io.airlift.slice.Slice slice) -
spaceTrimmedLength
public static long spaceTrimmedLength(io.airlift.slice.Slice slice) -
replace
public static io.airlift.slice.Slice replace(io.airlift.slice.Slice str, io.airlift.slice.Slice search) -
replace
public static io.airlift.slice.Slice replace(io.airlift.slice.Slice str, io.airlift.slice.Slice search, io.airlift.slice.Slice replace) -
reverse
public static io.airlift.slice.Slice reverse(io.airlift.slice.Slice slice) -
charReverse
public static io.airlift.slice.Slice charReverse(long x, io.airlift.slice.Slice slice) -
stringPosition
public static long stringPosition(io.airlift.slice.Slice string, io.airlift.slice.Slice substring) -
stringPosition
public static long stringPosition(io.airlift.slice.Slice string, io.airlift.slice.Slice substring, long instance) -
substring
public static io.airlift.slice.Slice substring(io.airlift.slice.Slice utf8, long start) -
charSubstring
-
substring
public static io.airlift.slice.Slice substring(io.airlift.slice.Slice utf8, long start, long length) -
charSubstr
public static io.airlift.slice.Slice charSubstr(Long x, io.airlift.slice.Slice utf8, long start, long length) -
split
-
split
public static Block split(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter, long limit) -
splitPart
public static io.airlift.slice.Slice splitPart(io.airlift.slice.Slice string, io.airlift.slice.Slice delimiter, long index) -
leftTrim
public static io.airlift.slice.Slice leftTrim(io.airlift.slice.Slice slice) -
charLeftTrim
public static io.airlift.slice.Slice charLeftTrim(io.airlift.slice.Slice slice) -
rightTrim
public static io.airlift.slice.Slice rightTrim(io.airlift.slice.Slice slice) -
charRightTrim
public static io.airlift.slice.Slice charRightTrim(io.airlift.slice.Slice slice) -
trim
public static io.airlift.slice.Slice trim(io.airlift.slice.Slice slice) -
charTrim
public static io.airlift.slice.Slice charTrim(io.airlift.slice.Slice slice) -
leftTrim
public static io.airlift.slice.Slice leftTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) -
charLeftTrim
public static io.airlift.slice.Slice charLeftTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) -
rightTrim
public static io.airlift.slice.Slice rightTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) -
charRightTrim
public static io.airlift.slice.Slice charRightTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) -
trim
public static io.airlift.slice.Slice trim(io.airlift.slice.Slice slice, int[] codePointsToTrim) -
charTrim
public static io.airlift.slice.Slice charTrim(io.airlift.slice.Slice slice, int[] codePointsToTrim) -
castVarcharToCodePoints
public static int[] castVarcharToCodePoints(io.airlift.slice.Slice slice) -
castCharToCodePoints
-
lower
public static io.airlift.slice.Slice lower(io.airlift.slice.Slice slice) -
charLower
public static io.airlift.slice.Slice charLower(io.airlift.slice.Slice slice) -
upper
public static io.airlift.slice.Slice upper(io.airlift.slice.Slice slice) -
charUpper
public static io.airlift.slice.Slice charUpper(io.airlift.slice.Slice slice) -
leftPad
public static io.airlift.slice.Slice leftPad(long x, io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) -
leftPad
public static io.airlift.slice.Slice leftPad(io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) -
rightPad
public static io.airlift.slice.Slice rightPad(io.airlift.slice.Slice text, long targetLength, io.airlift.slice.Slice padString) -
levenshteinDistance
public static long levenshteinDistance(io.airlift.slice.Slice left, io.airlift.slice.Slice right) -
hammingDistance
public static long hammingDistance(io.airlift.slice.Slice left, io.airlift.slice.Slice right) -
normalize
public static io.airlift.slice.Slice normalize(io.airlift.slice.Slice slice, io.airlift.slice.Slice form) -
fromUtf8
public static io.airlift.slice.Slice fromUtf8(io.airlift.slice.Slice slice) -
fromUtf8
public static io.airlift.slice.Slice fromUtf8(io.airlift.slice.Slice slice, io.airlift.slice.Slice replacementCharacter) -
fromUtf8
public static io.airlift.slice.Slice fromUtf8(io.airlift.slice.Slice slice, long replacementCodePoint) -
toUtf8
public static io.airlift.slice.Slice toUtf8(io.airlift.slice.Slice slice) -
toUtf8
public static io.airlift.slice.Slice toUtf8(long x, io.airlift.slice.Slice slice) -
concat
public static io.airlift.slice.Slice concat(Long x, io.airlift.slice.Slice left, io.airlift.slice.Slice right) -
startsWith
public static boolean startsWith(io.airlift.slice.Slice source, io.airlift.slice.Slice prefix) -
translate
public static io.airlift.slice.Slice translate(io.airlift.slice.Slice source, io.airlift.slice.Slice from, io.airlift.slice.Slice to) -
soundex
public static io.airlift.slice.Slice soundex(io.airlift.slice.Slice slice)
-