public final class org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction extends org.apache.cassandra.cql3.restrictions.SingleColumnRestriction
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction
super_class: org.apache.cassandra.cql3.restrictions.SingleColumnRestriction
{
private static final java.nio.ByteBuffer LIKE_WILDCARD;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.apache.cassandra.cql3.Operator operator;
descriptor: Lorg/apache/cassandra/cql3/Operator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.cql3.Term value;
descriptor: Lorg/apache/cassandra/cql3/Term;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "%"
invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytes:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
putstatic org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.LIKE_WILDCARD:Ljava/nio/ByteBuffer;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.cql3.Operator, org.apache.cassandra.cql3.Term);
descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;Lorg/apache/cassandra/cql3/Term;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial org.apache.cassandra.cql3.restrictions.SingleColumnRestriction.<init>:(Lorg/apache/cassandra/config/ColumnDefinition;)V
1: aload 0
aload 2
putfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.operator:Lorg/apache/cassandra/cql3/Operator;
2: aload 0
aload 3
putfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.value:Lorg/apache/cassandra/cql3/Term;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
0 4 1 columnDef Lorg/apache/cassandra/config/ColumnDefinition;
0 4 2 operator Lorg/apache/cassandra/cql3/Operator;
0 4 3 value Lorg/apache/cassandra/cql3/Term;
MethodParameters:
Name Flags
columnDef
operator
value
public void addFunctionsTo(java.util.List<org.apache.cassandra.cql3.functions.Function>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.value:Lorg/apache/cassandra/cql3/Term;
aload 1
invokeinterface org.apache.cassandra.cql3.Term.addFunctionsTo:(Ljava/util/List;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
0 2 1 functions Ljava/util/List<Lorg/apache/cassandra/cql3/functions/Function;>;
Signature: (Ljava/util/List<Lorg/apache/cassandra/cql3/functions/Function;>;)V
MethodParameters:
Name Flags
functions
public boolean isEQ();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
public boolean isLIKE();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
public boolean canBeConvertedToMultiColumnRestriction();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
org.apache.cassandra.cql3.restrictions.MultiColumnRestriction toMultiColumnRestriction();
descriptor: ()Lorg/apache/cassandra/cql3/restrictions/MultiColumnRestriction;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
public void addRowFilterTo(org.apache.cassandra.db.filter.RowFilter, org.apache.cassandra.index.SecondaryIndexManager, org.apache.cassandra.cql3.QueryOptions);
descriptor: (Lorg/apache/cassandra/db/filter/RowFilter;Lorg/apache/cassandra/index/SecondaryIndexManager;Lorg/apache/cassandra/cql3/QueryOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.value:Lorg/apache/cassandra/cql3/Term;
aload 3
invokeinterface org.apache.cassandra.cql3.Term.bindAndGet:(Lorg/apache/cassandra/cql3/QueryOptions;)Ljava/nio/ByteBuffer;
invokestatic org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.makeSpecific:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/utils/Pair;
astore 4
start local 4 1: aload 1
aload 0
getfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.columnDef:Lorg/apache/cassandra/config/ColumnDefinition;
aload 4
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.Operator
aload 4
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast java.nio.ByteBuffer
invokevirtual org.apache.cassandra.db.filter.RowFilter.add:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/filter/RowFilter$SimpleExpression;
astore 5
start local 5 2: aload 2
aload 5
invokevirtual org.apache.cassandra.index.SecondaryIndexManager.getBestIndexFor:(Lorg/apache/cassandra/db/filter/RowFilter$Expression;)Ljava/util/Optional;
3: aload 5
invokedynamic get(Lorg/apache/cassandra/db/filter/RowFilter$SimpleExpression;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction.lambda$0(Lorg/apache/cassandra/db/filter/RowFilter$SimpleExpression;)Lorg/apache/cassandra/exceptions/InvalidRequestException; (6)
()Lorg/apache/cassandra/exceptions/InvalidRequestException;
invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
pop
4: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
0 5 1 filter Lorg/apache/cassandra/db/filter/RowFilter;
0 5 2 indexManager Lorg/apache/cassandra/index/SecondaryIndexManager;
0 5 3 options Lorg/apache/cassandra/cql3/QueryOptions;
1 5 4 operation Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/cql3/Operator;Ljava/nio/ByteBuffer;>;
2 5 5 expression Lorg/apache/cassandra/db/filter/RowFilter$SimpleExpression;
MethodParameters:
Name Flags
filter
indexManager
options
public org.apache.cassandra.db.MultiCBuilder appendTo(org.apache.cassandra.db.MultiCBuilder, org.apache.cassandra.cql3.QueryOptions);
descriptor: (Lorg/apache/cassandra/db/MultiCBuilder;Lorg/apache/cassandra/cql3/QueryOptions;)Lorg/apache/cassandra/db/MultiCBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
0 1 1 builder Lorg/apache/cassandra/db/MultiCBuilder;
0 1 2 options Lorg/apache/cassandra/cql3/QueryOptions;
MethodParameters:
Name Flags
builder
options
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.operator:Lorg/apache/cassandra/cql3/Operator;
invokevirtual org.apache.cassandra.cql3.Operator.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
public org.apache.cassandra.cql3.restrictions.SingleRestriction doMergeWith(org.apache.cassandra.cql3.restrictions.SingleRestriction);
descriptor: (Lorg/apache/cassandra/cql3/restrictions/SingleRestriction;)Lorg/apache/cassandra/cql3/restrictions/SingleRestriction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: ldc "%s cannot be restricted by more than one relation if it includes a %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.columnDef:Lorg/apache/cassandra/config/ColumnDefinition;
getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.operator:Lorg/apache/cassandra/cql3/Operator;
aastore
invokestatic org.apache.cassandra.cql3.statements.RequestValidations.invalidRequest:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/cassandra/exceptions/InvalidRequestException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
0 1 1 otherRestriction Lorg/apache/cassandra/cql3/restrictions/SingleRestriction;
MethodParameters:
Name Flags
otherRestriction
protected boolean isSupportedBy(org.apache.cassandra.index.Index);
descriptor: (Lorg/apache/cassandra/index/Index;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.columnDef:Lorg/apache/cassandra/config/ColumnDefinition;
aload 0
getfield org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.operator:Lorg/apache/cassandra/cql3/Operator;
invokeinterface org.apache.cassandra.index.Index.supportsExpression:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Operator;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/cql3/restrictions/SingleColumnRestriction$LikeRestriction;
0 1 1 index Lorg/apache/cassandra/index/Index;
MethodParameters:
Name Flags
index
private static org.apache.cassandra.utils.Pair<org.apache.cassandra.cql3.Operator, java.nio.ByteBuffer> makeSpecific(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/utils/Pair;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 1: aload 0
invokevirtual java.nio.ByteBuffer.limit:()I
iconst_1
isub
istore 3
start local 3 2: aload 0
getstatic org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.LIKE_WILDCARD:Ljava/nio/ByteBuffer;
invokestatic org.apache.cassandra.utils.ByteBufferUtil.endsWith:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
ifeq 9
3: aload 0
getstatic org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.LIKE_WILDCARD:Ljava/nio/ByteBuffer;
invokestatic org.apache.cassandra.utils.ByteBufferUtil.startsWith:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
ifeq 7
4: getstatic org.apache.cassandra.cql3.Operator.LIKE_CONTAINS:Lorg/apache/cassandra/cql3/Operator;
astore 1
start local 1 5: iconst_1
istore 2
6: goto 16
end local 1 7: StackMap locals: java.nio.ByteBuffer top int int
StackMap stack:
getstatic org.apache.cassandra.cql3.Operator.LIKE_PREFIX:Lorg/apache/cassandra/cql3/Operator;
astore 1
start local 1 8: goto 16
end local 1 9: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction.LIKE_WILDCARD:Ljava/nio/ByteBuffer;
invokestatic org.apache.cassandra.utils.ByteBufferUtil.startsWith:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
ifeq 14
10: getstatic org.apache.cassandra.cql3.Operator.LIKE_SUFFIX:Lorg/apache/cassandra/cql3/Operator;
astore 1
start local 1 11: iinc 2 1
12: iinc 3 1
13: goto 16
end local 1 14: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.cql3.Operator.LIKE_MATCHES:Lorg/apache/cassandra/cql3/Operator;
astore 1
start local 1 15: iinc 3 1
16: StackMap locals: java.nio.ByteBuffer org.apache.cassandra.cql3.Operator int int
StackMap stack:
iload 3
ifeq 17
iload 2
iload 3
if_icmpne 18
17: StackMap locals:
StackMap stack:
ldc "LIKE value can't be empty."
iconst_0
anewarray java.lang.Object
invokestatic org.apache.cassandra.cql3.statements.RequestValidations.invalidRequest:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/cassandra/exceptions/InvalidRequestException;
athrow
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 4
start local 4 19: aload 4
iload 2
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
20: aload 4
iload 3
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
21: aload 1
aload 4
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 value Ljava/nio/ByteBuffer;
5 7 1 operator Lorg/apache/cassandra/cql3/Operator;
8 9 1 operator Lorg/apache/cassandra/cql3/Operator;
11 14 1 operator Lorg/apache/cassandra/cql3/Operator;
15 22 1 operator Lorg/apache/cassandra/cql3/Operator;
1 22 2 beginIndex I
2 22 3 endIndex I
19 22 4 newValue Ljava/nio/ByteBuffer;
Signature: (Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/cql3/Operator;Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
value
private static org.apache.cassandra.exceptions.InvalidRequestException lambda$0(org.apache.cassandra.db.filter.RowFilter$SimpleExpression);
descriptor: (Lorg/apache/cassandra/db/filter/RowFilter$SimpleExpression;)Lorg/apache/cassandra/exceptions/InvalidRequestException;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=1, args_size=1
0: ldc "%s is only supported on properly indexed columns"
iconst_1
anewarray java.lang.Object
dup
iconst_0
1: aload 0
aastore
2: invokestatic org.apache.cassandra.cql3.statements.RequestValidations.invalidRequest:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/cassandra/exceptions/InvalidRequestException;
3: areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SingleColumnRestriction.java"
NestHost: org.apache.cassandra.cql3.restrictions.SingleColumnRestriction
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final LikeRestriction = org.apache.cassandra.cql3.restrictions.SingleColumnRestriction$LikeRestriction of org.apache.cassandra.cql3.restrictions.SingleColumnRestriction
public abstract Expression = org.apache.cassandra.db.filter.RowFilter$Expression of org.apache.cassandra.db.filter.RowFilter
public SimpleExpression = org.apache.cassandra.db.filter.RowFilter$SimpleExpression of org.apache.cassandra.db.filter.RowFilter