public class org.apache.cassandra.service.ClientState
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.service.ClientState
super_class: java.lang.Object
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final org.apache.cassandra.utils.CassandraVersion DEFAULT_CQL_VERSION;
descriptor: Lorg/apache/cassandra/utils/CassandraVersion;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.util.Set<org.apache.cassandra.auth.IResource> READABLE_SYSTEM_RESOURCES;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Lorg/apache/cassandra/auth/IResource;>;
private static final java.util.Set<org.apache.cassandra.auth.IResource> PROTECTED_AUTH_RESOURCES;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Lorg/apache/cassandra/auth/IResource;>;
private static final java.util.Set<org.apache.cassandra.auth.IResource> DROPPABLE_SYSTEM_AUTH_TABLES;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Lorg/apache/cassandra/auth/IResource;>;
private volatile org.apache.cassandra.auth.AuthenticatedUser user;
descriptor: Lorg/apache/cassandra/auth/AuthenticatedUser;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.lang.String keyspace;
descriptor: Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean noCompactMode;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final org.apache.cassandra.cql3.QueryHandler cqlQueryHandler;
descriptor: Lorg/apache/cassandra/cql3/QueryHandler;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public final boolean isInternal;
descriptor: Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final java.net.InetSocketAddress remoteAddress;
descriptor: Ljava/net/InetSocketAddress;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.util.concurrent.atomic.AtomicLong lastTimestampMicros;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=0
0: ldc Lorg/apache/cassandra/service/ClientState;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.service.ClientState.logger:Lorg/slf4j/Logger;
1: getstatic org.apache.cassandra.cql3.QueryProcessor.CQL_VERSION:Lorg/apache/cassandra/utils/CassandraVersion;
putstatic org.apache.cassandra.service.ClientState.DEFAULT_CQL_VERSION:Lorg/apache/cassandra/utils/CassandraVersion;
2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.apache.cassandra.service.ClientState.READABLE_SYSTEM_RESOURCES:Ljava/util/Set;
3: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.apache.cassandra.service.ClientState.PROTECTED_AUTH_RESOURCES:Ljava/util/Set;
4: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.apache.cassandra.service.ClientState.DROPPABLE_SYSTEM_AUTH_TABLES:Ljava/util/Set;
5: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "local"
aastore
dup
iconst_1
ldc "peers"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 1
goto 8
StackMap locals: top java.util.Iterator
StackMap stack:
6: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 7: getstatic org.apache.cassandra.service.ClientState.READABLE_SYSTEM_RESOURCES:Ljava/util/Set;
ldc "system"
aload 0
invokestatic org.apache.cassandra.auth.DataResource.table:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/auth/DataResource;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 0 8: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: getstatic org.apache.cassandra.schema.SchemaKeyspace.ALL:Lcom/google/common/collect/ImmutableList;
invokedynamic accept()Ljava/util/function/Consumer;
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;)V
org/apache/cassandra/service/ClientState.lambda$0(Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokevirtual com.google.common.collect.ImmutableList.forEach:(Ljava/util/function/Consumer;)V
10: invokestatic org.apache.cassandra.config.DatabaseDescriptor.isDaemonInitialized:()Z
ifeq 14
11: getstatic org.apache.cassandra.service.ClientState.PROTECTED_AUTH_RESOURCES:Ljava/util/Set;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthenticator:()Lorg/apache/cassandra/auth/IAuthenticator;
invokeinterface org.apache.cassandra.auth.IAuthenticator.protectedResources:()Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
12: getstatic org.apache.cassandra.service.ClientState.PROTECTED_AUTH_RESOURCES:Ljava/util/Set;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthorizer:()Lorg/apache/cassandra/auth/IAuthorizer;
invokeinterface org.apache.cassandra.auth.IAuthorizer.protectedResources:()Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
13: getstatic org.apache.cassandra.service.ClientState.PROTECTED_AUTH_RESOURCES:Ljava/util/Set;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRoleManager:()Lorg/apache/cassandra/auth/IRoleManager;
invokeinterface org.apache.cassandra.auth.IRoleManager.protectedResources:()Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
14: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.service.ClientState.DROPPABLE_SYSTEM_AUTH_TABLES:Ljava/util/Set;
ldc "system_auth"
ldc "credentials"
invokestatic org.apache.cassandra.auth.DataResource.table:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/auth/DataResource;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
15: getstatic org.apache.cassandra.service.ClientState.DROPPABLE_SYSTEM_AUTH_TABLES:Ljava/util/Set;
ldc "system_auth"
ldc "users"
invokestatic org.apache.cassandra.auth.DataResource.table:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/auth/DataResource;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: getstatic org.apache.cassandra.service.ClientState.DROPPABLE_SYSTEM_AUTH_TABLES:Ljava/util/Set;
ldc "system_auth"
ldc "permissions"
invokestatic org.apache.cassandra.auth.DataResource.table:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/auth/DataResource;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
17: getstatic org.apache.cassandra.cql3.QueryProcessor.instance:Lorg/apache/cassandra/cql3/QueryProcessor;
astore 0
start local 0 18: ldc "cassandra.custom_query_handler_class"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 19: aload 1
ifnull 26
20: aload 1
ldc "QueryHandler"
invokestatic org.apache.cassandra.utils.FBUtilities.construct:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.apache.cassandra.cql3.QueryHandler
astore 0
21: getstatic org.apache.cassandra.service.ClientState.logger:Lorg/slf4j/Logger;
ldc "Using {} as query handler for native protocol queries (as requested with -Dcassandra.custom_query_handler_class)"
aload 1
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
22: goto 26
23: StackMap locals: org.apache.cassandra.cql3.QueryHandler java.lang.String
StackMap stack: java.lang.Exception
astore 2
start local 2 24: aload 2
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
25: getstatic org.apache.cassandra.service.ClientState.logger:Lorg/slf4j/Logger;
ldc "Cannot use class {} as query handler ({}), ignoring by defaulting on normal query handling"
aload 1
aload 2
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 2 26: StackMap locals:
StackMap stack:
aload 0
putstatic org.apache.cassandra.service.ClientState.cqlQueryHandler:Lorg/apache/cassandra/cql3/QueryHandler;
end local 1 end local 0 27: new java.util.concurrent.atomic.AtomicLong
dup
lconst_0
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putstatic org.apache.cassandra.service.ClientState.lastTimestampMicros:Ljava/util/concurrent/atomic/AtomicLong;
return
LocalVariableTable:
Start End Slot Name Signature
7 8 0 cf Ljava/lang/String;
18 27 0 handler Lorg/apache/cassandra/cql3/QueryHandler;
19 27 1 customHandlerClass Ljava/lang/String;
24 26 2 e Ljava/lang/Exception;
Exception table:
from to target type
20 22 23 Class java.lang.Exception
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield org.apache.cassandra.service.ClientState.isInternal:Z
2: aload 0
aconst_null
putfield org.apache.cassandra.service.ClientState.remoteAddress:Ljava/net/InetSocketAddress;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/service/ClientState;
protected void <init>(java.net.InetSocketAddress);
descriptor: (Ljava/net/InetSocketAddress;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.apache.cassandra.service.ClientState.isInternal:Z
2: aload 0
aload 1
putfield org.apache.cassandra.service.ClientState.remoteAddress:Ljava/net/InetSocketAddress;
3: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthenticator:()Lorg/apache/cassandra/auth/IAuthenticator;
invokeinterface org.apache.cassandra.auth.IAuthenticator.requireAuthentication:()Z
ifne 5
4: aload 0
getstatic org.apache.cassandra.auth.AuthenticatedUser.ANONYMOUS_USER:Lorg/apache/cassandra/auth/AuthenticatedUser;
putfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
5: StackMap locals: org.apache.cassandra.service.ClientState java.net.InetSocketAddress
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/service/ClientState;
0 6 1 remoteAddress Ljava/net/InetSocketAddress;
MethodParameters:
Name Flags
remoteAddress
public static org.apache.cassandra.service.ClientState forInternalCalls();
descriptor: ()Lorg/apache/cassandra/service/ClientState;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.apache.cassandra.service.ClientState
dup
invokespecial org.apache.cassandra.service.ClientState.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static org.apache.cassandra.service.ClientState forExternalCalls(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)Lorg/apache/cassandra/service/ClientState;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.service.ClientState
dup
aload 0
checkcast java.net.InetSocketAddress
invokespecial org.apache.cassandra.service.ClientState.<init>:(Ljava/net/InetSocketAddress;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 remoteAddress Ljava/net/SocketAddress;
MethodParameters:
Name Flags
remoteAddress
public long getTimestamp();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
ldc 1000
lmul
lstore 1
start local 1 1: getstatic org.apache.cassandra.service.ClientState.lastTimestampMicros:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 3
start local 3 2: lload 3
lload 1
lcmp
iflt 3
lload 3
lconst_1
ladd
goto 4
StackMap locals: long long
StackMap stack:
3: lload 1
StackMap locals:
StackMap stack: long
4: lstore 5
start local 5 5: getstatic org.apache.cassandra.service.ClientState.lastTimestampMicros:Ljava/util/concurrent/atomic/AtomicLong;
lload 3
lload 5
invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
ifeq 0
6: lload 5
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/service/ClientState;
1 7 1 current J
2 7 3 last J
5 7 5 tstamp J
public long getTimestampForPaxos(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
ldc 1000
lmul
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 3
start local 3 1: getstatic org.apache.cassandra.service.ClientState.lastTimestampMicros:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 5
start local 5 2: lload 5
lload 3
lcmp
iflt 3
lload 5
lconst_1
ladd
goto 4
StackMap locals: long long
StackMap stack:
3: lload 3
StackMap locals:
StackMap stack: long
4: lstore 7
start local 7 5: lload 7
lload 1
lcmp
ifeq 6
getstatic org.apache.cassandra.service.ClientState.lastTimestampMicros:Ljava/util/concurrent/atomic/AtomicLong;
lload 5
lload 7
invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
ifeq 0
6: StackMap locals: long
StackMap stack:
lload 7
lreturn
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/service/ClientState;
0 7 1 minTimestampToUse J
1 7 3 current J
2 7 5 last J
5 7 7 tstamp J
MethodParameters:
Name Flags
minTimestampToUse
public static org.apache.cassandra.cql3.QueryHandler getCQLQueryHandler();
descriptor: ()Lorg/apache/cassandra/cql3/QueryHandler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.apache.cassandra.service.ClientState.cqlQueryHandler:Lorg/apache/cassandra/cql3/QueryHandler;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.net.InetSocketAddress getRemoteAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.ClientState.remoteAddress:Ljava/net/InetSocketAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/ClientState;
public java.lang.String getRawKeyspace();
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.service.ClientState.keyspace:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/ClientState;
public java.lang.String getKeyspace();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.ClientState.keyspace:Ljava/lang/String;
ifnonnull 2
1: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "No keyspace has been specified. USE a keyspace, or explicitly specify keyspace.tablename"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.ClientState.keyspace:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/service/ClientState;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException
public void setKeyspace(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
ifnull 2
getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 1
invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
ifnonnull 2
1: new org.apache.cassandra.exceptions.InvalidRequestException
dup
new java.lang.StringBuilder
dup
ldc "Keyspace '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' does not exist"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.cassandra.service.ClientState.keyspace:Ljava/lang/String;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/service/ClientState;
0 4 1 ks Ljava/lang/String;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
ks
public void setNoCompactMode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.apache.cassandra.service.ClientState.noCompactMode:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/ClientState;
public boolean isNoCompactMode();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.ClientState.noCompactMode:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/ClientState;
public void login(org.apache.cassandra.auth.AuthenticatedUser);
descriptor: (Lorg/apache/cassandra/auth/AuthenticatedUser;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.cassandra.auth.AuthenticatedUser.isAnonymous:()Z
ifne 1
aload 0
aload 1
invokevirtual org.apache.cassandra.service.ClientState.canLogin:(Lorg/apache/cassandra/auth/AuthenticatedUser;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
goto 3
2: StackMap locals:
StackMap stack:
new org.apache.cassandra.exceptions.AuthenticationException
dup
ldc "%s is not permitted to log in"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual org.apache.cassandra.auth.AuthenticatedUser.getName:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.AuthenticationException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/service/ClientState;
0 4 1 user Lorg/apache/cassandra/auth/AuthenticatedUser;
Exceptions:
throws org.apache.cassandra.exceptions.AuthenticationException
MethodParameters:
Name Flags
user
private boolean canLogin(org.apache.cassandra.auth.AuthenticatedUser);
descriptor: (Lorg/apache/cassandra/auth/AuthenticatedUser;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRoleManager:()Lorg/apache/cassandra/auth/IRoleManager;
aload 1
invokevirtual org.apache.cassandra.auth.AuthenticatedUser.getPrimaryRole:()Lorg/apache/cassandra/auth/RoleResource;
invokeinterface org.apache.cassandra.auth.IRoleManager.canLogin:(Lorg/apache/cassandra/auth/RoleResource;)Z
1: ireturn
2: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.RequestExecutionException
astore 2
start local 2 3: new org.apache.cassandra.exceptions.AuthenticationException
dup
new java.lang.StringBuilder
dup
ldc "Unable to perform authentication: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual org.apache.cassandra.exceptions.RequestExecutionException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial org.apache.cassandra.exceptions.AuthenticationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/service/ClientState;
0 4 1 user Lorg/apache/cassandra/auth/AuthenticatedUser;
3 4 2 e Lorg/apache/cassandra/exceptions/RequestExecutionException;
Exception table:
from to target type
0 1 2 Class org.apache.cassandra.exceptions.RequestExecutionException
MethodParameters:
Name Flags
user
public void hasAllKeyspacesAccess(org.apache.cassandra.auth.Permission);
descriptor: (Lorg/apache/cassandra/auth/Permission;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.service.ClientState.isInternal:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.service.ClientState.validateLogin:()V
3: aload 0
aload 1
invokestatic org.apache.cassandra.auth.DataResource.root:()Lorg/apache/cassandra/auth/DataResource;
invokevirtual org.apache.cassandra.service.ClientState.ensureHasPermission:(Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/IResource;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/service/ClientState;
0 5 1 perm Lorg/apache/cassandra/auth/Permission;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException
MethodParameters:
Name Flags
perm
public void hasKeyspaceAccess(java.lang.String, org.apache.cassandra.auth.Permission);
descriptor: (Ljava/lang/String;Lorg/apache/cassandra/auth/Permission;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 1
invokestatic org.apache.cassandra.auth.DataResource.keyspace:(Ljava/lang/String;)Lorg/apache/cassandra/auth/DataResource;
invokevirtual org.apache.cassandra.service.ClientState.hasAccess:(Ljava/lang/String;Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/DataResource;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/ClientState;
0 2 1 keyspace Ljava/lang/String;
0 2 2 perm Lorg/apache/cassandra/auth/Permission;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
keyspace
perm
public void hasColumnFamilyAccess(java.lang.String, java.lang.String, org.apache.cassandra.auth.Permission);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/auth/Permission;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnFamily:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
pop
1: aload 0
aload 1
aload 3
aload 1
aload 2
invokestatic org.apache.cassandra.auth.DataResource.table:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/auth/DataResource;
invokevirtual org.apache.cassandra.service.ClientState.hasAccess:(Ljava/lang/String;Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/DataResource;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/service/ClientState;
0 3 1 keyspace Ljava/lang/String;
0 3 2 columnFamily Ljava/lang/String;
0 3 3 perm Lorg/apache/cassandra/auth/Permission;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
keyspace
columnFamily
perm
public void hasColumnFamilyAccess(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.auth.Permission);
descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/auth/Permission;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
aload 2
aload 1
getfield org.apache.cassandra.config.CFMetaData.resource:Lorg/apache/cassandra/auth/DataResource;
invokevirtual org.apache.cassandra.service.ClientState.hasAccess:(Ljava/lang/String;Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/DataResource;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/ClientState;
0 2 1 cfm Lorg/apache/cassandra/config/CFMetaData;
0 2 2 perm Lorg/apache/cassandra/auth/Permission;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
cfm
perm
private void hasAccess(java.lang.String, org.apache.cassandra.auth.Permission, org.apache.cassandra.auth.DataResource);
descriptor: (Ljava/lang/String;Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/DataResource;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.apache.cassandra.service.ClientState.validateKeyspace:(Ljava/lang/String;)V
1: aload 0
getfield org.apache.cassandra.service.ClientState.isInternal:Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.service.ClientState.validateLogin:()V
4: aload 0
aload 1
aload 3
aload 2
invokevirtual org.apache.cassandra.service.ClientState.preventSystemKSSchemaModification:(Ljava/lang/String;Lorg/apache/cassandra/auth/DataResource;Lorg/apache/cassandra/auth/Permission;)V
5: aload 2
getstatic org.apache.cassandra.auth.Permission.SELECT:Lorg/apache/cassandra/auth/Permission;
if_acmpne 7
getstatic org.apache.cassandra.service.ClientState.READABLE_SYSTEM_RESOURCES:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 7
6: return
7: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.service.ClientState.PROTECTED_AUTH_RESOURCES:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 10
8: aload 2
getstatic org.apache.cassandra.auth.Permission.CREATE:Lorg/apache/cassandra/auth/Permission;
if_acmpeq 9
aload 2
getstatic org.apache.cassandra.auth.Permission.ALTER:Lorg/apache/cassandra/auth/Permission;
if_acmpeq 9
aload 2
getstatic org.apache.cassandra.auth.Permission.DROP:Lorg/apache/cassandra/auth/Permission;
if_acmpne 10
9: StackMap locals:
StackMap stack:
new org.apache.cassandra.exceptions.UnauthorizedException
dup
ldc "%s schema is protected"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.UnauthorizedException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual org.apache.cassandra.service.ClientState.ensureHasPermission:(Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/IResource;)V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/service/ClientState;
0 12 1 keyspace Ljava/lang/String;
0 12 2 perm Lorg/apache/cassandra/auth/Permission;
0 12 3 resource Lorg/apache/cassandra/auth/DataResource;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
keyspace
perm
resource
public void ensureHasPermission(org.apache.cassandra.auth.Permission, org.apache.cassandra.auth.IResource);
descriptor: (Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/IResource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthorizer:()Lorg/apache/cassandra/auth/IAuthorizer;
invokeinterface org.apache.cassandra.auth.IAuthorizer.requireAuthorization:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
instanceof org.apache.cassandra.auth.FunctionResource
ifeq 5
aload 2
invokeinterface org.apache.cassandra.auth.IResource.hasParent:()Z
ifeq 5
3: aload 2
checkcast org.apache.cassandra.auth.FunctionResource
invokevirtual org.apache.cassandra.auth.FunctionResource.getKeyspace:()Ljava/lang/String;
ldc "system"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.cassandra.service.ClientState.checkPermissionOnResourceChain:(Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/IResource;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/service/ClientState;
0 7 1 perm Lorg/apache/cassandra/auth/Permission;
0 7 2 resource Lorg/apache/cassandra/auth/IResource;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException
MethodParameters:
Name Flags
perm
resource
public void ensureHasPermission(org.apache.cassandra.auth.Permission, org.apache.cassandra.cql3.functions.Function);
descriptor: (Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/cql3/functions/Function;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthorizer:()Lorg/apache/cassandra/auth/IAuthorizer;
invokeinterface org.apache.cassandra.auth.IAuthorizer.requireAuthorization:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.apache.cassandra.cql3.functions.Function.isNative:()Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface org.apache.cassandra.cql3.functions.Function.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
5: aload 2
invokeinterface org.apache.cassandra.cql3.functions.Function.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
6: aload 2
invokeinterface org.apache.cassandra.cql3.functions.Function.argTypes:()Ljava/util/List;
7: invokestatic org.apache.cassandra.auth.FunctionResource.function:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lorg/apache/cassandra/auth/FunctionResource;
invokevirtual org.apache.cassandra.service.ClientState.checkPermissionOnResourceChain:(Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/IResource;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/service/ClientState;
0 9 1 permission Lorg/apache/cassandra/auth/Permission;
0 9 2 function Lorg/apache/cassandra/cql3/functions/Function;
MethodParameters:
Name Flags
permission
function
private void checkPermissionOnResourceChain(org.apache.cassandra.auth.Permission, org.apache.cassandra.auth.IResource);
descriptor: (Lorg/apache/cassandra/auth/Permission;Lorg/apache/cassandra/auth/IResource;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.apache.cassandra.auth.Resources.chain:(Lorg/apache/cassandra/auth/IResource;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.apache.cassandra.service.ClientState org.apache.cassandra.auth.Permission org.apache.cassandra.auth.IResource top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.auth.IResource
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.apache.cassandra.service.ClientState.authorize:(Lorg/apache/cassandra/auth/IResource;)Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 4
3: return
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: new org.apache.cassandra.exceptions.UnauthorizedException
dup
ldc "User %s has no %s permission on %s or any of its parents"
iconst_3
anewarray java.lang.Object
dup
iconst_0
6: aload 0
getfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
invokevirtual org.apache.cassandra.auth.AuthenticatedUser.getName:()Ljava/lang/String;
aastore
dup
iconst_1
7: aload 1
aastore
dup
iconst_2
8: aload 2
aastore
9: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.UnauthorizedException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/service/ClientState;
0 10 1 perm Lorg/apache/cassandra/auth/Permission;
0 10 2 resource Lorg/apache/cassandra/auth/IResource;
2 4 3 r Lorg/apache/cassandra/auth/IResource;
MethodParameters:
Name Flags
perm
resource
private void preventSystemKSSchemaModification(java.lang.String, org.apache.cassandra.auth.DataResource, org.apache.cassandra.auth.Permission);
descriptor: (Ljava/lang/String;Lorg/apache/cassandra/auth/DataResource;Lorg/apache/cassandra/auth/Permission;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getstatic org.apache.cassandra.auth.Permission.ALTER:Lorg/apache/cassandra/auth/Permission;
if_acmpeq 2
aload 3
getstatic org.apache.cassandra.auth.Permission.DROP:Lorg/apache/cassandra/auth/Permission;
if_acmpeq 2
aload 3
getstatic org.apache.cassandra.auth.Permission.CREATE:Lorg/apache/cassandra/auth/Permission;
if_acmpeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.apache.cassandra.config.SchemaConstants.isLocalSystemKeyspace:(Ljava/lang/String;)Z
ifeq 4
3: new org.apache.cassandra.exceptions.UnauthorizedException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " keyspace is not user-modifiable."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.UnauthorizedException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokestatic org.apache.cassandra.config.SchemaConstants.isReplicatedSystemKeyspace:(Ljava/lang/String;)Z
ifeq 10
5: aload 3
getstatic org.apache.cassandra.auth.Permission.ALTER:Lorg/apache/cassandra/auth/Permission;
if_acmpne 7
aload 2
invokevirtual org.apache.cassandra.auth.DataResource.isKeyspaceLevel:()Z
ifeq 7
6: return
7: StackMap locals:
StackMap stack:
aload 3
getstatic org.apache.cassandra.auth.Permission.DROP:Lorg/apache/cassandra/auth/Permission;
if_acmpne 9
getstatic org.apache.cassandra.service.ClientState.DROPPABLE_SYSTEM_AUTH_TABLES:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 9
8: return
9: StackMap locals:
StackMap stack:
new org.apache.cassandra.exceptions.UnauthorizedException
dup
ldc "Cannot %s %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 2
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.exceptions.UnauthorizedException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/service/ClientState;
0 11 1 keyspace Ljava/lang/String;
0 11 2 resource Lorg/apache/cassandra/auth/DataResource;
0 11 3 perm Lorg/apache/cassandra/auth/Permission;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException
MethodParameters:
Name Flags
keyspace
resource
perm
public void validateLogin();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
ifnonnull 2
1: new org.apache.cassandra.exceptions.UnauthorizedException
dup
ldc "You have not logged in"
invokespecial org.apache.cassandra.exceptions.UnauthorizedException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/service/ClientState;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException
public void ensureNotAnonymous();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.service.ClientState.validateLogin:()V
1: aload 0
getfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
invokevirtual org.apache.cassandra.auth.AuthenticatedUser.isAnonymous:()Z
ifeq 3
2: new org.apache.cassandra.exceptions.UnauthorizedException
dup
ldc "You have to be logged in and not anonymous to perform this request"
invokespecial org.apache.cassandra.exceptions.UnauthorizedException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/service/ClientState;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException
public void ensureIsSuper(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthenticator:()Lorg/apache/cassandra/auth/IAuthenticator;
invokeinterface org.apache.cassandra.auth.IAuthenticator.requireAuthentication:()Z
ifeq 2
aload 0
getfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
ifnull 1
aload 0
getfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
invokevirtual org.apache.cassandra.auth.AuthenticatedUser.isSuper:()Z
ifne 2
1: StackMap locals:
StackMap stack:
new org.apache.cassandra.exceptions.UnauthorizedException
dup
aload 1
invokespecial org.apache.cassandra.exceptions.UnauthorizedException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/service/ClientState;
0 3 1 message Ljava/lang/String;
Exceptions:
throws org.apache.cassandra.exceptions.UnauthorizedException
MethodParameters:
Name Flags
message
private static void validateKeyspace(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "You have not set a keyspace for this session"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 keyspace Ljava/lang/String;
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
keyspace
public org.apache.cassandra.auth.AuthenticatedUser getUser();
descriptor: ()Lorg/apache/cassandra/auth/AuthenticatedUser;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/ClientState;
public static org.apache.cassandra.utils.CassandraVersion[] getCQLSupportedVersion();
descriptor: ()[Lorg/apache/cassandra/utils/CassandraVersion;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
anewarray org.apache.cassandra.utils.CassandraVersion
dup
iconst_0
getstatic org.apache.cassandra.cql3.QueryProcessor.CQL_VERSION:Lorg/apache/cassandra/utils/CassandraVersion;
aastore
areturn
LocalVariableTable:
Start End Slot Name Signature
private java.util.Set<org.apache.cassandra.auth.Permission> authorize(org.apache.cassandra.auth.IResource);
descriptor: (Lorg/apache/cassandra/auth/IResource;)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.service.ClientState.user:Lorg/apache/cassandra/auth/AuthenticatedUser;
aload 1
invokevirtual org.apache.cassandra.auth.AuthenticatedUser.getPermissions:(Lorg/apache/cassandra/auth/IResource;)Ljava/util/Set;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/ClientState;
0 1 1 resource Lorg/apache/cassandra/auth/IResource;
Signature: (Lorg/apache/cassandra/auth/IResource;)Ljava/util/Set<Lorg/apache/cassandra/auth/Permission;>;
MethodParameters:
Name Flags
resource
private static void lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.service.ClientState.READABLE_SYSTEM_RESOURCES:Ljava/util/Set;
ldc "system_schema"
aload 0
invokestatic org.apache.cassandra.auth.DataResource.table:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/auth/DataResource;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 table Ljava/lang/String;
}
SourceFile: "ClientState.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles