MCPcopy Create free account
hub / github.com/questdb/questdb / lessThan

Method lessThan

core/src/main/java/io/questdb/std/str/Utf8s.java:917–932  ·  view source on GitHub ↗

Strictly less than (<) comparison of two UTF8 sequences in lexicographical order. For example, for: l = aaaaa r = aaaaaaa the l < r will produce "true", however for: l = bbbb r = aaaaaaa the l < r will produce "false", because b < a. @param l left sequence, can be null @param r right se

(@Nullable Utf8Sequence l, @Nullable Utf8Sequence r)

Source from the content-addressed store, hash-verified

915 * @return if either l or r is "null", the return value false, otherwise sequences are compared lexicographically.
916 */
917 public static boolean lessThan(@Nullable Utf8Sequence l, @Nullable Utf8Sequence r) {
918 if (l == null || r == null) {
919 return false;
920 }
921
922 final int ll = l.size();
923 final int rl = r.size();
924 final int min = Math.min(ll, rl);
925 for (int i = 0; i < min; i++) {
926 final int k = Numbers.compareUnsigned(l.byteAt(i), r.byteAt(i));
927 if (k != 0) {
928 return k < 0;
929 }
930 }
931 return ll < rl;
932 }
933
934 public static boolean lessThan(@Nullable Utf8Sequence l, @Nullable Utf8Sequence r, boolean negated) {
935 final boolean eq = Utf8s.equals(l, r);

Callers 5

testLessThanMethod · 0.95
testLessThanNegatedMethod · 0.95
getBoolMethod · 0.95
getBoolMethod · 0.95
getBoolMethod · 0.95

Calls 5

compareUnsignedMethod · 0.95
equalsMethod · 0.95
greaterThanMethod · 0.95
sizeMethod · 0.65
byteAtMethod · 0.65

Tested by 2

testLessThanMethod · 0.76
testLessThanNegatedMethod · 0.76