class org.hsqldb.Database$CheckpointRunner implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hsqldb.Database$CheckpointRunner
  super_class: java.lang.Object
{
  private volatile boolean waiting;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.lang.Object timerTask;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  final org.hsqldb.Database this$0;
    descriptor: Lorg/hsqldb/Database;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.hsqldb.Database);
    descriptor: (Lorg/hsqldb/Database;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Database$CheckpointRunner this
         0: .line 834
            aload 0 /* this */
            aload 1
            putfield org.hsqldb.Database$CheckpointRunner.this$0:Lorg/hsqldb/Database;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hsqldb.Database$CheckpointRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Database$CheckpointRunner;
    MethodParameters:
        Name  Flags
      this$0  final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.hsqldb.Database$CheckpointRunner this
         0: .line 842
            aload 0 /* this */
            getfield org.hsqldb.Database$CheckpointRunner.this$0:Lorg/hsqldb/Database;
            invokestatic org.hsqldb.ParserCommand.getAutoCheckpointStatement:(Lorg/hsqldb/Database;)Lorg/hsqldb/Statement;
         1: .line 841
            astore 1 /* checkpoint */
        start local 1 // org.hsqldb.Statement checkpoint
         2: .line 843
            aload 0 /* this */
            getfield org.hsqldb.Database$CheckpointRunner.this$0:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.sessionManager:Lorg/hsqldb/SessionManager;
            invokevirtual org.hsqldb.SessionManager.newSysSession:()Lorg/hsqldb/Session;
            astore 2 /* sysSession */
        start local 2 // org.hsqldb.Session sysSession
         3: .line 846
            aload 2 /* sysSession */
            aload 1 /* checkpoint */
         4: .line 847
            getstatic org.hsqldb.map.ValuePool.emptyObjectArray:[Ljava/lang/Object;
         5: .line 848
            iconst_0
         6: .line 846
            invokevirtual org.hsqldb.Session.executeCompiledStatement:(Lorg/hsqldb/Statement;[Ljava/lang/Object;I)Lorg/hsqldb/result/Result;
            pop
         7: .line 849
            goto 17
      StackMap locals: org.hsqldb.Database$CheckpointRunner org.hsqldb.Statement org.hsqldb.Session
      StackMap stack: java.lang.Throwable
         8: pop
         9: .line 854
            aload 2 /* sysSession */
            iconst_0
            invokevirtual org.hsqldb.Session.commit:(Z)V
        10: .line 855
            aload 2 /* sysSession */
            invokevirtual org.hsqldb.Session.close:()V
        11: .line 857
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Database$CheckpointRunner.waiting:Z
            goto 20
        12: .line 853
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        13: .line 854
            aload 2 /* sysSession */
            iconst_0
            invokevirtual org.hsqldb.Session.commit:(Z)V
        14: .line 855
            aload 2 /* sysSession */
            invokevirtual org.hsqldb.Session.close:()V
        15: .line 857
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Database$CheckpointRunner.waiting:Z
        16: .line 858
            aload 3
            athrow
        17: .line 854
      StackMap locals:
      StackMap stack:
            aload 2 /* sysSession */
            iconst_0
            invokevirtual org.hsqldb.Session.commit:(Z)V
        18: .line 855
            aload 2 /* sysSession */
            invokevirtual org.hsqldb.Session.close:()V
        19: .line 857
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Database$CheckpointRunner.waiting:Z
        20: .line 859
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hsqldb.Session sysSession
        end local 1 // org.hsqldb.Statement checkpoint
        end local 0 // org.hsqldb.Database$CheckpointRunner this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lorg/hsqldb/Database$CheckpointRunner;
            2   21     1  checkpoint  Lorg/hsqldb/Statement;
            3   21     2  sysSession  Lorg/hsqldb/Session;
      Exception table:
        from    to  target  type
           3     7       8  Class java.lang.Throwable
           3     9      12  any

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.hsqldb.Database$CheckpointRunner this
         0: .line 863
            aload 0 /* this */
            getfield org.hsqldb.Database$CheckpointRunner.this$0:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
            invokevirtual org.hsqldb.persist.Logger.isLogged:()Z
            ifne 2
         1: .line 864
            return
         2: .line 867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         3: .line 868
            aload 0 /* this */
            getfield org.hsqldb.Database$CheckpointRunner.waiting:Z
            ifeq 6
         4: .line 869
            aload 1
            monitorexit
         5: return
         6: .line 872
      StackMap locals: org.hsqldb.Database$CheckpointRunner
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.Database$CheckpointRunner.waiting:Z
         7: .line 867
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 875
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.hsqldb.DatabaseManager.getTimer:()Lorg/hsqldb/lib/HsqlTimer;
            lconst_0
            aload 0 /* this */
            invokevirtual org.hsqldb.lib.HsqlTimer.scheduleAfter:(JLjava/lang/Runnable;)Ljava/lang/Object;
            putfield org.hsqldb.Database$CheckpointRunner.timerTask:Ljava/lang/Object;
        12: .line 876
            return
        end local 0 // org.hsqldb.Database$CheckpointRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/hsqldb/Database$CheckpointRunner;
      Exception table:
        from    to  target  type
           3     5       9  any
           6     8       9  any
           9    10       9  any

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Database$CheckpointRunner this
         0: .line 880
            aload 0 /* this */
            getfield org.hsqldb.Database$CheckpointRunner.timerTask:Ljava/lang/Object;
            invokestatic org.hsqldb.lib.HsqlTimer.cancel:(Ljava/lang/Object;)V
         1: .line 882
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.Database$CheckpointRunner.timerTask:Ljava/lang/Object;
         2: .line 883
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Database$CheckpointRunner.waiting:Z
         3: .line 884
            return
        end local 0 // org.hsqldb.Database$CheckpointRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/Database$CheckpointRunner;
}
SourceFile: "Database.java"
NestHost: org.hsqldb.Database
InnerClasses:
  CheckpointRunner = org.hsqldb.Database$CheckpointRunner of org.hsqldb.Database