final class com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk extends com.microsoft.sqlserver.jdbc.TDSCommand
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk
super_class: com.microsoft.sqlserver.jdbc.TDSCommand
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6714118105257791547
final com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this$0;
descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.microsoft.sqlserver.jdbc.SQLServerBulkCopy);
descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk this
0: .line 647
aload 0 /* this */
aload 1
putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
1: .line 648
aload 0 /* this */
ldc "InsertBulk"
iconst_0
iconst_0
invokespecial com.microsoft.sqlserver.jdbc.TDSCommand.<init>:(Ljava/lang/String;II)V
2: .line 649
return
end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$1InsertBulk;
MethodParameters:
Name Flags
this$0 final
final boolean doExecute();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=6, locals=5, args_size=1
start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk this
0: .line 652
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.getBulkCopyTimeout:()I
istore 1 /* timeoutSeconds */
start local 1 // int timeoutSeconds
1: .line 653
iload 1 /* timeoutSeconds */
ifle 6
2: .line 654
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed:()V
3: .line 655
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSharedTimer:()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
new com.microsoft.sqlserver.jdbc.TDSTimeoutTask
dup
aload 0 /* this */
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokespecial com.microsoft.sqlserver.jdbc.TDSTimeoutTask.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
4: .line 656
iload 1 /* timeoutSeconds */
i2l
5: .line 655
invokevirtual com.microsoft.sqlserver.jdbc.SharedTimer.schedule:(Lcom/microsoft/sqlserver/jdbc/TDSTimeoutTask;J)Ljava/util/concurrent/ScheduledFuture;
putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.timeout:Ljava/util/concurrent/ScheduledFuture;
6: .line 663
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
aload 0 /* this */
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.doInsertBulk:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Z
ifne 6
7: .line 664
goto 23
StackMap locals:
StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
8: astore 2 /* topLevelException */
start local 2 // com.microsoft.sqlserver.jdbc.SQLServerException topLevelException
9: .line 666
aload 2 /* topLevelException */
astore 3 /* rootCause */
start local 3 // java.lang.Throwable rootCause
10: .line 667
goto 12
11: .line 668
StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerException java.lang.Throwable
StackMap stack:
aload 3 /* rootCause */
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
astore 3 /* rootCause */
12: .line 667
StackMap locals:
StackMap stack:
aload 3 /* rootCause */
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
ifnonnull 11
13: .line 672
aload 3 /* rootCause */
instanceof java.sql.SQLException
ifeq 22
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.timeout:Ljava/util/concurrent/ScheduledFuture;
ifnull 22
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.timeout:Ljava/util/concurrent/ScheduledFuture;
invokeinterface java.util.concurrent.ScheduledFuture.isDone:()Z
ifeq 22
14: .line 673
aload 3 /* rootCause */
checkcast java.sql.SQLException
astore 4 /* sqlEx */
start local 4 // java.sql.SQLException sqlEx
15: .line 674
aload 4 /* sqlEx */
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
ifnull 22
16: .line 675
aload 4 /* sqlEx */
invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
getstatic com.microsoft.sqlserver.jdbc.SQLState.STATEMENT_CANCELED:Lcom/microsoft/sqlserver/jdbc/SQLState;
invokevirtual com.microsoft.sqlserver.jdbc.SQLState.getSQLStateCode:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
17: .line 677
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isUseInternalTransaction:()Z
ifeq 19
18: .line 678
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.rollback:()V
19: .line 680
StackMap locals: java.sql.SQLException
StackMap stack:
new com.microsoft.sqlserver.jdbc.SQLServerException
dup
ldc "R_queryTimedOut"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
20: .line 681
getstatic com.microsoft.sqlserver.jdbc.SQLState.STATEMENT_CANCELED:Lcom/microsoft/sqlserver/jdbc/SQLState;
getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
aload 4 /* sqlEx */
21: .line 680
invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
athrow
end local 4 // java.sql.SQLException sqlEx
22: .line 686
StackMap locals:
StackMap stack:
aload 2 /* topLevelException */
athrow
end local 3 // java.lang.Throwable rootCause
end local 2 // com.microsoft.sqlserver.jdbc.SQLServerException topLevelException
23: .line 689
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.timeout:Ljava/util/concurrent/ScheduledFuture;
ifnull 26
24: .line 690
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.timeout:Ljava/util/concurrent/ScheduledFuture;
iconst_1
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
25: .line 691
aload 0 /* this */
getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
aconst_null
putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.timeout:Ljava/util/concurrent/ScheduledFuture;
26: .line 693
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 // int timeoutSeconds
end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk this
LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$1InsertBulk;
1 27 1 timeoutSeconds I
9 23 2 topLevelException Lcom/microsoft/sqlserver/jdbc/SQLServerException;
10 23 3 rootCause Ljava/lang/Throwable;
15 22 4 sqlEx Ljava/sql/SQLException;
Exception table:
from to target type
6 7 8 Class com.microsoft.sqlserver.jdbc.SQLServerException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
}
SourceFile: "SQLServerBulkCopy.java"
EnclosingMethod: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sendBulkLoadBCP:()V
NestHost: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy
InnerClasses:
final InsertBulk = com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk