public class com.microsoft.sqlserver.jdbc.MaxResultBufferParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.microsoft.sqlserver.jdbc.MaxResultBufferParser
super_class: java.lang.Object
{
private static final java.util.logging.Logger logger;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] PERCENT_PHRASES;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String ERROR_MESSAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "MaxResultBuffer property is badly formatted: {0}."
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc "com.microsoft.sqlserver.jdbc.MaxResultBufferParser"
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
1: iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "percent"
aastore
dup
iconst_1
ldc "pct"
aastore
dup
iconst_2
ldc "p"
aastore
putstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.PERCENT_PHRASES:[Ljava/lang/String;
2: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/sqlserver/jdbc/MaxResultBufferParser;
public static long validateMaxResultBuffer(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=9, args_size=1
start local 0 0: ldc -1
lstore 2
start local 2 1: aload 0
invokestatic com.microsoft.sqlserver.jdbc.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 2
aload 0
ldc "-1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: StackMap locals: java.lang.String top long
StackMap stack:
lload 2
lreturn
3: StackMap locals:
StackMap stack:
aload 0
invokestatic com.microsoft.sqlserver.jdbc.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 11
aload 0
ldc "-?\\d+(\\.\\d+)?"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 11
4: aload 0
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 2
5: goto 10
StackMap locals:
StackMap stack: java.lang.NumberFormatException
6: astore 4
start local 4 7: getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 9
8: getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
ldc "MaxResultBuffer property is badly formatted: {0}."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
9: StackMap locals: java.lang.NumberFormatException
StackMap stack:
aload 4
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.throwNewInvalidMaxResultBufferParameterException:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
end local 4 10: StackMap locals:
StackMap stack:
lload 2
lconst_1
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.adjustMemory:(JJ)J
lreturn
11: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.PERCENT_PHRASES:[Ljava/lang/String;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 23
StackMap locals: java.lang.String top long top int int java.lang.String[]
StackMap stack:
12: aload 7
iload 5
aaload
astore 4
start local 4 13: aload 0
aload 4
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 22
14: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
aload 4
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
start local 1 15: aload 1
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 2
16: goto 21
StackMap locals: java.lang.String java.lang.String long java.lang.String int int java.lang.String[]
StackMap stack: java.lang.NumberFormatException
17: astore 8
start local 8 18: getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 20
19: getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
ldc "MaxResultBuffer property is badly formatted: {0}."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
20: StackMap locals: java.lang.NumberFormatException
StackMap stack:
aload 8
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.throwNewInvalidMaxResultBufferParameterException:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
end local 8 21: StackMap locals:
StackMap stack:
lload 2
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.adjustMemoryPercentage:(J)J
lreturn
end local 4 end local 1 22: StackMap locals: java.lang.String top long top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
23: iload 5
iload 6
if_icmplt 12
24: aload 0
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.getMultiplier:(Ljava/lang/String;)J
lstore 4
start local 4 25: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
start local 1 26: aload 1
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 2
27: goto 32
StackMap locals: java.lang.String java.lang.String long long
StackMap stack: java.lang.NumberFormatException
28: astore 6
start local 6 29: getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 31
30: getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
ldc "MaxResultBuffer property is badly formatted: {0}."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
31: StackMap locals: java.lang.NumberFormatException
StackMap stack:
aload 6
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.throwNewInvalidMaxResultBufferParameterException:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
end local 6 32: StackMap locals:
StackMap stack:
lload 2
lload 4
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.adjustMemory:(JJ)J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 input Ljava/lang/String;
15 22 1 numberString Ljava/lang/String;
26 33 1 numberString Ljava/lang/String;
1 33 2 number J
7 10 4 e Ljava/lang/NumberFormatException;
13 22 4 percentPhrase Ljava/lang/String;
18 21 8 e Ljava/lang/NumberFormatException;
25 33 4 multiplier J
29 32 6 e Ljava/lang/NumberFormatException;
Exception table:
from to target type
4 5 6 Class java.lang.NumberFormatException
15 16 17 Class java.lang.NumberFormatException
26 27 28 Class java.lang.NumberFormatException
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
input
private static void checkForNegativeValue(long);
descriptor: (J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifgt 10
1: iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
astore 2
start local 2 2: new java.text.MessageFormat
dup
3: ldc "R_maxResultBufferNegativeParameterValue"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
4: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 5: getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 9
6: getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
ldc "R_maxResultBufferNegativeParameterValue"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
7: aload 2
8: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
9: StackMap locals: java.lang.Object[] java.text.MessageFormat
StackMap stack:
new com.microsoft.sqlserver.jdbc.SQLServerException
dup
aload 3
aload 2
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
new java.lang.Throwable
dup
invokespecial java.lang.Throwable.<init>:()V
invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 value J
2 10 2 objectToThrow [Ljava/lang/Object;
5 10 3 form Ljava/text/MessageFormat;
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
value
private static long getMultiplier(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: lconst_1
lstore 1
start local 1 1: aload 0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.toUpperCase:(C)C
lookupswitch { // 4
71: 6
75: 2
77: 4
84: 8
default: 10
}
2: StackMap locals: long
StackMap stack:
ldc 1000
lstore 1
3: goto 13
4: StackMap locals:
StackMap stack:
ldc 1000000
lstore 1
5: goto 13
6: StackMap locals:
StackMap stack:
ldc 1000000000
lstore 1
7: goto 13
8: StackMap locals:
StackMap stack:
ldc 1000000000000
lstore 1
9: goto 13
10: StackMap locals:
StackMap stack:
getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 12
11: getstatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
ldc "MaxResultBuffer property is badly formatted: {0}."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aconst_null
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.throwNewInvalidMaxResultBufferParameterException:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 input Ljava/lang/String;
1 14 1 multiplier J
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
input
private static long adjustMemoryPercentage(long);
descriptor: (J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: lload 0
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.checkForNegativeValue:(J)V
1: lload 0
ldc 90
lcmp
ifle 3
2: ldc 0.9
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.getMaxMemory:()J
l2d
dmul
d2l
lreturn
3: StackMap locals:
StackMap stack:
lload 0
l2d
ldc 100.0
ddiv
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.getMaxMemory:()J
l2d
dmul
d2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 percentage J
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
percentage
private static long adjustMemory(long, long);
descriptor: (JJ)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 2 0: lload 0
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.checkForNegativeValue:(J)V
1: lload 0
lload 2
lmul
l2d
ldc 0.9
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.getMaxMemory:()J
l2d
dmul
dcmpl
ifle 3
2: ldc 0.9
invokestatic com.microsoft.sqlserver.jdbc.MaxResultBufferParser.getMaxMemory:()J
l2d
dmul
d2l
lreturn
3: StackMap locals:
StackMap stack:
lload 0
lload 2
lmul
lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 size J
0 4 2 multiplier J
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
size
multiplier
private static long getMaxMemory();
descriptor: ()J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic java.lang.management.ManagementFactory.getMemoryMXBean:()Ljava/lang/management/MemoryMXBean;
invokeinterface java.lang.management.MemoryMXBean.getHeapMemoryUsage:()Ljava/lang/management/MemoryUsage;
invokevirtual java.lang.management.MemoryUsage.getMax:()J
lreturn
LocalVariableTable:
Start End Slot Name Signature
private static void throwNewInvalidMaxResultBufferParameterException(java.lang.Throwable, java.lang.Object[]);
descriptor: (Ljava/lang/Throwable;[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.text.MessageFormat
dup
ldc "R_maxResultBufferInvalidSyntax"
invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: new com.microsoft.sqlserver.jdbc.SQLServerException
dup
aload 2
aload 1
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
aload 0
invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 cause Ljava/lang/Throwable;
0 2 1 arguments [Ljava/lang/Object;
1 2 2 form Ljava/text/MessageFormat;
Exceptions:
throws com.microsoft.sqlserver.jdbc.SQLServerException
MethodParameters:
Name Flags
cause
arguments
}
SourceFile: "MaxResultBufferParser.java"