public class org.apache.cassandra.cql3.statements.UpdateStatement extends org.apache.cassandra.cql3.statements.ModificationStatement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.cql3.statements.UpdateStatement
  super_class: org.apache.cassandra.cql3.statements.ModificationStatement
{
  private static final org.apache.cassandra.cql3.Constants$Value EMPTY;
    descriptor: Lorg/apache/cassandra/cql3/Constants$Value;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 45
            new org.apache.cassandra.cql3.Constants$Value
            dup
            getstatic org.apache.cassandra.utils.ByteBufferUtil.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
            invokespecial org.apache.cassandra.cql3.Constants$Value.<init>:(Ljava/nio/ByteBuffer;)V
            putstatic org.apache.cassandra.cql3.statements.UpdateStatement.EMPTY:Lorg/apache/cassandra/cql3/Constants$Value;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(org.apache.cassandra.cql3.statements.StatementType, int, org.apache.cassandra.config.CFMetaData, org.apache.cassandra.cql3.Operations, org.apache.cassandra.cql3.restrictions.StatementRestrictions, org.apache.cassandra.cql3.Conditions, org.apache.cassandra.cql3.Attributes);
    descriptor: (Lorg/apache/cassandra/cql3/statements/StatementType;ILorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/cql3/Operations;Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;Lorg/apache/cassandra/cql3/Conditions;Lorg/apache/cassandra/cql3/Attributes;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // org.apache.cassandra.cql3.statements.UpdateStatement this
        start local 1 // org.apache.cassandra.cql3.statements.StatementType type
        start local 2 // int boundTerms
        start local 3 // org.apache.cassandra.config.CFMetaData cfm
        start local 4 // org.apache.cassandra.cql3.Operations operations
        start local 5 // org.apache.cassandra.cql3.restrictions.StatementRestrictions restrictions
        start local 6 // org.apache.cassandra.cql3.Conditions conditions
        start local 7 // org.apache.cassandra.cql3.Attributes attrs
         0: .line 55
            aload 0 /* this */
            aload 1 /* type */
            iload 2 /* boundTerms */
            aload 3 /* cfm */
            aload 4 /* operations */
            aload 5 /* restrictions */
            aload 6 /* conditions */
            aload 7 /* attrs */
            invokespecial org.apache.cassandra.cql3.statements.ModificationStatement.<init>:(Lorg/apache/cassandra/cql3/statements/StatementType;ILorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/cql3/Operations;Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;Lorg/apache/cassandra/cql3/Conditions;Lorg/apache/cassandra/cql3/Attributes;)V
         1: .line 56
            return
        end local 7 // org.apache.cassandra.cql3.Attributes attrs
        end local 6 // org.apache.cassandra.cql3.Conditions conditions
        end local 5 // org.apache.cassandra.cql3.restrictions.StatementRestrictions restrictions
        end local 4 // org.apache.cassandra.cql3.Operations operations
        end local 3 // org.apache.cassandra.config.CFMetaData cfm
        end local 2 // int boundTerms
        end local 1 // org.apache.cassandra.cql3.statements.StatementType type
        end local 0 // org.apache.cassandra.cql3.statements.UpdateStatement this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/apache/cassandra/cql3/statements/UpdateStatement;
            0    2     1          type  Lorg/apache/cassandra/cql3/statements/StatementType;
            0    2     2    boundTerms  I
            0    2     3           cfm  Lorg/apache/cassandra/config/CFMetaData;
            0    2     4    operations  Lorg/apache/cassandra/cql3/Operations;
            0    2     5  restrictions  Lorg/apache/cassandra/cql3/restrictions/StatementRestrictions;
            0    2     6    conditions  Lorg/apache/cassandra/cql3/Conditions;
            0    2     7         attrs  Lorg/apache/cassandra/cql3/Attributes;
    MethodParameters:
              Name  Flags
      type          
      boundTerms    
      cfm           
      operations    
      restrictions  
      conditions    
      attrs         

  public boolean requireFullClusteringKey();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.statements.UpdateStatement this
         0: .line 60
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.cql3.statements.UpdateStatement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/cql3/statements/UpdateStatement;

  public void addUpdateForKey(org.apache.cassandra.db.partitions.PartitionUpdate, org.apache.cassandra.db.Clustering, org.apache.cassandra.cql3.UpdateParameters);
    descriptor: (Lorg/apache/cassandra/db/partitions/PartitionUpdate;Lorg/apache/cassandra/db/Clustering;Lorg/apache/cassandra/cql3/UpdateParameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.apache.cassandra.cql3.statements.UpdateStatement this
        start local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
        start local 2 // org.apache.cassandra.db.Clustering clustering
        start local 3 // org.apache.cassandra.cql3.UpdateParameters params
         0: .line 66
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.UpdateStatement.updatesRegularRows:()Z
            ifeq 16
         1: .line 68
            aload 3 /* params */
            aload 2 /* clustering */
            invokevirtual org.apache.cassandra.cql3.UpdateParameters.newRow:(Lorg/apache/cassandra/db/Clustering;)V
         2: .line 73
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.UpdateStatement.type:Lorg/apache/cassandra/cql3/statements/StatementType;
            invokevirtual org.apache.cassandra.cql3.statements.StatementType.isInsert:()Z
            ifeq 4
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.UpdateStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.isCQLTable:()Z
            ifeq 4
         3: .line 74
            aload 3 /* params */
            invokevirtual org.apache.cassandra.cql3.UpdateParameters.addPrimaryKeyLivenessInfo:()V
         4: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.UpdateStatement.getRegularOperations:()Ljava/util/List;
            astore 4 /* updates */
        start local 4 // java.util.List updates
         5: .line 84
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.UpdateStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.isCompactTable:()Z
            ifeq 11
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.UpdateStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.isSuper:()Z
            ifne 11
            aload 4 /* updates */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 11
         6: .line 86
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.UpdateStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
            invokestatic org.apache.cassandra.db.CompactTables.hasEmptyCompactValue:(Lorg/apache/cassandra/config/CFMetaData;)Z
         7: .line 87
            ldc "Column %s is mandatory for this COMPACT STORAGE table"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 88
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.UpdateStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.compactValueColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            aastore
         9: .line 86
            invokestatic org.apache.cassandra.cql3.statements.RequestValidations.checkTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
        10: .line 90
            new org.apache.cassandra.cql3.Constants$Setter
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.statements.UpdateStatement.cfm:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.compactValueColumn:()Lorg/apache/cassandra/config/ColumnDefinition;
            getstatic org.apache.cassandra.cql3.statements.UpdateStatement.EMPTY:Lorg/apache/cassandra/cql3/Constants$Value;
            invokespecial org.apache.cassandra.cql3.Constants$Setter.<init>:(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/cql3/Term;)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 4 /* updates */
        11: .line 93
      StackMap locals: java.util.List
      StackMap stack:
            aload 4 /* updates */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: org.apache.cassandra.cql3.statements.UpdateStatement org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.db.Clustering org.apache.cassandra.cql3.UpdateParameters java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.Operation
            astore 5 /* op */
        start local 5 // org.apache.cassandra.cql3.Operation op
        13: .line 94
            aload 5 /* op */
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
            aload 3 /* params */
            invokevirtual org.apache.cassandra.cql3.Operation.execute:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/cql3/UpdateParameters;)V
        end local 5 // org.apache.cassandra.cql3.Operation op
        14: .line 93
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 96
            aload 1 /* update */
            aload 3 /* params */
            invokevirtual org.apache.cassandra.cql3.UpdateParameters.buildRow:()Lorg/apache/cassandra/db/rows/Row;
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.add:(Lorg/apache/cassandra/db/rows/Row;)V
        end local 4 // java.util.List updates
        16: .line 99
      StackMap locals: org.apache.cassandra.cql3.statements.UpdateStatement org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.db.Clustering org.apache.cassandra.cql3.UpdateParameters
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.UpdateStatement.updatesStaticRow:()Z
            ifeq 23
        17: .line 101
            aload 3 /* params */
            getstatic org.apache.cassandra.db.Clustering.STATIC_CLUSTERING:Lorg/apache/cassandra/db/Clustering;
            invokevirtual org.apache.cassandra.cql3.UpdateParameters.newRow:(Lorg/apache/cassandra/db/Clustering;)V
        18: .line 102
            aload 0 /* this */
            invokevirtual org.apache.cassandra.cql3.statements.UpdateStatement.getStaticOperations:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 21
      StackMap locals: org.apache.cassandra.cql3.statements.UpdateStatement org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.db.Clustering org.apache.cassandra.cql3.UpdateParameters top java.util.Iterator
      StackMap stack:
        19: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.Operation
            astore 4 /* op */
        start local 4 // org.apache.cassandra.cql3.Operation op
        20: .line 103
            aload 4 /* op */
            aload 1 /* update */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
            aload 3 /* params */
            invokevirtual org.apache.cassandra.cql3.Operation.execute:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/cql3/UpdateParameters;)V
        end local 4 // org.apache.cassandra.cql3.Operation op
        21: .line 102
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 104
            aload 1 /* update */
            aload 3 /* params */
            invokevirtual org.apache.cassandra.cql3.UpdateParameters.buildRow:()Lorg/apache/cassandra/db/rows/Row;
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.add:(Lorg/apache/cassandra/db/rows/Row;)V
        23: .line 106
      StackMap locals: org.apache.cassandra.cql3.statements.UpdateStatement org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.db.Clustering org.apache.cassandra.cql3.UpdateParameters
      StackMap stack:
            return
        end local 3 // org.apache.cassandra.cql3.UpdateParameters params
        end local 2 // org.apache.cassandra.db.Clustering clustering
        end local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
        end local 0 // org.apache.cassandra.cql3.statements.UpdateStatement this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lorg/apache/cassandra/cql3/statements/UpdateStatement;
            0   24     1      update  Lorg/apache/cassandra/db/partitions/PartitionUpdate;
            0   24     2  clustering  Lorg/apache/cassandra/db/Clustering;
            0   24     3      params  Lorg/apache/cassandra/cql3/UpdateParameters;
            5   16     4     updates  Ljava/util/List<Lorg/apache/cassandra/cql3/Operation;>;
           13   14     5          op  Lorg/apache/cassandra/cql3/Operation;
           20   21     4          op  Lorg/apache/cassandra/cql3/Operation;
    MethodParameters:
            Name  Flags
      update      
      clustering  
      params      

  public void addUpdateForKey(org.apache.cassandra.db.partitions.PartitionUpdate, org.apache.cassandra.db.Slice, org.apache.cassandra.cql3.UpdateParameters);
    descriptor: (Lorg/apache/cassandra/db/partitions/PartitionUpdate;Lorg/apache/cassandra/db/Slice;Lorg/apache/cassandra/cql3/UpdateParameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.cassandra.cql3.statements.UpdateStatement this
        start local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
        start local 2 // org.apache.cassandra.db.Slice slice
        start local 3 // org.apache.cassandra.cql3.UpdateParameters params
         0: .line 111
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 3 // org.apache.cassandra.cql3.UpdateParameters params
        end local 2 // org.apache.cassandra.db.Slice slice
        end local 1 // org.apache.cassandra.db.partitions.PartitionUpdate update
        end local 0 // org.apache.cassandra.cql3.statements.UpdateStatement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/cassandra/cql3/statements/UpdateStatement;
            0    1     1  update  Lorg/apache/cassandra/db/partitions/PartitionUpdate;
            0    1     2   slice  Lorg/apache/cassandra/db/Slice;
            0    1     3  params  Lorg/apache/cassandra/cql3/UpdateParameters;
    MethodParameters:
        Name  Flags
      update  
      slice   
      params  
}
SourceFile: "UpdateStatement.java"
NestMembers:
  org.apache.cassandra.cql3.statements.UpdateStatement$ParsedInsert  org.apache.cassandra.cql3.statements.UpdateStatement$ParsedInsertJson  org.apache.cassandra.cql3.statements.UpdateStatement$ParsedUpdate
InnerClasses:
  public Setter = org.apache.cassandra.cql3.Constants$Setter of org.apache.cassandra.cql3.Constants
  public Value = org.apache.cassandra.cql3.Constants$Value of org.apache.cassandra.cql3.Constants
  public ParsedInsert = org.apache.cassandra.cql3.statements.UpdateStatement$ParsedInsert of org.apache.cassandra.cql3.statements.UpdateStatement
  public ParsedInsertJson = org.apache.cassandra.cql3.statements.UpdateStatement$ParsedInsertJson of org.apache.cassandra.cql3.statements.UpdateStatement
  public ParsedUpdate = org.apache.cassandra.cql3.statements.UpdateStatement$ParsedUpdate of org.apache.cassandra.cql3.statements.UpdateStatement