public class org.apache.cassandra.cql3.statements.CreateViewStatement extends org.apache.cassandra.cql3.statements.SchemaAlteringStatement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.cql3.statements.CreateViewStatement
  super_class: org.apache.cassandra.cql3.statements.SchemaAlteringStatement
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.apache.cassandra.cql3.CFName baseName;
    descriptor: Lorg/apache/cassandra/cql3/CFName;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.apache.cassandra.cql3.selection.RawSelector> selectClause;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/cql3/selection/RawSelector;>;

  private final org.apache.cassandra.cql3.WhereClause whereClause;
    descriptor: Lorg/apache/cassandra/cql3/WhereClause;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.apache.cassandra.config.ColumnDefinition$Raw> partitionKeys;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition$Raw;>;

  private final java.util.List<org.apache.cassandra.config.ColumnDefinition$Raw> clusteringKeys;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition$Raw;>;

  public final org.apache.cassandra.cql3.statements.CFProperties properties;
    descriptor: Lorg/apache/cassandra/cql3/statements/CFProperties;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private final boolean ifNotExists;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 58
            ldc Lorg/apache/cassandra/cql3/statements/CreateViewStatement;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.cql3.statements.CreateViewStatement.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.cql3.CFName, org.apache.cassandra.cql3.CFName, java.util.List<org.apache.cassandra.cql3.selection.RawSelector>, org.apache.cassandra.cql3.WhereClause, java.util.List<org.apache.cassandra.config.ColumnDefinition$Raw>, java.util.List<org.apache.cassandra.config.ColumnDefinition$Raw>, );
    descriptor: (Lorg/apache/cassandra/cql3/CFName;Lorg/apache/cassandra/cql3/CFName;Ljava/util/List;Lorg/apache/cassandra/cql3/WhereClause;Ljava/util/List;Ljava/util/List;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=8
        start local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
        start local 1 // org.apache.cassandra.cql3.CFName viewName
        start local 2 // org.apache.cassandra.cql3.CFName baseName
        start local 3 // java.util.List selectClause
        start local 4 // org.apache.cassandra.cql3.WhereClause whereClause
        start local 5 // java.util.List partitionKeys
        start local 6 // java.util.List clusteringKeys
        start local 7 // boolean ifNotExists
         0: .line 76
            aload 0 /* this */
            aload 1 /* viewName */
            invokespecial org.apache.cassandra.cql3.statements.SchemaAlteringStatement.<init>:(Lorg/apache/cassandra/cql3/CFName;)V
         1: .line 65
            aload 0 /* this */
            new org.apache.cassandra.cql3.statements.CFProperties
            dup
            invokespecial org.apache.cassandra.cql3.statements.CFProperties.<init>:()V
            putfield org.apache.cassandra.cql3.statements.CreateViewStatement.properties:Lorg/apache/cassandra/cql3/statements/CFProperties;
         2: .line 77
            aload 0 /* this */
            aload 2 /* baseName */
            putfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
         3: .line 78
            aload 0 /* this */
            aload 3 /* selectClause */
            putfield org.apache.cassandra.cql3.statements.CreateViewStatement.selectClause:Ljava/util/List;
         4: .line 79
            aload 0 /* this */
            aload 4 /* whereClause */
            putfield org.apache.cassandra.cql3.statements.CreateViewStatement.whereClause:Lorg/apache/cassandra/cql3/WhereClause;
         5: .line 80
            aload 0 /* this */
            aload 5 /* partitionKeys */
            putfield org.apache.cassandra.cql3.statements.CreateViewStatement.partitionKeys:Ljava/util/List;
         6: .line 81
            aload 0 /* this */
            aload 6 /* clusteringKeys */
            putfield org.apache.cassandra.cql3.statements.CreateViewStatement.clusteringKeys:Ljava/util/List;
         7: .line 82
            aload 0 /* this */
            iload 7 /* ifNotExists */
            putfield org.apache.cassandra.cql3.statements.CreateViewStatement.ifNotExists:Z
         8: .line 83
            return
        end local 7 // boolean ifNotExists
        end local 6 // java.util.List clusteringKeys
        end local 5 // java.util.List partitionKeys
        end local 4 // org.apache.cassandra.cql3.WhereClause whereClause
        end local 3 // java.util.List selectClause
        end local 2 // org.apache.cassandra.cql3.CFName baseName
        end local 1 // org.apache.cassandra.cql3.CFName viewName
        end local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/apache/cassandra/cql3/statements/CreateViewStatement;
            0    9     1        viewName  Lorg/apache/cassandra/cql3/CFName;
            0    9     2        baseName  Lorg/apache/cassandra/cql3/CFName;
            0    9     3    selectClause  Ljava/util/List<Lorg/apache/cassandra/cql3/selection/RawSelector;>;
            0    9     4     whereClause  Lorg/apache/cassandra/cql3/WhereClause;
            0    9     5   partitionKeys  Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition$Raw;>;
            0    9     6  clusteringKeys  Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition$Raw;>;
            0    9     7     ifNotExists  Z
    Signature: (Lorg/apache/cassandra/cql3/CFName;Lorg/apache/cassandra/cql3/CFName;Ljava/util/List<Lorg/apache/cassandra/cql3/selection/RawSelector;>;Lorg/apache/cassandra/cql3/WhereClause;Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition$Raw;>;Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition$Raw;>;Z)V
    MethodParameters:
                Name  Flags
      viewName        
      baseName        
      selectClause    
      whereClause     
      partitionKeys   
      clusteringKeys  
      ifNotExists     

  public void checkAccess(org.apache.cassandra.service.ClientState);
    descriptor: (Lorg/apache/cassandra/service/ClientState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
        start local 1 // org.apache.cassandra.service.ClientState state
         0: .line 88
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.hasKeyspace:()Z
            ifne 2
         1: .line 89
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.keyspace:()Ljava/lang/String;
            iconst_1
            invokevirtual org.apache.cassandra.cql3.CFName.setKeyspace:(Ljava/lang/String;Z)V
         2: .line 90
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.keyspace:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.getColumnFamily:()Ljava/lang/String;
            getstatic org.apache.cassandra.auth.Permission.ALTER:Lorg/apache/cassandra/auth/Permission;
            invokevirtual org.apache.cassandra.service.ClientState.hasColumnFamilyAccess:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/auth/Permission;)V
         3: .line 91
            return
        end local 1 // org.apache.cassandra.service.ClientState state
        end local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/cassandra/cql3/statements/CreateViewStatement;
            0    4     1  state  Lorg/apache/cassandra/service/ClientState;
    Exceptions:
      throws org.apache.cassandra.exceptions.UnauthorizedException, org.apache.cassandra.exceptions.InvalidRequestException
    MethodParameters:
       Name  Flags
      state  

  public void validate(org.apache.cassandra.service.ClientState);
    descriptor: (Lorg/apache/cassandra/service/ClientState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
        start local 1 // org.apache.cassandra.service.ClientState state
         0: .line 96
            return
        end local 1 // org.apache.cassandra.service.ClientState state
        end local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/cassandra/cql3/statements/CreateViewStatement;
            0    1     1  state  Lorg/apache/cassandra/service/ClientState;
    Exceptions:
      throws org.apache.cassandra.exceptions.RequestValidationException
    MethodParameters:
       Name  Flags
      state  

  private void add(org.apache.cassandra.config.CFMetaData, java.lang.Iterable<org.apache.cassandra.cql3.ColumnIdentifier>, org.apache.cassandra.cql3.statements.CreateViewStatement$AddColumn);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/lang/Iterable;Lorg/apache/cassandra/cql3/statements/CreateViewStatement$AddColumn;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
        start local 1 // org.apache.cassandra.config.CFMetaData baseCfm
        start local 2 // java.lang.Iterable columns
        start local 3 // org.apache.cassandra.cql3.statements.CreateViewStatement$AddColumn adder
         0: .line 105
            aload 2 /* columns */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.config.CFMetaData java.lang.Iterable org.apache.cassandra.cql3.statements.CreateViewStatement$AddColumn top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.ColumnIdentifier
            astore 4 /* column */
        start local 4 // org.apache.cassandra.cql3.ColumnIdentifier column
         2: .line 107
            aload 1 /* baseCfm */
            aload 4 /* column */
            invokevirtual org.apache.cassandra.config.CFMetaData.getColumnDefinition:(Lorg/apache/cassandra/cql3/ColumnIdentifier;)Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            astore 6 /* type */
        start local 6 // org.apache.cassandra.db.marshal.AbstractType type
         3: .line 108
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.properties:Lorg/apache/cassandra/cql3/statements/CFProperties;
            getfield org.apache.cassandra.cql3.statements.CFProperties.definedOrdering:Ljava/util/Map;
            aload 4 /* column */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 10
         4: .line 110
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.properties:Lorg/apache/cassandra/cql3/statements/CFProperties;
            getfield org.apache.cassandra.cql3.statements.CFProperties.definedOrdering:Ljava/util/Map;
            aload 4 /* column */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 7 /* desc */
        start local 7 // boolean desc
         5: .line 111
            iload 7 /* desc */
            ifne 8
            aload 6 /* type */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isReversed:()Z
            ifeq 8
         6: .line 113
            aload 6 /* type */
            checkcast org.apache.cassandra.db.marshal.ReversedType
            getfield org.apache.cassandra.db.marshal.ReversedType.baseType:Lorg/apache/cassandra/db/marshal/AbstractType;
            astore 6 /* type */
         7: .line 114
            goto 10
         8: .line 115
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.config.CFMetaData java.lang.Iterable org.apache.cassandra.cql3.statements.CreateViewStatement$AddColumn org.apache.cassandra.cql3.ColumnIdentifier java.util.Iterator org.apache.cassandra.db.marshal.AbstractType int
      StackMap stack:
            iload 7 /* desc */
            ifeq 10
            aload 6 /* type */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isReversed:()Z
            ifne 10
         9: .line 117
            aload 6 /* type */
            invokestatic org.apache.cassandra.db.marshal.ReversedType.getInstance:(Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/db/marshal/ReversedType;
            astore 6 /* type */
        end local 7 // boolean desc
        10: .line 120
      StackMap locals:
      StackMap stack:
            aload 3 /* adder */
            aload 4 /* column */
            aload 6 /* type */
            invokeinterface org.apache.cassandra.cql3.statements.CreateViewStatement$AddColumn.add:(Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)V
        end local 6 // org.apache.cassandra.db.marshal.AbstractType type
        end local 4 // org.apache.cassandra.cql3.ColumnIdentifier column
        11: .line 105
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.config.CFMetaData java.lang.Iterable org.apache.cassandra.cql3.statements.CreateViewStatement$AddColumn top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        12: .line 122
            return
        end local 3 // org.apache.cassandra.cql3.statements.CreateViewStatement$AddColumn adder
        end local 2 // java.lang.Iterable columns
        end local 1 // org.apache.cassandra.config.CFMetaData baseCfm
        end local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/apache/cassandra/cql3/statements/CreateViewStatement;
            0   13     1  baseCfm  Lorg/apache/cassandra/config/CFMetaData;
            0   13     2  columns  Ljava/lang/Iterable<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
            0   13     3    adder  Lorg/apache/cassandra/cql3/statements/CreateViewStatement$AddColumn;
            2   11     4   column  Lorg/apache/cassandra/cql3/ColumnIdentifier;
            3   11     6     type  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
            5   10     7     desc  Z
    Signature: (Lorg/apache/cassandra/config/CFMetaData;Ljava/lang/Iterable<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;Lorg/apache/cassandra/cql3/statements/CreateViewStatement$AddColumn;)V
    MethodParameters:
         Name  Flags
      baseCfm  
      columns  
      adder    

  public org.apache.cassandra.transport.Event$SchemaChange announceMigration(org.apache.cassandra.service.QueryState, boolean);
    descriptor: (Lorg/apache/cassandra/service/QueryState;Z)Lorg/apache/cassandra/transport/Event$SchemaChange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=31, args_size=3
        start local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
        start local 1 // org.apache.cassandra.service.QueryState queryState
        start local 2 // boolean isLocalOnly
         0: .line 126
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEnableMaterializedViews:()Z
            ifne 2
         1: .line 128
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Materialized views are disabled. Enable in cassandra.yaml to use."
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.properties:Lorg/apache/cassandra/cql3/statements/CFProperties;
            invokevirtual org.apache.cassandra.cql3.statements.CFProperties.validate:()V
         3: .line 142
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.properties:Lorg/apache/cassandra/cql3/statements/CFProperties;
            getfield org.apache.cassandra.cql3.statements.CFProperties.useCompactStorage:Z
            ifeq 5
         4: .line 143
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot use 'COMPACT STORAGE' when defining a materialized view"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.getKeyspace:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.keyspace:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 148
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot create a materialized view on a table in a separate keyspace"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.getKeyspace:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.getColumnFamily:()Ljava/lang/String;
            invokestatic org.apache.cassandra.thrift.ThriftValidation.validateColumnFamily:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
            astore 3 /* cfm */
        start local 3 // org.apache.cassandra.config.CFMetaData cfm
         8: .line 152
            aload 3 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.isCounter:()Z
            ifeq 10
         9: .line 153
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Materialized views are not supported on counter tables"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 154
      StackMap locals: org.apache.cassandra.config.CFMetaData
      StackMap stack:
            aload 3 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.isSuper:()Z
            ifeq 12
        11: .line 155
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Materialized views are not supported on SuperColumn tables"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 156
      StackMap locals:
      StackMap stack:
            aload 3 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.isView:()Z
            ifeq 14
        13: .line 157
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Materialized views cannot be created against other materialized views"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 159
      StackMap locals:
      StackMap stack:
            aload 3 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.params:Lorg/apache/cassandra/schema/TableParams;
            getfield org.apache.cassandra.schema.TableParams.gcGraceSeconds:I
            ifne 19
        15: .line 161
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot create materialized view '%s' for base table '%s' with gc_grace_seconds of 0, since this value is used to TTL undelivered updates. Setting gc_grace_seconds too low might cause undelivered updates to expire before being replayed."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        16: .line 165
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.cfName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.getColumnFamily:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        17: .line 166
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.getColumnFamily:()Ljava/lang/String;
            aastore
        18: .line 161
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.selectClause:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokestatic com.google.common.collect.Sets.newHashSetWithExpectedSize:(I)Ljava/util/HashSet;
            astore 4 /* included */
        start local 4 // java.util.Set included
        20: .line 170
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.selectClause:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 36
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set top java.util.Iterator
      StackMap stack:
        21: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.selection.RawSelector
            astore 5 /* selector */
        start local 5 // org.apache.cassandra.cql3.selection.RawSelector selector
        22: .line 172
            aload 5 /* selector */
            getfield org.apache.cassandra.cql3.selection.RawSelector.selectable:Lorg/apache/cassandra/cql3/selection/Selectable$Raw;
            astore 7 /* selectable */
        start local 7 // org.apache.cassandra.cql3.selection.Selectable$Raw selectable
        23: .line 173
            aload 7 /* selectable */
            instanceof org.apache.cassandra.cql3.selection.Selectable$WithFieldSelection$Raw
            ifeq 25
        24: .line 174
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot select out a part of type when defining a materialized view"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 175
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set org.apache.cassandra.cql3.selection.RawSelector java.util.Iterator org.apache.cassandra.cql3.selection.Selectable$Raw
      StackMap stack:
            aload 7 /* selectable */
            instanceof org.apache.cassandra.cql3.selection.Selectable$WithFunction$Raw
            ifeq 27
        26: .line 176
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot use function when defining a materialized view"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 177
      StackMap locals:
      StackMap stack:
            aload 7 /* selectable */
            instanceof org.apache.cassandra.cql3.selection.Selectable$WritetimeOrTTL$Raw
            ifeq 29
        28: .line 178
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot use function when defining a materialized view"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 179
      StackMap locals:
      StackMap stack:
            aload 5 /* selector */
            getfield org.apache.cassandra.cql3.selection.RawSelector.alias:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            ifnull 31
        30: .line 180
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot use alias when defining a materialized view"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 182
      StackMap locals:
      StackMap stack:
            aload 7 /* selectable */
            aload 3 /* cfm */
            invokevirtual org.apache.cassandra.cql3.selection.Selectable$Raw.prepare:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/cql3/selection/Selectable;
            astore 8 /* s */
        start local 8 // org.apache.cassandra.cql3.selection.Selectable s
        32: .line 183
            aload 8 /* s */
            instanceof org.apache.cassandra.cql3.Term$Raw
            ifeq 34
        33: .line 184
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot use terms in selection when defining a materialized view"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 186
      StackMap locals: org.apache.cassandra.cql3.selection.Selectable
      StackMap stack:
            aload 8 /* s */
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 9 /* cdef */
        start local 9 // org.apache.cassandra.config.ColumnDefinition cdef
        35: .line 187
            aload 4 /* included */
            aload 9 /* cdef */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.apache.cassandra.config.ColumnDefinition cdef
        end local 8 // org.apache.cassandra.cql3.selection.Selectable s
        end local 7 // org.apache.cassandra.cql3.selection.Selectable$Raw selectable
        end local 5 // org.apache.cassandra.cql3.selection.RawSelector selector
        36: .line 170
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        37: .line 190
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* targetPrimaryKeys */
        start local 5 // java.util.Set targetPrimaryKeys
        38: .line 191
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.partitionKeys:Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.clusteringKeys:Ljava/util/List;
            invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 49
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        39: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition$Raw
            astore 6 /* identifier */
        start local 6 // org.apache.cassandra.config.ColumnDefinition$Raw identifier
        40: .line 193
            aload 5 /* targetPrimaryKeys */
            aload 6 /* identifier */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 42
        41: .line 194
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Duplicate entry found in PRIMARY KEY: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* identifier */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 196
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set org.apache.cassandra.config.ColumnDefinition$Raw java.util.Iterator
      StackMap stack:
            aload 6 /* identifier */
            aload 3 /* cfm */
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Raw.prepare:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/config/ColumnDefinition;
            astore 8 /* cdef */
        start local 8 // org.apache.cassandra.config.ColumnDefinition cdef
        43: .line 198
            aload 8 /* cdef */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.isMultiCell:()Z
            ifeq 45
        44: .line 199
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot use MultiCell column '%s' in PRIMARY KEY of materialized view"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* identifier */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 201
      StackMap locals: org.apache.cassandra.config.ColumnDefinition
      StackMap stack:
            aload 8 /* cdef */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isStatic:()Z
            ifeq 47
        46: .line 202
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot use Static column '%s' in PRIMARY KEY of materialized view"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* identifier */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 204
      StackMap locals:
      StackMap stack:
            aload 8 /* cdef */
            getfield org.apache.cassandra.config.ColumnDefinition.type:Lorg/apache/cassandra/db/marshal/AbstractType;
            instanceof org.apache.cassandra.db.marshal.DurationType
            ifeq 49
        48: .line 205
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot use Duration column '%s' in PRIMARY KEY of materialized view"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* identifier */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // org.apache.cassandra.config.ColumnDefinition cdef
        end local 6 // org.apache.cassandra.config.ColumnDefinition$Raw identifier
        49: .line 191
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 39
        50: .line 209
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            astore 6 /* orderings */
        start local 6 // java.util.Map orderings
        51: .line 210
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            astore 7 /* groups */
        start local 7 // java.util.List groups
        52: .line 211
            new org.apache.cassandra.cql3.statements.SelectStatement$Parameters
            dup
            aload 6 /* orderings */
            aload 7 /* groups */
            iconst_0
            iconst_1
            iconst_0
            invokespecial org.apache.cassandra.cql3.statements.SelectStatement$Parameters.<init>:(Ljava/util/Map;Ljava/util/List;ZZZ)V
            astore 8 /* parameters */
        start local 8 // org.apache.cassandra.cql3.statements.SelectStatement$Parameters parameters
        53: .line 213
            new org.apache.cassandra.cql3.statements.SelectStatement$RawStatement
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            aload 8 /* parameters */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.selectClause:Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.whereClause:Lorg/apache/cassandra/cql3/WhereClause;
            aconst_null
            aconst_null
            invokespecial org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.<init>:(Lorg/apache/cassandra/cql3/CFName;Lorg/apache/cassandra/cql3/statements/SelectStatement$Parameters;Ljava/util/List;Lorg/apache/cassandra/cql3/WhereClause;Lorg/apache/cassandra/cql3/Term$Raw;Lorg/apache/cassandra/cql3/Term$Raw;)V
            astore 9 /* rawSelect */
        start local 9 // org.apache.cassandra.cql3.statements.SelectStatement$RawStatement rawSelect
        54: .line 215
            invokestatic org.apache.cassandra.service.ClientState.forInternalCalls:()Lorg/apache/cassandra/service/ClientState;
            astore 10 /* state */
        start local 10 // org.apache.cassandra.service.ClientState state
        55: .line 216
            aload 10 /* state */
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.keyspace:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.ClientState.setKeyspace:(Ljava/lang/String;)V
        56: .line 218
            aload 9 /* rawSelect */
            aload 10 /* state */
            invokevirtual org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepareKeyspace:(Lorg/apache/cassandra/service/ClientState;)V
        57: .line 219
            aload 9 /* rawSelect */
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.getBoundVariables:()Lorg/apache/cassandra/cql3/VariableSpecifications;
            invokevirtual org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.setBoundVariables:(Lorg/apache/cassandra/cql3/VariableSpecifications;)V
        58: .line 221
            aload 9 /* rawSelect */
            iconst_1
            aload 1 /* queryState */
            invokevirtual org.apache.cassandra.service.QueryState.getClientState:()Lorg/apache/cassandra/service/ClientState;
            invokevirtual org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare:(ZLorg/apache/cassandra/service/ClientState;)Lorg/apache/cassandra/cql3/statements/ParsedStatement$Prepared;
            astore 11 /* prepared */
        start local 11 // org.apache.cassandra.cql3.statements.ParsedStatement$Prepared prepared
        59: .line 222
            aload 11 /* prepared */
            getfield org.apache.cassandra.cql3.statements.ParsedStatement$Prepared.statement:Lorg/apache/cassandra/cql3/CQLStatement;
            checkcast org.apache.cassandra.cql3.statements.SelectStatement
            astore 12 /* select */
        start local 12 // org.apache.cassandra.cql3.statements.SelectStatement select
        60: .line 223
            aload 12 /* select */
            invokevirtual org.apache.cassandra.cql3.statements.SelectStatement.getRestrictions:()Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;
            astore 13 /* restrictions */
        start local 13 // org.apache.cassandra.cql3.restrictions.StatementRestrictions restrictions
        61: .line 225
            aload 11 /* prepared */
            getfield org.apache.cassandra.cql3.statements.ParsedStatement$Prepared.boundNames:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 63
        62: .line 226
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot use query parameters in CREATE MATERIALIZED VIEW statements"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        63: .line 229
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set java.util.Map java.util.List org.apache.cassandra.cql3.statements.SelectStatement$Parameters org.apache.cassandra.cql3.statements.SelectStatement$RawStatement org.apache.cassandra.service.ClientState org.apache.cassandra.cql3.statements.ParsedStatement$Prepared org.apache.cassandra.cql3.statements.SelectStatement org.apache.cassandra.cql3.restrictions.StatementRestrictions
      StackMap stack:
            ldc "cassandra.mv.allow_filtering_nonkey_columns_unsafe"
        64: .line 230
            ldc "false"
        65: .line 229
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 14 /* allowFilteringNonKeyColumns */
        start local 14 // boolean allowFilteringNonKeyColumns
        66: .line 231
            aload 13 /* restrictions */
            iconst_0
            invokevirtual org.apache.cassandra.cql3.restrictions.StatementRestrictions.nonPKRestrictedColumns:(Z)Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 75
            iload 14 /* allowFilteringNonKeyColumns */
            ifne 75
        67: .line 233
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
        68: .line 234
            ldc "Non-primary key columns cannot be restricted in the SELECT statement used for materialized view creation (got restrictions on: %s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        69: .line 236
            aload 13 /* restrictions */
            iconst_0
            invokevirtual org.apache.cassandra.cql3.restrictions.StatementRestrictions.nonPKRestrictedColumns:(Z)Ljava/util/Set;
        70: .line 237
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        71: .line 238
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  org/apache/cassandra/cql3/statements/CreateViewStatement.lambda$0(Lorg/apache/cassandra/config/ColumnDefinition;)Ljava/lang/String; (6)
                  (Lorg/apache/cassandra/config/ColumnDefinition;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        72: .line 239
            ldc ", "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            aastore
        73: .line 234
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        74: .line 233
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        75: .line 242
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.whereClause:Lorg/apache/cassandra/cql3/WhereClause;
            getfield org.apache.cassandra.cql3.WhereClause.relations:Ljava/util/List;
            invokestatic org.apache.cassandra.db.view.View.relationsToWhereClause:(Ljava/util/List;)Ljava/lang/String;
            astore 15 /* whereClauseText */
        start local 15 // java.lang.String whereClauseText
        76: .line 244
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 16 /* basePrimaryKeyCols */
        start local 16 // java.util.Set basePrimaryKeyCols
        77: .line 245
            aload 3 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.partitionKeyColumns:()Ljava/util/List;
            aload 3 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.clusteringColumns:()Ljava/util/List;
            invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 18
            goto 80
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set java.util.Map java.util.List org.apache.cassandra.cql3.statements.SelectStatement$Parameters org.apache.cassandra.cql3.statements.SelectStatement$RawStatement org.apache.cassandra.service.ClientState org.apache.cassandra.cql3.statements.ParsedStatement$Prepared org.apache.cassandra.cql3.statements.SelectStatement org.apache.cassandra.cql3.restrictions.StatementRestrictions int java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
        78: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 17 /* definition */
        start local 17 // org.apache.cassandra.config.ColumnDefinition definition
        79: .line 246
            aload 16 /* basePrimaryKeyCols */
            aload 17 /* definition */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // org.apache.cassandra.config.ColumnDefinition definition
        80: .line 245
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 78
        81: .line 248
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 17 /* targetClusteringColumns */
        start local 17 // java.util.List targetClusteringColumns
        82: .line 249
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 18 /* targetPartitionKeys */
        start local 18 // java.util.List targetPartitionKeys
        83: .line 252
            iconst_0
            istore 19 /* hasNonPKColumn */
        start local 19 // boolean hasNonPKColumn
        84: .line 253
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.partitionKeys:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 21
            goto 87
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set java.util.Map java.util.List org.apache.cassandra.cql3.statements.SelectStatement$Parameters org.apache.cassandra.cql3.statements.SelectStatement$RawStatement org.apache.cassandra.service.ClientState org.apache.cassandra.cql3.statements.ParsedStatement$Prepared org.apache.cassandra.cql3.statements.SelectStatement org.apache.cassandra.cql3.restrictions.StatementRestrictions int java.lang.String java.util.Set java.util.List java.util.List int top java.util.Iterator
      StackMap stack:
        85: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition$Raw
            astore 20 /* raw */
        start local 20 // org.apache.cassandra.config.ColumnDefinition$Raw raw
        86: .line 254
            iload 19 /* hasNonPKColumn */
            aload 3 /* cfm */
            aload 16 /* basePrimaryKeyCols */
            iload 19 /* hasNonPKColumn */
            aload 20 /* raw */
            aload 18 /* targetPartitionKeys */
            aload 13 /* restrictions */
            invokestatic org.apache.cassandra.cql3.statements.CreateViewStatement.getColumnIdentifier:(Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Set;ZLorg/apache/cassandra/config/ColumnDefinition$Raw;Ljava/util/List;Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;)Z
            ior
            istore 19 /* hasNonPKColumn */
        end local 20 // org.apache.cassandra.config.ColumnDefinition$Raw raw
        87: .line 253
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 85
        88: .line 256
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.clusteringKeys:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 21
            goto 91
      StackMap locals:
      StackMap stack:
        89: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition$Raw
            astore 20 /* raw */
        start local 20 // org.apache.cassandra.config.ColumnDefinition$Raw raw
        90: .line 257
            iload 19 /* hasNonPKColumn */
            aload 3 /* cfm */
            aload 16 /* basePrimaryKeyCols */
            iload 19 /* hasNonPKColumn */
            aload 20 /* raw */
            aload 17 /* targetClusteringColumns */
            aload 13 /* restrictions */
            invokestatic org.apache.cassandra.cql3.statements.CreateViewStatement.getColumnIdentifier:(Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Set;ZLorg/apache/cassandra/config/ColumnDefinition$Raw;Ljava/util/List;Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;)Z
            ior
            istore 19 /* hasNonPKColumn */
        end local 20 // org.apache.cassandra.config.ColumnDefinition$Raw raw
        91: .line 256
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 89
        92: .line 264
            iconst_0
            istore 20 /* missingClusteringColumns */
        start local 20 // boolean missingClusteringColumns
        93: .line 265
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 21 /* columnNames */
        start local 21 // java.lang.StringBuilder columnNames
        94: .line 266
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 22 /* includedColumns */
        start local 22 // java.util.List includedColumns
        95: .line 267
            aload 3 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.allColumns:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 24
            goto 116
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set java.util.Map java.util.List org.apache.cassandra.cql3.statements.SelectStatement$Parameters org.apache.cassandra.cql3.statements.SelectStatement$RawStatement org.apache.cassandra.service.ClientState org.apache.cassandra.cql3.statements.ParsedStatement$Prepared org.apache.cassandra.cql3.statements.SelectStatement org.apache.cassandra.cql3.restrictions.StatementRestrictions int java.lang.String java.util.Set java.util.List java.util.List int int java.lang.StringBuilder java.util.List top java.util.Iterator
      StackMap stack:
        96: aload 24
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 23 /* def */
        start local 23 // org.apache.cassandra.config.ColumnDefinition def
        97: .line 269
            aload 23 /* def */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            astore 25 /* identifier */
        start local 25 // org.apache.cassandra.cql3.ColumnIdentifier identifier
        98: .line 270
            aload 4 /* included */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 99
            aload 4 /* included */
            aload 25 /* identifier */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 99
            iconst_0
            goto 100
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set java.util.Map java.util.List org.apache.cassandra.cql3.statements.SelectStatement$Parameters org.apache.cassandra.cql3.statements.SelectStatement$RawStatement org.apache.cassandra.service.ClientState org.apache.cassandra.cql3.statements.ParsedStatement$Prepared org.apache.cassandra.cql3.statements.SelectStatement org.apache.cassandra.cql3.restrictions.StatementRestrictions int java.lang.String java.util.Set java.util.List java.util.List int int java.lang.StringBuilder java.util.List org.apache.cassandra.config.ColumnDefinition java.util.Iterator org.apache.cassandra.cql3.ColumnIdentifier
      StackMap stack:
        99: iconst_1
      StackMap locals:
      StackMap stack: int
       100: istore 26 /* includeDef */
        start local 26 // boolean includeDef
       101: .line 272
            iload 26 /* includeDef */
            ifeq 103
            aload 23 /* def */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isStatic:()Z
            ifeq 103
       102: .line 274
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Unable to include static column '%s' which would be included by Materialized View SELECT * statement"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 25 /* identifier */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
       103: .line 277
      StackMap locals: int
      StackMap stack:
            aload 17 /* targetClusteringColumns */
            aload 25 /* identifier */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 106
       104: .line 278
            aload 18 /* targetPartitionKeys */
            aload 25 /* identifier */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 106
       105: .line 277
            iconst_0
            goto 107
      StackMap locals:
      StackMap stack:
       106: iconst_1
      StackMap locals:
      StackMap stack: int
       107: istore 27 /* defInTargetPrimaryKey */
        start local 27 // boolean defInTargetPrimaryKey
       108: .line 280
            iload 26 /* includeDef */
            ifeq 110
            iload 27 /* defInTargetPrimaryKey */
            ifne 110
       109: .line 282
            aload 22 /* includedColumns */
            aload 25 /* identifier */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       110: .line 284
      StackMap locals: int
      StackMap stack:
            aload 23 /* def */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPrimaryKeyColumn:()Z
            ifne 111
            goto 116
       111: .line 286
      StackMap locals:
      StackMap stack:
            iload 27 /* defInTargetPrimaryKey */
            ifne 116
       112: .line 288
            iload 20 /* missingClusteringColumns */
            ifeq 114
       113: .line 289
            aload 21 /* columnNames */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
            goto 115
       114: .line 291
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 20 /* missingClusteringColumns */
       115: .line 292
      StackMap locals:
      StackMap stack:
            aload 21 /* columnNames */
            aload 25 /* identifier */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 27 // boolean defInTargetPrimaryKey
        end local 26 // boolean includeDef
        end local 25 // org.apache.cassandra.cql3.ColumnIdentifier identifier
        end local 23 // org.apache.cassandra.config.ColumnDefinition def
       116: .line 267
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set java.util.Map java.util.List org.apache.cassandra.cql3.statements.SelectStatement$Parameters org.apache.cassandra.cql3.statements.SelectStatement$RawStatement org.apache.cassandra.service.ClientState org.apache.cassandra.cql3.statements.ParsedStatement$Prepared org.apache.cassandra.cql3.statements.SelectStatement org.apache.cassandra.cql3.restrictions.StatementRestrictions int java.lang.String java.util.Set java.util.List java.util.List int int java.lang.StringBuilder java.util.List top java.util.Iterator
      StackMap stack:
            aload 24
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 96
       117: .line 295
            iload 20 /* missingClusteringColumns */
            ifeq 121
       118: .line 296
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot create Materialized View %s without primary key columns from base %s (%s)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       119: .line 297
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.columnFamily:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.getColumnFamily:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 21 /* columnNames */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
       120: .line 296
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
       121: .line 299
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set java.util.Map java.util.List org.apache.cassandra.cql3.statements.SelectStatement$Parameters org.apache.cassandra.cql3.statements.SelectStatement$RawStatement org.apache.cassandra.service.ClientState org.apache.cassandra.cql3.statements.ParsedStatement$Prepared org.apache.cassandra.cql3.statements.SelectStatement org.apache.cassandra.cql3.restrictions.StatementRestrictions int java.lang.String java.util.Set java.util.List java.util.List int int java.lang.StringBuilder java.util.List
      StackMap stack:
            aload 18 /* targetPartitionKeys */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 123
       122: .line 300
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Must select at least a column for a Materialized View"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
       123: .line 302
      StackMap locals:
      StackMap stack:
            aload 17 /* targetClusteringColumns */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 125
       124: .line 303
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "No columns are defined for Materialized View other than primary key"
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
       125: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.properties:Lorg/apache/cassandra/cql3/statements/CFProperties;
            getfield org.apache.cassandra.cql3.statements.CFProperties.properties:Lorg/apache/cassandra/cql3/statements/TableAttributes;
            invokevirtual org.apache.cassandra.cql3.statements.TableAttributes.asNewTableParams:()Lorg/apache/cassandra/schema/TableParams;
            astore 23 /* params */
        start local 23 // org.apache.cassandra.schema.TableParams params
       126: .line 307
            aload 23 /* params */
            getfield org.apache.cassandra.schema.TableParams.defaultTimeToLive:I
            ifle 128
       127: .line 309
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot set default_time_to_live for a materialized view. Data in a materialized view always expire at the same time than the corresponding data in the parent table."
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
       128: .line 314
      StackMap locals: org.apache.cassandra.schema.TableParams
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.keyspace:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.columnFamily:()Ljava/lang/String;
            invokestatic org.apache.cassandra.config.CFMetaData$Builder.createView:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData$Builder;
            astore 24 /* cfmBuilder */
        start local 24 // org.apache.cassandra.config.CFMetaData$Builder cfmBuilder
       129: .line 315
            aload 0 /* this */
            aload 3 /* cfm */
            aload 18 /* targetPartitionKeys */
            aload 24 /* cfmBuilder */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic add(Lorg/apache/cassandra/config/CFMetaData$Builder;)Lorg/apache/cassandra/cql3/statements/CreateViewStatement$AddColumn;
              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:
                  (Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)V
                  org/apache/cassandra/config/CFMetaData$Builder.addPartitionKey(Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/config/CFMetaData$Builder; (5)
                  (Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)V
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.add:(Lorg/apache/cassandra/config/CFMetaData;Ljava/lang/Iterable;Lorg/apache/cassandra/cql3/statements/CreateViewStatement$AddColumn;)V
       130: .line 316
            aload 0 /* this */
            aload 3 /* cfm */
            aload 17 /* targetClusteringColumns */
            aload 24 /* cfmBuilder */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic add(Lorg/apache/cassandra/config/CFMetaData$Builder;)Lorg/apache/cassandra/cql3/statements/CreateViewStatement$AddColumn;
              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:
                  (Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)V
                  org/apache/cassandra/config/CFMetaData$Builder.addClusteringColumn(Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/config/CFMetaData$Builder; (5)
                  (Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)V
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.add:(Lorg/apache/cassandra/config/CFMetaData;Ljava/lang/Iterable;Lorg/apache/cassandra/cql3/statements/CreateViewStatement$AddColumn;)V
       131: .line 317
            aload 0 /* this */
            aload 3 /* cfm */
            aload 22 /* includedColumns */
            aload 24 /* cfmBuilder */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic add(Lorg/apache/cassandra/config/CFMetaData$Builder;)Lorg/apache/cassandra/cql3/statements/CreateViewStatement$AddColumn;
              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:
                  (Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)V
                  org/apache/cassandra/config/CFMetaData$Builder.addRegularColumn(Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/config/CFMetaData$Builder; (5)
                  (Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;)V
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.add:(Lorg/apache/cassandra/config/CFMetaData;Ljava/lang/Iterable;Lorg/apache/cassandra/cql3/statements/CreateViewStatement$AddColumn;)V
       132: .line 318
            aload 24 /* cfmBuilder */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.properties:Lorg/apache/cassandra/cql3/statements/CFProperties;
            getfield org.apache.cassandra.cql3.statements.CFProperties.properties:Lorg/apache/cassandra/cql3/statements/TableAttributes;
            invokevirtual org.apache.cassandra.cql3.statements.TableAttributes.getId:()Ljava/util/UUID;
            invokevirtual org.apache.cassandra.config.CFMetaData$Builder.withId:(Ljava/util/UUID;)Lorg/apache/cassandra/config/CFMetaData$Builder;
            pop
       133: .line 320
            aload 24 /* cfmBuilder */
            invokevirtual org.apache.cassandra.config.CFMetaData$Builder.build:()Lorg/apache/cassandra/config/CFMetaData;
            aload 23 /* params */
            invokevirtual org.apache.cassandra.config.CFMetaData.params:(Lorg/apache/cassandra/schema/TableParams;)Lorg/apache/cassandra/config/CFMetaData;
            astore 28 /* viewCfm */
        start local 28 // org.apache.cassandra.config.CFMetaData viewCfm
       134: .line 321
            new org.apache.cassandra.config.ViewDefinition
            dup
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.keyspace:()Ljava/lang/String;
       135: .line 322
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.columnFamily:()Ljava/lang/String;
       136: .line 323
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.keyspace:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.getColumnFamily:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getId:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/UUID;
       137: .line 324
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.baseName:Lorg/apache/cassandra/cql3/CFName;
            invokevirtual org.apache.cassandra.cql3.CFName.getColumnFamily:()Ljava/lang/String;
       138: .line 325
            aload 4 /* included */
            invokeinterface java.util.Set.isEmpty:()Z
       139: .line 326
            aload 9 /* rawSelect */
       140: .line 327
            aload 15 /* whereClauseText */
       141: .line 328
            aload 28 /* viewCfm */
       142: .line 321
            invokespecial org.apache.cassandra.config.ViewDefinition.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/UUID;Ljava/lang/String;ZLorg/apache/cassandra/cql3/statements/SelectStatement$RawStatement;Ljava/lang/String;Lorg/apache/cassandra/config/CFMetaData;)V
            astore 29 /* definition */
        start local 29 // org.apache.cassandra.config.ViewDefinition definition
       143: .line 330
            getstatic org.apache.cassandra.cql3.statements.CreateViewStatement.logger:Lorg/slf4j/Logger;
            ldc "Creating materialized view {} for {}.{}. {}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
       144: .line 331
            aload 29 /* definition */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 3 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 3 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc "Materialized views are experimental and are not recommended for production use."
            aastore
       145: .line 330
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
       146: .line 335
            getstatic org.apache.cassandra.service.ClientWarn.instance:Lorg/apache/cassandra/service/ClientWarn;
            ldc "Materialized views are experimental and are not recommended for production use."
            invokevirtual org.apache.cassandra.service.ClientWarn.warn:(Ljava/lang/String;)V
       147: .line 336
            aload 29 /* definition */
            iload 2 /* isLocalOnly */
            invokestatic org.apache.cassandra.service.MigrationManager.announceNewView:(Lorg/apache/cassandra/config/ViewDefinition;Z)V
       148: .line 337
            new org.apache.cassandra.transport.Event$SchemaChange
            dup
            getstatic org.apache.cassandra.transport.Event$SchemaChange$Change.CREATED:Lorg/apache/cassandra/transport/Event$SchemaChange$Change;
            getstatic org.apache.cassandra.transport.Event$SchemaChange$Target.TABLE:Lorg/apache/cassandra/transport/Event$SchemaChange$Target;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.keyspace:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.CreateViewStatement.columnFamily:()Ljava/lang/String;
            invokespecial org.apache.cassandra.transport.Event$SchemaChange.<init>:(Lorg/apache/cassandra/transport/Event$SchemaChange$Change;Lorg/apache/cassandra/transport/Event$SchemaChange$Target;Ljava/lang/String;Ljava/lang/String;)V
       149: areturn
       150: .line 339
      StackMap locals: org.apache.cassandra.cql3.statements.CreateViewStatement org.apache.cassandra.service.QueryState int org.apache.cassandra.config.CFMetaData java.util.Set java.util.Set java.util.Map java.util.List org.apache.cassandra.cql3.statements.SelectStatement$Parameters org.apache.cassandra.cql3.statements.SelectStatement$RawStatement org.apache.cassandra.service.ClientState org.apache.cassandra.cql3.statements.ParsedStatement$Prepared org.apache.cassandra.cql3.statements.SelectStatement org.apache.cassandra.cql3.restrictions.StatementRestrictions int java.lang.String java.util.Set java.util.List java.util.List int int java.lang.StringBuilder java.util.List org.apache.cassandra.schema.TableParams org.apache.cassandra.config.CFMetaData$Builder top top top org.apache.cassandra.config.CFMetaData org.apache.cassandra.config.ViewDefinition
      StackMap stack: org.apache.cassandra.exceptions.AlreadyExistsException
            astore 30 /* e */
        start local 30 // org.apache.cassandra.exceptions.AlreadyExistsException e
       151: .line 341
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.CreateViewStatement.ifNotExists:Z
            ifeq 153
       152: .line 342
            aconst_null
            areturn
       153: .line 343
      StackMap locals: org.apache.cassandra.exceptions.AlreadyExistsException
      StackMap stack:
            aload 30 /* e */
            athrow
        end local 30 // org.apache.cassandra.exceptions.AlreadyExistsException e
        end local 29 // org.apache.cassandra.config.ViewDefinition definition
        end local 28 // org.apache.cassandra.config.CFMetaData viewCfm
        end local 24 // org.apache.cassandra.config.CFMetaData$Builder cfmBuilder
        end local 23 // org.apache.cassandra.schema.TableParams params
        end local 22 // java.util.List includedColumns
        end local 21 // java.lang.StringBuilder columnNames
        end local 20 // boolean missingClusteringColumns
        end local 19 // boolean hasNonPKColumn
        end local 18 // java.util.List targetPartitionKeys
        end local 17 // java.util.List targetClusteringColumns
        end local 16 // java.util.Set basePrimaryKeyCols
        end local 15 // java.lang.String whereClauseText
        end local 14 // boolean allowFilteringNonKeyColumns
        end local 13 // org.apache.cassandra.cql3.restrictions.StatementRestrictions restrictions
        end local 12 // org.apache.cassandra.cql3.statements.SelectStatement select
        end local 11 // org.apache.cassandra.cql3.statements.ParsedStatement$Prepared prepared
        end local 10 // org.apache.cassandra.service.ClientState state
        end local 9 // org.apache.cassandra.cql3.statements.SelectStatement$RawStatement rawSelect
        end local 8 // org.apache.cassandra.cql3.statements.SelectStatement$Parameters parameters
        end local 7 // java.util.List groups
        end local 6 // java.util.Map orderings
        end local 5 // java.util.Set targetPrimaryKeys
        end local 4 // java.util.Set included
        end local 3 // org.apache.cassandra.config.CFMetaData cfm
        end local 2 // boolean isLocalOnly
        end local 1 // org.apache.cassandra.service.QueryState queryState
        end local 0 // org.apache.cassandra.cql3.statements.CreateViewStatement this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0  154     0                         this  Lorg/apache/cassandra/cql3/statements/CreateViewStatement;
            0  154     1                   queryState  Lorg/apache/cassandra/service/QueryState;
            0  154     2                  isLocalOnly  Z
            8  154     3                          cfm  Lorg/apache/cassandra/config/CFMetaData;
           20  154     4                     included  Ljava/util/Set<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
           22   36     5                     selector  Lorg/apache/cassandra/cql3/selection/RawSelector;
           23   36     7                   selectable  Lorg/apache/cassandra/cql3/selection/Selectable$Raw;
           32   36     8                            s  Lorg/apache/cassandra/cql3/selection/Selectable;
           35   36     9                         cdef  Lorg/apache/cassandra/config/ColumnDefinition;
           38  154     5            targetPrimaryKeys  Ljava/util/Set<Lorg/apache/cassandra/config/ColumnDefinition$Raw;>;
           40   49     6                   identifier  Lorg/apache/cassandra/config/ColumnDefinition$Raw;
           43   49     8                         cdef  Lorg/apache/cassandra/config/ColumnDefinition;
           51  154     6                    orderings  Ljava/util/Map<Lorg/apache/cassandra/config/ColumnDefinition$Raw;Ljava/lang/Boolean;>;
           52  154     7                       groups  Ljava/util/List<Lorg/apache/cassandra/config/ColumnDefinition$Raw;>;
           53  154     8                   parameters  Lorg/apache/cassandra/cql3/statements/SelectStatement$Parameters;
           54  154     9                    rawSelect  Lorg/apache/cassandra/cql3/statements/SelectStatement$RawStatement;
           55  154    10                        state  Lorg/apache/cassandra/service/ClientState;
           59  154    11                     prepared  Lorg/apache/cassandra/cql3/statements/ParsedStatement$Prepared;
           60  154    12                       select  Lorg/apache/cassandra/cql3/statements/SelectStatement;
           61  154    13                 restrictions  Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;
           66  154    14  allowFilteringNonKeyColumns  Z
           76  154    15              whereClauseText  Ljava/lang/String;
           77  154    16           basePrimaryKeyCols  Ljava/util/Set<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
           79   80    17                   definition  Lorg/apache/cassandra/config/ColumnDefinition;
           82  154    17      targetClusteringColumns  Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
           83  154    18          targetPartitionKeys  Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
           84  154    19               hasNonPKColumn  Z
           86   87    20                          raw  Lorg/apache/cassandra/config/ColumnDefinition$Raw;
           90   91    20                          raw  Lorg/apache/cassandra/config/ColumnDefinition$Raw;
           93  154    20     missingClusteringColumns  Z
           94  154    21                  columnNames  Ljava/lang/StringBuilder;
           95  154    22              includedColumns  Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
           97  116    23                          def  Lorg/apache/cassandra/config/ColumnDefinition;
           98  116    25                   identifier  Lorg/apache/cassandra/cql3/ColumnIdentifier;
          101  116    26                   includeDef  Z
          108  116    27        defInTargetPrimaryKey  Z
          126  154    23                       params  Lorg/apache/cassandra/schema/TableParams;
          129  154    24                   cfmBuilder  Lorg/apache/cassandra/config/CFMetaData$Builder;
          134  154    28                      viewCfm  Lorg/apache/cassandra/config/CFMetaData;
          143  154    29                   definition  Lorg/apache/cassandra/config/ViewDefinition;
          151  154    30                            e  Lorg/apache/cassandra/exceptions/AlreadyExistsException;
      Exception table:
        from    to  target  type
         146   149     150  Class org.apache.cassandra.exceptions.AlreadyExistsException
    Exceptions:
      throws org.apache.cassandra.exceptions.RequestValidationException
    MethodParameters:
             Name  Flags
      queryState   
      isLocalOnly  

  private static boolean getColumnIdentifier(org.apache.cassandra.config.CFMetaData, java.util.Set<org.apache.cassandra.cql3.ColumnIdentifier>, boolean, org.apache.cassandra.config.ColumnDefinition$Raw, java.util.List<org.apache.cassandra.cql3.ColumnIdentifier>, org.apache.cassandra.cql3.restrictions.StatementRestrictions);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Set;ZLorg/apache/cassandra/config/ColumnDefinition$Raw;Ljava/util/List;Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // org.apache.cassandra.config.CFMetaData cfm
        start local 1 // java.util.Set basePK
        start local 2 // boolean hasNonPKColumn
        start local 3 // org.apache.cassandra.config.ColumnDefinition$Raw raw
        start local 4 // java.util.List columns
        start local 5 // org.apache.cassandra.cql3.restrictions.StatementRestrictions restrictions
         0: .line 354
            aload 3 /* raw */
            aload 0 /* cfm */
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Raw.prepare:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/config/ColumnDefinition;
            astore 6 /* def */
        start local 6 // org.apache.cassandra.config.ColumnDefinition def
         1: .line 356
            aload 1 /* basePK */
            aload 6 /* def */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 7 /* isPk */
        start local 7 // boolean isPk
         2: .line 357
            iload 7 /* isPk */
            ifne 4
            iload 2 /* hasNonPKColumn */
            ifeq 4
         3: .line 358
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Cannot include more than one non-primary key column '%s' in materialized view primary key"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* def */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 362
      StackMap locals: org.apache.cassandra.config.ColumnDefinition int
      StackMap stack:
            aload 6 /* def */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isPartitionKey:()Z
            ifeq 7
         5: .line 363
            aload 0 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.partitionKeyColumns:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 7
         6: .line 362
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 8 /* isSinglePartitionKey */
        start local 8 // boolean isSinglePartitionKey
         9: .line 364
            iload 8 /* isSinglePartitionKey */
            ifne 11
            aload 5 /* restrictions */
            aload 6 /* def */
            invokevirtual org.apache.cassandra.cql3.restrictions.StatementRestrictions.isRestricted:(Lorg/apache/cassandra/config/ColumnDefinition;)Z
            ifne 11
        10: .line 365
            new org.apache.cassandra.exceptions.InvalidRequestException
            dup
            ldc "Primary key column '%s' is required to be filtered by 'IS NOT NULL'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* def */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 367
      StackMap locals: int
      StackMap stack:
            aload 4 /* columns */
            aload 6 /* def */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 368
            iload 7 /* isPk */
            ifeq 13
            iconst_0
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_1
      StackMap locals:
      StackMap stack: int
        14: ireturn
        end local 8 // boolean isSinglePartitionKey
        end local 7 // boolean isPk
        end local 6 // org.apache.cassandra.config.ColumnDefinition def
        end local 5 // org.apache.cassandra.cql3.restrictions.StatementRestrictions restrictions
        end local 4 // java.util.List columns
        end local 3 // org.apache.cassandra.config.ColumnDefinition$Raw raw
        end local 2 // boolean hasNonPKColumn
        end local 1 // java.util.Set basePK
        end local 0 // org.apache.cassandra.config.CFMetaData cfm
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   15     0                   cfm  Lorg/apache/cassandra/config/CFMetaData;
            0   15     1                basePK  Ljava/util/Set<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
            0   15     2        hasNonPKColumn  Z
            0   15     3                   raw  Lorg/apache/cassandra/config/ColumnDefinition$Raw;
            0   15     4               columns  Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;
            0   15     5          restrictions  Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;
            1   15     6                   def  Lorg/apache/cassandra/config/ColumnDefinition;
            2   15     7                  isPk  Z
            9   15     8  isSinglePartitionKey  Z
    Signature: (Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Set<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;ZLorg/apache/cassandra/config/ColumnDefinition$Raw;Ljava/util/List<Lorg/apache/cassandra/cql3/ColumnIdentifier;>;Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;)Z
    MethodParameters:
                Name  Flags
      cfm             
      basePK          
      hasNonPKColumn  
      raw             
      columns         
      restrictions    

  private static java.lang.String lambda$0(org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.config.ColumnDefinition def
         0: .line 238
            aload 0 /* def */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual org.apache.cassandra.cql3.ColumnIdentifier.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.config.ColumnDefinition def
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   def  Lorg/apache/cassandra/config/ColumnDefinition;
}
SourceFile: "CreateViewStatement.java"
NestMembers:
  org.apache.cassandra.cql3.statements.CreateViewStatement$AddColumn
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Builder = org.apache.cassandra.config.CFMetaData$Builder of org.apache.cassandra.config.CFMetaData
  public abstract Raw = org.apache.cassandra.config.ColumnDefinition$Raw of org.apache.cassandra.config.ColumnDefinition
  public abstract Raw = org.apache.cassandra.cql3.Term$Raw of org.apache.cassandra.cql3.Term
  public abstract Raw = org.apache.cassandra.cql3.selection.Selectable$Raw of org.apache.cassandra.cql3.selection.Selectable
  public WithFieldSelection = org.apache.cassandra.cql3.selection.Selectable$WithFieldSelection of org.apache.cassandra.cql3.selection.Selectable
  public Raw = org.apache.cassandra.cql3.selection.Selectable$WithFieldSelection$Raw of org.apache.cassandra.cql3.selection.Selectable$WithFieldSelection
  public WithFunction = org.apache.cassandra.cql3.selection.Selectable$WithFunction of org.apache.cassandra.cql3.selection.Selectable
  public Raw = org.apache.cassandra.cql3.selection.Selectable$WithFunction$Raw of org.apache.cassandra.cql3.selection.Selectable$WithFunction
  public WritetimeOrTTL = org.apache.cassandra.cql3.selection.Selectable$WritetimeOrTTL of org.apache.cassandra.cql3.selection.Selectable
  public Raw = org.apache.cassandra.cql3.selection.Selectable$WritetimeOrTTL$Raw of org.apache.cassandra.cql3.selection.Selectable$WritetimeOrTTL
  private abstract AddColumn = org.apache.cassandra.cql3.statements.CreateViewStatement$AddColumn of org.apache.cassandra.cql3.statements.CreateViewStatement
  public Prepared = org.apache.cassandra.cql3.statements.ParsedStatement$Prepared of org.apache.cassandra.cql3.statements.ParsedStatement
  public Parameters = org.apache.cassandra.cql3.statements.SelectStatement$Parameters of org.apache.cassandra.cql3.statements.SelectStatement
  public RawStatement = org.apache.cassandra.cql3.statements.SelectStatement$RawStatement of org.apache.cassandra.cql3.statements.SelectStatement
  public SchemaChange = org.apache.cassandra.transport.Event$SchemaChange of org.apache.cassandra.transport.Event
  public final Change = org.apache.cassandra.transport.Event$SchemaChange$Change of org.apache.cassandra.transport.Event$SchemaChange
  public final Target = org.apache.cassandra.transport.Event$SchemaChange$Target of org.apache.cassandra.transport.Event$SchemaChange