public class org.h2.index.RangeIndex extends org.h2.index.BaseIndex
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.index.RangeIndex
  super_class: org.h2.index.BaseIndex
{
  private final org.h2.table.RangeTable rangeTable;
    descriptor: Lorg/h2/table/RangeTable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.h2.table.RangeTable, org.h2.table.IndexColumn[]);
    descriptor: (Lorg/h2/table/RangeTable;[Lorg/h2/table/IndexColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.table.RangeTable table
        start local 2 // org.h2.table.IndexColumn[] columns
         0: .line 27
            aload 0 /* this */
            aload 1 /* table */
            iconst_0
            ldc "RANGE_INDEX"
            aload 2 /* columns */
         1: .line 28
            iconst_1
            invokestatic org.h2.index.IndexType.createNonUnique:(Z)Lorg/h2/index/IndexType;
            invokespecial org.h2.index.BaseIndex.<init>:(Lorg/h2/table/Table;ILjava/lang/String;[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;)V
         2: .line 29
            aload 0 /* this */
            aload 1 /* table */
            putfield org.h2.index.RangeIndex.rangeTable:Lorg/h2/table/RangeTable;
         3: .line 30
            return
        end local 2 // org.h2.table.IndexColumn[] columns
        end local 1 // org.h2.table.RangeTable table
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/index/RangeIndex;
            0    4     1    table  Lorg/h2/table/RangeTable;
            0    4     2  columns  [Lorg/h2/table/IndexColumn;
    MethodParameters:
         Name  Flags
      table    
      columns  

  public void close(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 35
            return
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/index/RangeIndex;
            0    1     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public void add(org.h2.engine.Session, org.h2.result.Row);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.result.Row row
         0: .line 39
            ldc "SYSTEM_RANGE"
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 2 // org.h2.result.Row row
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/index/RangeIndex;
            0    1     1  session  Lorg/h2/engine/Session;
            0    1     2      row  Lorg/h2/result/Row;
    MethodParameters:
         Name  Flags
      session  
      row      

  public void remove(org.h2.engine.Session, org.h2.result.Row);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.result.Row row
         0: .line 44
            ldc "SYSTEM_RANGE"
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 2 // org.h2.result.Row row
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/index/RangeIndex;
            0    1     1  session  Lorg/h2/engine/Session;
            0    1     2      row  Lorg/h2/result/Row;
    MethodParameters:
         Name  Flags
      session  
      row      

  public org.h2.index.Cursor find(org.h2.engine.Session, org.h2.result.SearchRow, org.h2.result.SearchRow);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=12, args_size=4
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.result.SearchRow first
        start local 3 // org.h2.result.SearchRow last
         0: .line 49
            aload 0 /* this */
            getfield org.h2.index.RangeIndex.rangeTable:Lorg/h2/table/RangeTable;
            aload 1 /* session */
            invokevirtual org.h2.table.RangeTable.getMin:(Lorg/h2/engine/Session;)J
            lstore 4 /* min */
        start local 4 // long min
         1: .line 50
            aload 0 /* this */
            getfield org.h2.index.RangeIndex.rangeTable:Lorg/h2/table/RangeTable;
            aload 1 /* session */
            invokevirtual org.h2.table.RangeTable.getMax:(Lorg/h2/engine/Session;)J
            lstore 6 /* max */
        start local 6 // long max
         2: .line 51
            aload 0 /* this */
            getfield org.h2.index.RangeIndex.rangeTable:Lorg/h2/table/RangeTable;
            aload 1 /* session */
            invokevirtual org.h2.table.RangeTable.getStep:(Lorg/h2/engine/Session;)J
            lstore 8 /* step */
        start local 8 // long step
         3: .line 52
            aload 2 /* first */
            ifnull 13
         4: .line 54
            aload 2 /* first */
            iconst_0
            invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getLong:()J
            lstore 10 /* v */
        start local 10 // long v
         5: .line 55
            lload 8 /* step */
            lconst_0
            lcmp
            ifle 9
         6: .line 56
            lload 10 /* v */
            lload 4 /* min */
            lcmp
            ifle 13
         7: .line 57
            lload 4 /* min */
            lload 10 /* v */
            lload 4 /* min */
            lsub
            lload 8 /* step */
            ladd
            lconst_1
            lsub
            lload 8 /* step */
            ldiv
            lload 8 /* step */
            lmul
            ladd
            lstore 4 /* min */
         8: .line 59
            goto 13
      StackMap locals: org.h2.index.RangeIndex org.h2.engine.Session org.h2.result.SearchRow org.h2.result.SearchRow long long long long
      StackMap stack:
         9: lload 10 /* v */
            lload 6 /* max */
            lcmp
            ifle 13
        10: .line 60
            lload 10 /* v */
            lstore 6 /* max */
        end local 10 // long v
        11: .line 62
            goto 13
      StackMap locals: org.h2.index.RangeIndex org.h2.engine.Session org.h2.result.SearchRow org.h2.result.SearchRow long long long
      StackMap stack: org.h2.message.DbException
        12: pop
        13: .line 66
      StackMap locals:
      StackMap stack:
            aload 3 /* last */
            ifnull 23
        14: .line 68
            aload 3 /* last */
            iconst_0
            invokeinterface org.h2.result.SearchRow.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getLong:()J
            lstore 10 /* v */
        start local 10 // long v
        15: .line 69
            lload 8 /* step */
            lconst_0
            lcmp
            ifle 19
        16: .line 70
            lload 10 /* v */
            lload 6 /* max */
            lcmp
            ifge 23
        17: .line 71
            lload 10 /* v */
            lstore 6 /* max */
        18: .line 73
            goto 23
      StackMap locals: long
      StackMap stack:
        19: lload 10 /* v */
            lload 4 /* min */
            lcmp
            ifge 23
        20: .line 74
            lload 4 /* min */
            lload 4 /* min */
            lload 10 /* v */
            lsub
            lload 8 /* step */
            lsub
            lconst_1
            lsub
            lload 8 /* step */
            ldiv
            lload 8 /* step */
            lmul
            lsub
            lstore 4 /* min */
        end local 10 // long v
        21: .line 76
            goto 23
      StackMap locals: org.h2.index.RangeIndex org.h2.engine.Session org.h2.result.SearchRow org.h2.result.SearchRow long long long
      StackMap stack: org.h2.message.DbException
        22: pop
        23: .line 80
      StackMap locals:
      StackMap stack:
            new org.h2.index.RangeCursor
            dup
            aload 1 /* session */
            lload 4 /* min */
            lload 6 /* max */
            lload 8 /* step */
            invokespecial org.h2.index.RangeCursor.<init>:(Lorg/h2/engine/Session;JJJ)V
            areturn
        end local 8 // long step
        end local 6 // long max
        end local 4 // long min
        end local 3 // org.h2.result.SearchRow last
        end local 2 // org.h2.result.SearchRow first
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lorg/h2/index/RangeIndex;
            0   24     1  session  Lorg/h2/engine/Session;
            0   24     2    first  Lorg/h2/result/SearchRow;
            0   24     3     last  Lorg/h2/result/SearchRow;
            1   24     4      min  J
            2   24     6      max  J
            3   24     8     step  J
            5   11    10        v  J
           15   21    10        v  J
      Exception table:
        from    to  target  type
           4    11      12  Class org.h2.message.DbException
          14    21      22  Class org.h2.message.DbException
    MethodParameters:
         Name  Flags
      session  
      first    
      last     

  public double getCost(org.h2.engine.Session, int[], org.h2.table.TableFilter[], int, org.h2.result.SortOrder, org.h2.command.dml.AllColumnsForPlan);
    descriptor: (Lorg/h2/engine/Session;[I[Lorg/h2/table/TableFilter;ILorg/h2/result/SortOrder;Lorg/h2/command/dml/AllColumnsForPlan;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // int[] masks
        start local 3 // org.h2.table.TableFilter[] filters
        start local 4 // int filter
        start local 5 // org.h2.result.SortOrder sortOrder
        start local 6 // org.h2.command.dml.AllColumnsForPlan allColumnsSet
         0: .line 87
            dconst_1
            dreturn
        end local 6 // org.h2.command.dml.AllColumnsForPlan allColumnsSet
        end local 5 // org.h2.result.SortOrder sortOrder
        end local 4 // int filter
        end local 3 // org.h2.table.TableFilter[] filters
        end local 2 // int[] masks
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/h2/index/RangeIndex;
            0    1     1        session  Lorg/h2/engine/Session;
            0    1     2          masks  [I
            0    1     3        filters  [Lorg/h2/table/TableFilter;
            0    1     4         filter  I
            0    1     5      sortOrder  Lorg/h2/result/SortOrder;
            0    1     6  allColumnsSet  Lorg/h2/command/dml/AllColumnsForPlan;
    MethodParameters:
               Name  Flags
      session        
      masks          
      filters        
      filter         
      sortOrder      
      allColumnsSet  

  public java.lang.String getCreateSQL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.index.RangeIndex this
         0: .line 92
            aconst_null
            areturn
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/index/RangeIndex;

  public void remove(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 97
            ldc "SYSTEM_RANGE"
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/index/RangeIndex;
            0    1     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public void truncate(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 102
            ldc "SYSTEM_RANGE"
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/index/RangeIndex;
            0    1     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public boolean needRebuild();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.index.RangeIndex this
         0: .line 107
            iconst_0
            ireturn
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/index/RangeIndex;

  public void checkRename();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.index.RangeIndex this
         0: .line 112
            ldc "SYSTEM_RANGE"
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/index/RangeIndex;

  public boolean canGetFirstOrLast();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.index.RangeIndex this
         0: .line 117
            iconst_1
            ireturn
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/index/RangeIndex;

  public org.h2.index.Cursor findFirstOrLast(org.h2.engine.Session, boolean);
    descriptor: (Lorg/h2/engine/Session;Z)Lorg/h2/index/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.engine.Session session
        start local 2 // boolean first
         0: .line 122
            iload 2 /* first */
            ifeq 1
            aload 0 /* this */
            getfield org.h2.index.RangeIndex.rangeTable:Lorg/h2/table/RangeTable;
            aload 1 /* session */
            invokevirtual org.h2.table.RangeTable.getMin:(Lorg/h2/engine/Session;)J
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.h2.index.RangeIndex.rangeTable:Lorg/h2/table/RangeTable;
            aload 1 /* session */
            invokevirtual org.h2.table.RangeTable.getMax:(Lorg/h2/engine/Session;)J
      StackMap locals:
      StackMap stack: long
         2: lstore 3 /* pos */
        start local 3 // long pos
         3: .line 123
            new org.h2.index.RangeCursor
            dup
            aload 1 /* session */
            lload 3 /* pos */
            lload 3 /* pos */
            invokespecial org.h2.index.RangeCursor.<init>:(Lorg/h2/engine/Session;JJ)V
            areturn
        end local 3 // long pos
        end local 2 // boolean first
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/index/RangeIndex;
            0    4     1  session  Lorg/h2/engine/Session;
            0    4     2    first  Z
            3    4     3      pos  J
    MethodParameters:
         Name  Flags
      session  
      first    

  public long getRowCount(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.index.RangeIndex this
        start local 1 // org.h2.engine.Session session
         0: .line 128
            aload 0 /* this */
            getfield org.h2.index.RangeIndex.rangeTable:Lorg/h2/table/RangeTable;
            aload 1 /* session */
            invokevirtual org.h2.table.RangeTable.getRowCount:(Lorg/h2/engine/Session;)J
            lreturn
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/index/RangeIndex;
            0    1     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public long getRowCountApproximation();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.index.RangeIndex this
         0: .line 133
            aload 0 /* this */
            getfield org.h2.index.RangeIndex.rangeTable:Lorg/h2/table/RangeTable;
            invokevirtual org.h2.table.RangeTable.getRowCountApproximation:()J
            lreturn
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/index/RangeIndex;

  public long getDiskSpaceUsed();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.index.RangeIndex this
         0: .line 138
            lconst_0
            lreturn
        end local 0 // org.h2.index.RangeIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/index/RangeIndex;
}
SourceFile: "RangeIndex.java"