public class org.h2.value.ValueTimestampTimeZone extends org.h2.value.Value
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.value.ValueTimestampTimeZone
super_class: org.h2.value.Value
{
public static final int DEFAULT_PRECISION;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int MAXIMUM_PRECISION;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 35
static final int DEFAULT_SCALE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
static final int MAXIMUM_SCALE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
private final long dateValue;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long timeNanos;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final short timeZoneOffsetMins;
descriptor: S
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(long, long, short);
descriptor: (JJS)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
invokespecial org.h2.value.Value.<init>:()V
1: lload 3
lconst_0
lcmp
iflt 2
lload 3
ldc 86400000000000
lcmp
iflt 5
2: StackMap locals: org.h2.value.ValueTimestampTimeZone long long int
StackMap stack:
new java.lang.IllegalArgumentException
dup
3: new java.lang.StringBuilder
dup
ldc "timeNanos out of range "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
iload 5
sipush -1080
if_icmplt 7
6: iload 5
sipush 1080
if_icmple 10
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
8: new java.lang.StringBuilder
dup
ldc "timeZoneOffsetMins out of range "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield org.h2.value.ValueTimestampTimeZone.dateValue:J
11: aload 0
lload 3
putfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
12: aload 0
iload 5
putfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
13: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/value/ValueTimestampTimeZone;
0 14 1 dateValue J
0 14 3 timeNanos J
0 14 5 timeZoneOffsetMins S
MethodParameters:
Name Flags
dateValue
timeNanos
timeZoneOffsetMins
public static org.h2.value.ValueTimestampTimeZone fromDateValueAndNanos(long, long, short);
descriptor: (JJS)Lorg/h2/value/ValueTimestampTimeZone;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 2 start local 4 0: new org.h2.value.ValueTimestampTimeZone
dup
1: lload 0
lload 2
iload 4
2: invokespecial org.h2.value.ValueTimestampTimeZone.<init>:(JJS)V
invokestatic org.h2.value.Value.cache:(Lorg/h2/value/Value;)Lorg/h2/value/Value;
checkcast org.h2.value.ValueTimestampTimeZone
areturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 dateValue J
0 3 2 timeNanos J
0 3 4 timeZoneOffsetMins S
MethodParameters:
Name Flags
dateValue
timeNanos
timeZoneOffsetMins
public static org.h2.value.ValueTimestampTimeZone get(org.h2.api.TimestampWithTimeZone);
descriptor: (Lorg/h2/api/TimestampWithTimeZone;)Lorg/h2/value/ValueTimestampTimeZone;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.h2.api.TimestampWithTimeZone.getYMD:()J
1: aload 0
invokevirtual org.h2.api.TimestampWithTimeZone.getNanosSinceMidnight:()J
2: aload 0
invokevirtual org.h2.api.TimestampWithTimeZone.getTimeZoneOffsetMins:()S
3: invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 timestamp Lorg/h2/api/TimestampWithTimeZone;
MethodParameters:
Name Flags
timestamp
public static org.h2.value.ValueTimestampTimeZone parse(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/h2/value/ValueTimestampTimeZone;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
aconst_null
iconst_1
invokestatic org.h2.util.DateTimeUtils.parseTimestamp:(Ljava/lang/String;Lorg/h2/engine/Mode;Z)Lorg/h2/value/Value;
checkcast org.h2.value.ValueTimestampTimeZone
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 3: sipush 22007
aload 1
iconst_2
anewarray java.lang.String
dup
iconst_0
4: ldc "TIMESTAMP WITH TIME ZONE"
aastore
dup
iconst_1
aload 0
aastore
5: invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 s Ljava/lang/String;
3 6 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
s
public long getDateValue();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueTimestampTimeZone;
public long getTimeNanos();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueTimestampTimeZone;
public short getTimeZoneOffsetMins();
descriptor: ()S
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueTimestampTimeZone;
public java.sql.Timestamp getTimestamp();
descriptor: ()Ljava/sql/Timestamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
invokestatic org.h2.util.DateTimeUtils.convertTimestampTimeZoneToTimestamp:(JJS)Ljava/sql/Timestamp;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueTimestampTimeZone;
public org.h2.value.TypeInfo getType();
descriptor: ()Lorg/h2/value/TypeInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.h2.value.TypeInfo.TYPE_TIMESTAMP_TZ:Lorg/h2/value/TypeInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueTimestampTimeZone;
public int getValueType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 24
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueTimestampTimeZone;
public int getMemory();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 40
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueTimestampTimeZone;
public java.lang.String getString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
bipush 35
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: aload 1
aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
invokestatic org.h2.util.DateTimeUtils.appendTimestampTimeZone:(Ljava/lang/StringBuilder;JJS)V
2: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/value/ValueTimestampTimeZone;
1 3 1 builder Ljava/lang/StringBuilder;
public java.lang.StringBuilder getSQL(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "TIMESTAMP WITH TIME ZONE '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
1: aload 1
aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
invokestatic org.h2.util.DateTimeUtils.appendTimestampTimeZone:(Ljava/lang/StringBuilder;JJS)V
2: aload 1
bipush 39
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/value/ValueTimestampTimeZone;
0 3 1 builder Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
builder
public boolean checkPrecision(long);
descriptor: (J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/value/ValueTimestampTimeZone;
0 1 1 precision J
MethodParameters:
Name Flags
precision
public org.h2.value.Value convertScale(boolean, int);
descriptor: (ZI)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 9
if_icmplt 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
iload 2
ifge 4
3: ldc "scale"
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
lstore 3
start local 3 5: lload 3
iload 2
invokestatic org.h2.util.DateTimeUtils.convertScale:(JI)J
lstore 5
start local 5 6: lload 5
lload 3
lcmp
ifne 8
7: aload 0
areturn
8: StackMap locals: long long
StackMap stack:
aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
lstore 7
start local 7 9: lload 5
ldc 86400000000000
lcmp
iflt 12
10: lload 5
ldc 86400000000000
lsub
lstore 5
11: lload 7
invokestatic org.h2.util.DateTimeUtils.incrementDateValue:(J)J
lstore 7
12: StackMap locals: long
StackMap stack:
lload 7
lload 5
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
areturn
end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/h2/value/ValueTimestampTimeZone;
0 13 1 onlyToSmallerScale Z
0 13 2 targetScale I
5 13 3 n J
6 13 5 n2 J
9 13 7 dv J
MethodParameters:
Name Flags
onlyToSmallerScale
targetScale
public int compareTypeSafe(org.h2.value.Value, org.h2.value.CompareMode);
descriptor: (Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast org.h2.value.ValueTimestampTimeZone
astore 3
start local 3 1: aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
lstore 4
start local 4 2: aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
i2l
ldc 60000000000
lmul
lsub
lstore 6
start local 6 3: lload 6
lconst_0
lcmp
ifge 7
4: lload 6
ldc 86400000000000
ladd
lstore 6
5: lload 4
invokestatic org.h2.util.DateTimeUtils.decrementDateValue:(J)J
lstore 4
6: goto 10
StackMap locals: org.h2.value.ValueTimestampTimeZone long long
StackMap stack:
7: lload 6
ldc 86400000000000
lcmp
iflt 10
8: lload 6
ldc 86400000000000
lsub
lstore 6
9: lload 4
invokestatic org.h2.util.DateTimeUtils.incrementDateValue:(J)J
lstore 4
10: StackMap locals:
StackMap stack:
aload 3
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
lstore 8
start local 8 11: aload 3
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
aload 3
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
i2l
ldc 60000000000
lmul
lsub
lstore 10
start local 10 12: lload 10
lconst_0
lcmp
ifge 16
13: lload 10
ldc 86400000000000
ladd
lstore 10
14: lload 8
invokestatic org.h2.util.DateTimeUtils.decrementDateValue:(J)J
lstore 8
15: goto 19
StackMap locals: long long
StackMap stack:
16: lload 10
ldc 86400000000000
lcmp
iflt 19
17: lload 10
ldc 86400000000000
lsub
lstore 10
18: lload 8
invokestatic org.h2.util.DateTimeUtils.incrementDateValue:(J)J
lstore 8
19: StackMap locals:
StackMap stack:
lload 4
lload 8
invokestatic java.lang.Long.compare:(JJ)I
istore 12
start local 12 20: iload 12
ifeq 22
21: iload 12
ireturn
22: StackMap locals: int
StackMap stack:
lload 6
lload 10
invokestatic java.lang.Long.compare:(JJ)I
ireturn
end local 12 end local 10 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/h2/value/ValueTimestampTimeZone;
0 23 1 o Lorg/h2/value/Value;
0 23 2 mode Lorg/h2/value/CompareMode;
1 23 3 t Lorg/h2/value/ValueTimestampTimeZone;
2 23 4 dateValueA J
3 23 6 timeA J
11 23 8 dateValueB J
12 23 10 timeB J
20 23 12 cmp I
MethodParameters:
Name Flags
o
mode
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.h2.value.ValueTimestampTimeZone
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.h2.value.ValueTimestampTimeZone
astore 2
start local 2 5: aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
aload 2
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
lcmp
ifne 8
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
aload 2
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
lcmp
ifne 8
6: aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
aload 2
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
if_icmpne 8
7: iconst_1
ireturn
StackMap locals: org.h2.value.ValueTimestampTimeZone
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/h2/value/ValueTimestampTimeZone;
0 9 1 other Ljava/lang/Object;
5 9 2 x Lorg/h2/value/ValueTimestampTimeZone;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
bipush 32
lushr
lxor
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
lxor
1: aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
bipush 32
lushr
2: lxor
3: aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
i2l
4: lxor
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/value/ValueTimestampTimeZone;
public java.lang.Object getObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: getstatic org.h2.engine.SysProperties.RETURN_OFFSET_DATE_TIME:Z
ifeq 2
invokestatic org.h2.util.LocalDateTimeUtils.isJava8DateApiPresent:()Z
ifeq 2
1: aload 0
invokestatic org.h2.util.LocalDateTimeUtils.valueToOffsetDateTime:(Lorg/h2/value/Value;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
new org.h2.api.TimestampWithTimeZone
dup
aload 0
getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
aload 0
getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
invokespecial org.h2.api.TimestampWithTimeZone.<init>:(JJS)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/value/ValueTimestampTimeZone;
public void set(java.sql.PreparedStatement, int);
descriptor: (Ljava/sql/PreparedStatement;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
aload 0
invokevirtual org.h2.value.ValueTimestampTimeZone.getString:()Ljava/lang/String;
invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/value/ValueTimestampTimeZone;
0 2 1 prep Ljava/sql/PreparedStatement;
0 2 2 parameterIndex I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
prep
parameterIndex
public org.h2.value.Value add(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "manipulating TIMESTAMP WITH TIME ZONE values is unsupported"
1: invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/value/ValueTimestampTimeZone;
0 2 1 v Lorg/h2/value/Value;
MethodParameters:
Name Flags
v
public org.h2.value.Value subtract(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "manipulating TIMESTAMP WITH TIME ZONE values is unsupported"
1: invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/value/ValueTimestampTimeZone;
0 2 1 v Lorg/h2/value/Value;
MethodParameters:
Name Flags
v
}
SourceFile: "ValueTimestampTimeZone.java"