public class oadd.org.apache.calcite.avatica.util.DateTimeUtils extends java.lang.Object
{
public static final int EPOCH_JULIAN;
public static final java.lang.String DATE_FORMAT_STRING;
public static final java.lang.String TIME_FORMAT_STRING;
public static final java.lang.String TIMESTAMP_FORMAT_STRING;
public static final java.util.TimeZone GMT_ZONE;
public static final java.util.TimeZone UTC_ZONE;
public static final java.util.TimeZone DEFAULT_ZONE;
public static final long MILLIS_PER_SECOND;
public static final long MILLIS_PER_MINUTE;
public static final long MILLIS_PER_HOUR;
public static final long MILLIS_PER_DAY;
public static final long SECONDS_PER_DAY;
public static final long NANOS_PER_MILLI;
public static final java.util.Calendar ZERO_CALENDAR;
private static final oadd.org.apache.calcite.avatica.util.DateTimeUtils$OffsetDateTimeHandler OFFSET_DATE_TIME_HANDLER;
static final boolean $assertionsDisabled;
private void <init>()
{
oadd.org.apache.calcite.avatica.util.DateTimeUtils v;
v := @this: oadd.org.apache.calcite.avatica.util.DateTimeUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
private static java.util.Calendar parseDateFormat(java.lang.String, java.text.DateFormat, java.util.TimeZone, java.text.ParsePosition)
{
java.util.Date v;
java.util.TimeZone v, v;
java.text.ParsePosition v;
java.util.Calendar v;
java.util.Locale v;
java.lang.String v;
java.text.DateFormat v;
v := @parameter: java.lang.String;
v := @parameter: java.text.DateFormat;
v := @parameter: java.util.TimeZone;
v := @parameter: java.text.ParsePosition;
if v != null goto label;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone DEFAULT_ZONE>;
label:
v = <java.util.Locale: java.util.Locale ROOT>;
v = staticinvoke <java.util.Calendar: java.util.Calendar getInstance(java.util.TimeZone,java.util.Locale)>(v, v);
virtualinvoke v.<java.text.DateFormat: void setCalendar(java.util.Calendar)>(v);
virtualinvoke v.<java.text.DateFormat: void setLenient(boolean)>(0);
v = virtualinvoke v.<java.text.DateFormat: java.util.Date parse(java.lang.String,java.text.ParsePosition)>(v, v);
if null != v goto label;
return null;
label:
virtualinvoke v.<java.util.Calendar: void setTime(java.util.Date)>(v);
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone UTC_ZONE>;
virtualinvoke v.<java.util.Calendar: void setTimeZone(java.util.TimeZone)>(v);
return v;
}
public static java.util.Calendar parseDateFormat(java.lang.String, java.lang.String, java.util.TimeZone)
{
java.util.Calendar v;
java.util.Locale v;
java.util.TimeZone v;
java.text.SimpleDateFormat v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.util.TimeZone;
v = new java.text.SimpleDateFormat;
v = <java.util.Locale: java.util.Locale ROOT>;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String,java.util.Locale)>(v, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.Calendar parseDateFormat(java.lang.String,java.text.DateFormat,java.util.TimeZone)>(v, v, v);
return v;
}
public static java.util.Calendar parseDateFormat(java.lang.String, java.text.DateFormat, java.util.TimeZone)
{
java.util.Calendar v;
java.util.TimeZone v;
int v, v;
java.text.ParsePosition v;
java.lang.String v;
java.text.DateFormat v;
v := @parameter: java.lang.String;
v := @parameter: java.text.DateFormat;
v := @parameter: java.util.TimeZone;
v = new java.text.ParsePosition;
specialinvoke v.<java.text.ParsePosition: void <init>(int)>(0);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.Calendar parseDateFormat(java.lang.String,java.text.DateFormat,java.util.TimeZone,java.text.ParsePosition)>(v, v, v, v);
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
return null;
label:
return v;
}
public static oadd.org.apache.calcite.avatica.util.DateTimeUtils$PrecisionTime parsePrecisionDateTimeLiteral(java.lang.String, java.lang.String, java.util.TimeZone)
{
java.util.TimeZone v;
java.text.SimpleDateFormat v;
java.lang.AssertionError v;
oadd.org.apache.calcite.avatica.util.DateTimeUtils$PrecisionTime v;
java.util.Locale v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.util.TimeZone;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = new java.text.SimpleDateFormat;
v = <java.util.Locale: java.util.Locale ROOT>;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String,java.util.Locale)>(v, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: oadd.org.apache.calcite.avatica.util.DateTimeUtils$PrecisionTime parsePrecisionDateTimeLiteral(java.lang.String,java.text.DateFormat,java.util.TimeZone,int)>(v, v, v, 3);
return v;
}
public static oadd.org.apache.calcite.avatica.util.DateTimeUtils$PrecisionTime parsePrecisionDateTimeLiteral(java.lang.String, java.text.DateFormat, java.util.TimeZone, int)
{
oadd.org.apache.calcite.avatica.util.DateTimeUtils$PrecisionTime v;
java.util.Locale v;
java.text.DateFormat v;
boolean v, v;
java.util.TimeZone v;
java.text.ParsePosition v;
java.lang.AssertionError v;
java.text.NumberFormat v;
java.util.Calendar v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
java.lang.Number v;
char v;
v := @parameter: java.lang.String;
v := @parameter: java.text.DateFormat;
v := @parameter: java.util.TimeZone;
v := @parameter: int;
v = new java.text.ParsePosition;
specialinvoke v.<java.text.ParsePosition: void <init>(int)>(0);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.Calendar parseDateFormat(java.lang.String,java.text.DateFormat,java.util.TimeZone,java.text.ParsePosition)>(v, v, v, v);
if v != null goto label;
return null;
label:
v = 0;
v = "";
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 46 goto label;
return null;
label:
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = v + 1;
virtualinvoke v.<java.text.ParsePosition: void setIndex(int)>(v);
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: boolean matches(java.lang.String)>("\\d+");
if v != 0 goto label;
return null;
label:
v = <java.util.Locale: java.util.Locale ROOT>;
v = staticinvoke <java.text.NumberFormat: java.text.NumberFormat getIntegerInstance(java.util.Locale)>(v);
v = virtualinvoke v.<java.text.NumberFormat: java.lang.Number parse(java.lang.String,java.text.ParsePosition)>(v, v);
if v == null goto label;
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
label:
return null;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v < 0 goto label;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = v;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 3 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, 3);
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= 3 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u00010");
goto label;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
virtualinvoke v.<java.util.Calendar: void add(int,int)>(14, v);
label:
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: boolean $assertionsDisabled>;
if v != 0 goto label;
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = new oadd.org.apache.calcite.avatica.util.DateTimeUtils$PrecisionTime;
specialinvoke v.<oadd.org.apache.calcite.avatica.util.DateTimeUtils$PrecisionTime: void <init>(java.util.Calendar,java.lang.String,int)>(v, v, v);
return v;
}
public static java.util.TimeZone getTimeZone(java.util.Calendar)
{
java.util.Calendar v;
java.util.TimeZone v, v;
v := @parameter: java.util.Calendar;
if v != null goto label;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone DEFAULT_ZONE>;
return v;
label:
v = virtualinvoke v.<java.util.Calendar: java.util.TimeZone getTimeZone()>();
return v;
}
public static void checkDateFormat(java.lang.String)
{
java.text.SimpleDateFormat v;
java.lang.String v;
java.util.Locale v;
v := @parameter: java.lang.String;
v = new java.text.SimpleDateFormat;
v = <java.util.Locale: java.util.Locale ROOT>;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String,java.util.Locale)>(v, v);
return;
}
public static java.text.SimpleDateFormat newDateFormat(java.lang.String)
{
java.text.SimpleDateFormat v;
java.lang.String v;
java.util.Locale v;
v := @parameter: java.lang.String;
v = new java.text.SimpleDateFormat;
v = <java.util.Locale: java.util.Locale ROOT>;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String,java.util.Locale)>(v, v);
virtualinvoke v.<java.text.SimpleDateFormat: void setLenient(boolean)>(0);
return v;
}
public static java.lang.String unixTimestampToString(long)
{
long v;
java.lang.String v;
v := @parameter: long;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.String unixTimestampToString(long,int)>(v, 0);
return v;
}
public static java.lang.String unixTimestampToString(long, int)
{
int v;
java.lang.StringBuilder v;
long v, v, v;
java.lang.String v;
v := @parameter: long;
v := @parameter: int;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(17);
v = v / 86400000L;
v = v % 86400000L;
if v >= 0 goto label;
v = v - 1;
label:
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void unixDateToString(java.lang.StringBuilder,int)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void unixTimeToString(java.lang.StringBuilder,int,int)>(v, v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.String unixTimeToString(int)
{
int v;
java.lang.String v;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.String unixTimeToString(int,int)>(v, 0);
return v;
}
public static java.lang.String unixTimeToString(int, int)
{
int v, v;
java.lang.StringBuilder v;
java.lang.String v;
v := @parameter: int;
v := @parameter: int;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(8);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void unixTimeToString(java.lang.StringBuilder,int,int)>(v, v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static void unixTimeToString(java.lang.StringBuilder, int, int)
{
int v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v := @parameter: int;
v = v / 3600000;
v = v % 3600000;
v = (int) 60000;
v = v / v;
v = (int) 60000;
v = v % v;
v = v / 1000;
v = v % 1000;
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void int2(java.lang.StringBuilder,int)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void int2(java.lang.StringBuilder,int)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void int2(java.lang.StringBuilder,int)>(v, v);
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
label:
if v <= 0 goto label;
v = v / 100;
v = 48 + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v % 100;
v = v * 10;
v = v - 1;
goto label;
label:
return;
}
private static void int2(java.lang.StringBuilder, int)
{
int v, v, v, v, v, v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v = v / 10;
v = v % 10;
v = 48 + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v % 10;
v = 48 + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
return;
}
private static void int4(java.lang.StringBuilder, int)
{
int v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v = v / 1000;
v = v % 10;
v = 48 + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v / 100;
v = v % 10;
v = 48 + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v / 10;
v = v % 10;
v = 48 + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v % 10;
v = 48 + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
return;
}
public static java.lang.String unixDateToString(int)
{
int v;
java.lang.StringBuilder v;
java.lang.String v;
v := @parameter: int;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(10);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void unixDateToString(java.lang.StringBuilder,int)>(v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static void unixDateToString(java.lang.StringBuilder, int)
{
int v, v;
java.lang.StringBuilder v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v = v + 2440588;
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void julianToString(java.lang.StringBuilder,int)>(v, v);
return;
}
private static void julianToString(java.lang.StringBuilder, int)
{
java.lang.StringBuilder v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v = v + 32044;
v = v / 146097;
v = v % 146097;
v = (int) 36524;
v = v / v;
v = v + 1;
v = v * 3;
v = v / 4;
v = (int) 36524;
v = v * v;
v = v - v;
v = v / 1461;
v = v % 1461;
v = v / 365;
v = v + 1;
v = v * 3;
v = v / 4;
v = v * 365;
v = v - v;
v = v * 400;
v = v * 100;
v = v + v;
v = v * 4;
v = v + v;
v = v + v;
v = v * 5;
v = v + 308;
v = v / 153;
v = v - 2;
v = v + 4;
v = v * 153;
v = v / 5;
v = v - v;
v = v + 122;
v = v - 4800;
v = v + 2;
v = v / 12;
v = v + v;
v = v + 2;
v = v % 12;
v = v + 1;
v = v + 1;
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void int4(java.lang.StringBuilder,int)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void int2(java.lang.StringBuilder,int)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void int2(java.lang.StringBuilder,int)>(v, v);
return;
}
public static java.lang.String intervalYearMonthToString(int, oadd.org.apache.calcite.avatica.util.TimeUnitRange)
{
java.lang.AssertionError v;
int[] v;
int v, v, v, v, v, v, v;
java.lang.StringBuilder v;
java.lang.String v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
v := @parameter: int;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
if v < 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(43);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
v = neg v;
label:
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils$1: int[] $SwitchMap$org$apache$calcite$avatica$util$TimeUnitRange>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.util.TimeUnitRange: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int roundUp(int,int)>(v, 12);
v = v / 12;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
goto label;
label:
v = v / 12;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
v = v % 12;
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public static java.lang.StringBuilder number(java.lang.StringBuilder, int, int)
{
int v, v, v;
java.lang.StringBuilder v, v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int digitCount(int)>(v);
label:
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(48);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
return v;
}
public static int digitCount(int)
{
int v, v;
v := @parameter: int;
v = 1;
label:
v = v / 10;
if v != 0 goto label;
return v;
label:
v = v + 1;
goto label;
}
private static int roundUp(int, int)
{
int v, v, v, v, v;
v := @parameter: int;
v := @parameter: int;
v = v % v;
v = v - v;
v = v * 2;
if v <= v goto label;
v = v + v;
label:
return v;
}
public static long powerX(long, long)
{
byte v;
long v, v, v;
v := @parameter: long;
v := @parameter: long;
v = 1L;
label:
v = v cmp 0L;
if v <= 0 goto label;
v = v * v;
v = v - 1L;
goto label;
label:
return v;
}
public static java.lang.String intervalDayTimeToString(long, oadd.org.apache.calcite.avatica.util.TimeUnitRange, int)
{
byte v;
java.lang.StringBuilder v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.AssertionError v;
java.lang.String v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
int[] v;
int v, v, v, v, v, v, v;
v := @parameter: long;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: int;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = v cmp 0L;
if v < 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(43);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
v = neg v;
label:
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils$1: int[] $SwitchMap$org$apache$calcite$avatica$util$TimeUnitRange>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.util.TimeUnitRange: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
default: goto label;
};
label:
v = 3 - v;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long powerX(long,long)>(10L, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, v);
v = v % 1000L;
v = v / 1000L;
v = v % 60L;
v = v / 60L;
v = v % 60L;
v = v / 60L;
v = v % 24L;
v = v / 24L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void fraction(java.lang.StringBuilder,int,long)>(v, v, v);
goto label;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, 60000L);
v = v / 1000L;
v = v / 60L;
v = v % 60L;
v = v / 60L;
v = v % 24L;
v = v / 24L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
goto label;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, 3600000L);
v = v / 1000L;
v = v / 60L;
v = v / 60L;
v = v % 24L;
v = v / 24L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
goto label;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, 86400000L);
v = v / 86400000L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
goto label;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, 3600000L);
v = v / 1000L;
v = v / 60L;
v = v / 60L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
goto label;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, 60000L);
v = v / 1000L;
v = v / 60L;
v = v % 60L;
v = v / 60L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
goto label;
label:
v = 3 - v;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long powerX(long,long)>(10L, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, v);
v = v % 1000L;
v = v / 1000L;
v = v % 60L;
v = v / 60L;
v = v % 60L;
v = v / 60L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void fraction(java.lang.StringBuilder,int,long)>(v, v, v);
goto label;
label:
v = 3 - v;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long powerX(long,long)>(10L, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, v);
v = v % 1000L;
v = v / 1000L;
v = v % 60L;
v = v / 60L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(58);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, 2);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void fraction(java.lang.StringBuilder,int,long)>(v, v, v);
goto label;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, 60000L);
v = v / 1000L;
v = v / 60L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
goto label;
label:
v = 3 - v;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long powerX(long,long)>(10L, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long roundUp(long,long)>(v, v);
v = v % 1000L;
v = v / 1000L;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: void fraction(java.lang.StringBuilder,int,long)>(v, v, v);
goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static long roundUp(long, long)
{
byte v;
long v, v, v, v, v;
v := @parameter: long;
v := @parameter: long;
v = v % v;
v = v - v;
v = v * 2L;
v = v cmp v;
if v <= 0 goto label;
v = v + v;
label:
return v;
}
private static void fraction(java.lang.StringBuilder, int, long)
{
int v;
java.lang.StringBuilder v;
long v, v;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v := @parameter: long;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(46);
if v != 3 goto label;
v = v;
goto label;
label:
if v != 2 goto label;
v = v / 10L;
goto label;
label:
if v != 1 goto label;
v = v / 100L;
goto label;
label:
v = 0L;
label:
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.lang.StringBuilder number(java.lang.StringBuilder,int,int)>(v, v, v);
label:
return;
}
public static int dateStringToUnixDate(java.lang.String)
{
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(45);
if v >= 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = 1;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(45, v);
if v >= 0 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = 1;
goto label;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, v, v);
return v;
}
public static int timeStringToUnixDate(java.lang.String)
{
int v;
java.lang.String v;
v := @parameter: java.lang.String;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int timeStringToUnixDate(java.lang.String,int)>(v, 0);
return v;
}
public static int timeStringToUnixDate(java.lang.String, int)
{
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(58, v);
if v >= 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = 0;
v = 0;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(58, v);
if v >= 0 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = 0;
v = 0;
goto label;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(46, v);
if v >= 0 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = 0;
goto label;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int parseFraction(java.lang.String,int)>(v, 100);
label:
v = v * 3600000;
v = (int) 60000;
v = v * v;
v = v + v;
v = v * 1000;
v = v + v;
v = v + v;
return v;
}
private static int parseFraction(java.lang.String, int)
{
char v, v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
v = 0;
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v < 48 goto label;
if v <= 57 goto label;
label:
v = 0;
goto label;
label:
v = v - 48;
label:
v = v * v;
v = v + v;
if v >= 10 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v < 53 goto label;
v = v + 1;
goto label;
label:
v = v / 10;
v = v + 1;
goto label;
label:
return v;
}
public static long timestampStringToUnixDate(java.lang.String)
{
long v, v;
int v, v, v, v;
java.lang.String v, v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(32);
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int dateStringToUnixDate(java.lang.String)>(v);
v = v + 1;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int timeStringToUnixDate(java.lang.String,int)>(v, v);
goto label;
label:
staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int dateStringToUnixDate(java.lang.String)>(v);
v = 0L;
label:
v = v * 86400000L;
v = v + v;
return v;
}
public static long unixDateExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange, long)
{
long v, v;
int[] v;
int v, v, v, v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: long;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils$1: int[] $SwitchMap$org$apache$calcite$avatica$util$TimeUnitRange>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.util.TimeUnitRange: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 14: goto label;
default: goto label;
};
label:
v = v * 86400L;
return v;
label:
v = v + 2440588;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int julianExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange,int)>(v, v);
return v;
}
private static int julianExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange, int)
{
long v;
java.lang.AssertionError v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
int[] v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: int;
v = v + 32044;
v = v / 146097;
v = v % 146097;
v = (int) 36524;
v = v / v;
v = v + 1;
v = v * 3;
v = v / 4;
v = (int) 36524;
v = v * v;
v = v - v;
v = v / 1461;
v = v % 1461;
v = v / 365;
v = v + 1;
v = v * 3;
v = v / 4;
v = v * 365;
v = v - v;
v = v * 400;
v = v * 100;
v = v + v;
v = v * 4;
v = v + v;
v = v + v;
v = v * 5;
v = v + 308;
v = v / 153;
v = v - 2;
v = v + 4;
v = v * 153;
v = v / 5;
v = v - v;
v = v + 122;
v = v - 4800;
v = v + 2;
v = v / 12;
v = v + v;
v = v + 2;
v = v % 12;
v = v + 1;
v = v + 1;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils$1: int[] $SwitchMap$org$apache$calcite$avatica$util$TimeUnitRange>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.util.TimeUnitRange: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
case 21: goto label;
case 22: goto label;
case 23: goto label;
default: goto label;
};
label:
return v;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int getIso8601WeekNumber(int,int,int,int)>(v, v, v, v);
if v != 1 goto label;
if v != 12 goto label;
v = v + 1;
return v;
label:
if v != 1 goto label;
if v <= 50 goto label;
v = v - 1;
return v;
label:
return v;
label:
v = v + 2;
v = v / 3;
return v;
label:
return v;
label:
return v;
label:
v = v + 1;
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 7);
v = v + 1;
return v;
label:
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 7);
v = v + 1;
return v;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int getIso8601WeekNumber(int,int,int,int)>(v, v, v, v);
return v;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToJulian(int,int,int)>(v, 1, 1);
v = v - v;
v = v + 1;
return v;
label:
v = v / 10;
return v;
label:
if v <= 0 goto label;
v = v + 99;
v = v / 100;
goto label;
label:
v = v - 99;
v = v / 100;
label:
return v;
label:
if v <= 0 goto label;
v = v + 999;
v = v / 1000;
goto label;
label:
v = v - 999;
v = v / 1000;
label:
return v;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>(v);
throw v;
}
private static long firstMondayOfFirstWeek(int)
{
long v, v, v, v, v, v;
int v, v;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToJulian(int,int,int)>(v, 1, 1);
v = v + 1L;
v = staticinvoke <java.lang.Math: long floorMod(long,long)>(v, 7L);
v = 11L - v;
v = v % 7L;
v = v + v;
v = v - 3L;
return v;
}
private static int getIso8601WeekNumber(int, int, int, int)
{
long v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long firstMondayOfFirstWeek(int)>(v);
if v != 12 goto label;
if v <= 28 goto label;
v = 31 - v;
v = v + 4;
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 7);
v = v + 1;
v = 7 - v;
if v <= v goto label;
v = 31 - v;
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 7);
v = v + v;
v = v + 1;
if v < 4 goto label;
v = v - v;
v = v / 7;
v = v + 1;
return v;
label:
return 1;
label:
if v != 1 goto label;
if v >= 5 goto label;
v = 4 - v;
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 7);
v = v + 1;
v = 7 - v;
if v > v goto label;
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 7);
v = v + 1;
v = v - v;
v = (int) -3;
if v < v goto label;
return 1;
label:
v = v - 1;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long firstMondayOfFirstWeek(int)>(v);
v = v - v;
v = v / 7;
v = v + 1;
return v;
label:
v = v - v;
v = v / 7;
v = v + 1;
return v;
}
public static int unixTimestampExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange, long)
{
int v;
long v, v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: long;
v = staticinvoke <java.lang.Math: long floorMod(long,long)>(v, 86400000L);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int unixTimeExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange,int)>(v, v);
return v;
}
public static int unixTimeExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange, int)
{
java.lang.AssertionError v, v, v;
byte v;
int[] v;
int v, v, v, v, v, v, v, v, v;
boolean v, v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: int;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: boolean $assertionsDisabled>;
if v != 0 goto label;
if v >= 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v cmp 86400000L;
if v < 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils$1: int[] $SwitchMap$org$apache$calcite$avatica$util$TimeUnitRange>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.util.TimeUnitRange: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 8: goto label;
case 12: goto label;
case 13: goto label;
default: goto label;
};
label:
v = v / 3600000;
return v;
label:
v = (int) 60000;
v = v / v;
v = v % 60;
return v;
label:
v = v / 1000;
v = v % 60;
return v;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>(v);
throw v;
}
public static long resetTime(long)
{
int v;
long v, v;
v := @parameter: long;
v = v * 86400000L;
return v;
}
public static long resetDate(long)
{
long v, v;
v := @parameter: long;
v = staticinvoke <java.lang.Math: long floorMod(long,long)>(v, 86400000L);
return v;
}
public static long unixTimestampFloor(oadd.org.apache.calcite.avatica.util.TimeUnitRange, long)
{
int v, v;
long v, v, v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: long;
v = v / 86400000L;
v = v + 2440588;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int julianDateFloor(oadd.org.apache.calcite.avatica.util.TimeUnitRange,int,boolean)>(v, v, 1);
v = v * 86400000L;
return v;
}
public static long unixDateFloor(oadd.org.apache.calcite.avatica.util.TimeUnitRange, long)
{
int v, v;
long v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: long;
v = v + 2440588;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int julianDateFloor(oadd.org.apache.calcite.avatica.util.TimeUnitRange,int,boolean)>(v, v, 1);
return v;
}
public static long unixTimestampCeil(oadd.org.apache.calcite.avatica.util.TimeUnitRange, long)
{
int v, v;
long v, v, v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: long;
v = v / 86400000L;
v = v + 2440588;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int julianDateFloor(oadd.org.apache.calcite.avatica.util.TimeUnitRange,int,boolean)>(v, v, 0);
v = v * 86400000L;
return v;
}
public static long unixDateCeil(oadd.org.apache.calcite.avatica.util.TimeUnitRange, long)
{
int v, v;
long v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: long;
v = v + 2440588;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int julianDateFloor(oadd.org.apache.calcite.avatica.util.TimeUnitRange,int,boolean)>(v, v, 0);
return v;
}
private static int julianDateFloor(oadd.org.apache.calcite.avatica.util.TimeUnitRange, int, boolean)
{
java.lang.AssertionError v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v;
int[] v;
boolean v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: oadd.org.apache.calcite.avatica.util.TimeUnitRange;
v := @parameter: int;
v := @parameter: boolean;
v = v + 32044;
v = v / 146097;
v = v % 146097;
v = (int) 36524;
v = v / v;
v = v + 1;
v = v * 3;
v = v / 4;
v = (int) 36524;
v = v * v;
v = v - v;
v = v / 1461;
v = v % 1461;
v = v / 365;
v = v + 1;
v = v * 3;
v = v / 4;
v = v * 365;
v = v - v;
v = v * 400;
v = v * 100;
v = v + v;
v = v * 4;
v = v + v;
v = v + v;
v = v * 5;
v = v + 308;
v = v / 153;
v = v - 2;
v = v + 4;
v = v * 153;
v = v / 5;
v = v - v;
v = v + 122;
v = v - 4800;
v = v + 2;
v = v / 12;
v = v + v;
v = v + 2;
v = v % 12;
v = v + 1;
v = v + 1;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils$1: int[] $SwitchMap$org$apache$calcite$avatica$util$TimeUnitRange>;
v = virtualinvoke v.<oadd.org.apache.calcite.avatica.util.TimeUnitRange: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
case 12: goto label;
case 13: goto label;
case 14: goto label;
case 15: goto label;
case 16: goto label;
case 17: goto label;
case 18: goto label;
case 19: goto label;
case 20: goto label;
case 21: goto label;
case 22: goto label;
case 23: goto label;
default: goto label;
};
label:
if v == 0 goto label;
v = v + 999;
v = v / 1000;
v = 1000 * v;
v = v - 999;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, 1, 1);
goto label;
label:
v = v + 999;
v = v / 1000;
v = 1000 * v;
v = v + 1;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, 1, 1);
label:
return v;
label:
if v == 0 goto label;
v = v + 99;
v = v / 100;
v = 100 * v;
v = v - 99;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, 1, 1);
goto label;
label:
v = v + 99;
v = v / 100;
v = 100 * v;
v = v + 1;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, 1, 1);
label:
return v;
label:
if v == 0 goto label;
v = v / 10;
v = 10 * v;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, 1, 1);
goto label;
label:
v = v / 10;
v = 1 + v;
v = 10 * v;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, 1, 1);
label:
return v;
label:
if v != 0 goto label;
if v > 1 goto label;
if v <= 1 goto label;
label:
v = v + 1;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, 1, 1);
return v;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int getIso8601WeekNumber(int,int,int,int)>(v, v, v, v);
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 7);
v = v - 1;
v = 7 * v;
v = v - v;
v = v - v;
if v != 0 goto label;
if v != v goto label;
label:
v = v - 2440588;
return v;
label:
v = v + 371;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int julianDateFloor(oadd.org.apache.calcite.avatica.util.TimeUnitRange,int,boolean)>(v, v, 1);
return v;
label:
v = v - 1;
v = v / 3;
if v != 0 goto label;
v = v - 1;
v = v * 3;
if v > v goto label;
if v <= 1 goto label;
label:
if v != 3 goto label;
v = v + 1;
v = 1;
goto label;
label:
v = v * 3;
v = v + 4;
goto label;
label:
v = v * 3;
v = v + 1;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, v, 1);
return v;
label:
if v != 0 goto label;
if v <= 1 goto label;
v = v + 1;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, v, 1);
return v;
label:
v = v + 1;
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 7);
v = v;
if v != 0 goto label;
if v <= 0 goto label;
v = v - 7;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, v, v);
v = v - v;
return v;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, v, v);
return v;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>(v);
throw v;
}
public static int ymdToUnixDate(int, int, int)
{
int v, v, v, v, v;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToJulian(int,int,int)>(v, v, v);
v = v - 2440588;
return v;
}
public static int ymdToJulian(int, int, int)
{
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = 14 - v;
v = v / 12;
v = v + 4800;
v = v - v;
v = 12 * v;
v = v + v;
v = v - 3;
v = 153 * v;
v = v + 2;
v = v / 5;
v = v + v;
v = 365 * v;
v = v + v;
v = v / 4;
v = v + v;
v = v / 100;
v = v - v;
v = v / 400;
v = v + v;
v = v - 32045;
return v;
}
public static long unixTimestamp(int, int, int, int, int, int)
{
long v, v, v, v, v, v, v;
int v, v, v, v, v, v, v;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, v, v);
v = v * 86400000L;
v = v * 3600000L;
v = v + v;
v = v * 60000L;
v = v + v;
v = v * 1000L;
v = v + v;
return v;
}
public static long addMonths(long, int)
{
long v, v, v, v, v, v;
int v, v;
v := @parameter: long;
v := @parameter: int;
v = staticinvoke <java.lang.Math: long floorMod(long,long)>(v, 86400000L);
v = v - v;
v = v / 86400000L;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int addMonths(int,int)>(v, v);
v = v * 86400000L;
v = v + v;
return v;
}
public static int addMonths(int, int)
{
long v, v, v;
int v, v, v, v, v, v, v, v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v, v, v;
v := @parameter: int;
v := @parameter: int;
v = <oadd.org.apache.calcite.avatica.util.TimeUnitRange: oadd.org.apache.calcite.avatica.util.TimeUnitRange YEAR>;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long unixDateExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange,long)>(v, v);
v = <oadd.org.apache.calcite.avatica.util.TimeUnitRange: oadd.org.apache.calcite.avatica.util.TimeUnitRange MONTH>;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long unixDateExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange,long)>(v, v);
v = <oadd.org.apache.calcite.avatica.util.TimeUnitRange: oadd.org.apache.calcite.avatica.util.TimeUnitRange DAY>;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long unixDateExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange,long)>(v, v);
v = v + v;
v = staticinvoke <java.lang.Math: int floorDiv(int,int)>(v, 12);
v = v + v;
v = staticinvoke <java.lang.Math: int floorMod(int,int)>(v, 12);
if v != 0 goto label;
v = v - 1;
v = v + 12;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int lastDay(int,int)>(v, v);
if v <= v goto label;
v = v;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, v, v);
return v;
}
public static int lastDay(int)
{
int v, v, v;
long v, v;
oadd.org.apache.calcite.avatica.util.TimeUnitRange v, v;
v := @parameter: int;
v = <oadd.org.apache.calcite.avatica.util.TimeUnitRange: oadd.org.apache.calcite.avatica.util.TimeUnitRange YEAR>;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long unixDateExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange,long)>(v, v);
v = <oadd.org.apache.calcite.avatica.util.TimeUnitRange: oadd.org.apache.calcite.avatica.util.TimeUnitRange MONTH>;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long unixDateExtract(oadd.org.apache.calcite.avatica.util.TimeUnitRange,long)>(v, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int lastDay(int,int)>(v, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int ymdToUnixDate(int,int,int)>(v, v, v);
return v;
}
private static int lastDay(int, int)
{
byte v;
int v, v, v, v, v;
v := @parameter: int;
v := @parameter: int;
tableswitch(v)
{
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
case 11: goto label;
default: goto label;
};
label:
v = v % 4;
if v != 0 goto label;
v = v % 100;
if v != 0 goto label;
v = v % 400;
if v != 0 goto label;
label:
v = 29;
goto label;
label:
v = 28;
label:
return v;
label:
return 30;
label:
return 31;
}
public static int subtractMonths(int, int)
{
int v, v, v, v, v, v, v, v, v;
v := @parameter: int;
v := @parameter: int;
if v >= v goto label;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int subtractMonths(int,int)>(v, v);
v = neg v;
return v;
label:
v = v - v;
v = v / 31;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int addMonths(int,int)>(v, v);
if v < v goto label;
return v;
label:
v = v + 1;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int addMonths(int,int)>(v, v);
if v <= v goto label;
return v;
label:
v = v + 1;
goto label;
}
public static int subtractMonths(long, long)
{
long v, v, v, v, v, v, v, v;
byte v, v;
int v, v, v;
v := @parameter: long;
v := @parameter: long;
v = staticinvoke <java.lang.Math: long floorMod(long,long)>(v, 86400000L);
v = v - v;
v = staticinvoke <java.lang.Math: long floorDiv(long,long)>(v, 86400000L);
v = staticinvoke <java.lang.Math: long floorMod(long,long)>(v, 86400000L);
v = v - v;
v = staticinvoke <java.lang.Math: long floorDiv(long,long)>(v, 86400000L);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int subtractMonths(int,int)>(v, v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int addMonths(int,int)>(v, v);
v = v cmp v;
if v != 0 goto label;
v = v cmp v;
if v >= 0 goto label;
v = v - 1;
label:
return v;
}
public static long floorDiv(long, long)
{
byte v, v;
long v, v, v, v, v;
v := @parameter: long;
v := @parameter: long;
v = v / v;
v = v ^ v;
v = v cmp 0L;
if v >= 0 goto label;
v = v * v;
v = v cmp v;
if v == 0 goto label;
v = v - 1L;
label:
return v;
}
public static long floorMod(long, long)
{
long v, v, v, v, v;
v := @parameter: long;
v := @parameter: long;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long floorDiv(long,long)>(v, v);
v = v * v;
v = v - v;
return v;
}
public static java.util.Calendar calendar()
{
java.util.Calendar v;
java.util.Locale v;
java.util.TimeZone v;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone UTC_ZONE>;
v = <java.util.Locale: java.util.Locale ROOT>;
v = staticinvoke <java.util.Calendar: java.util.Calendar getInstance(java.util.TimeZone,java.util.Locale)>(v, v);
return v;
}
public static boolean isOffsetDateTime(java.lang.Object)
{
java.lang.Object v;
oadd.org.apache.calcite.avatica.util.DateTimeUtils$OffsetDateTimeHandler v;
boolean v;
v := @parameter: java.lang.Object;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: oadd.org.apache.calcite.avatica.util.DateTimeUtils$OffsetDateTimeHandler OFFSET_DATE_TIME_HANDLER>;
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.util.DateTimeUtils$OffsetDateTimeHandler: boolean isOffsetDateTime(java.lang.Object)>(v);
return v;
}
public static java.lang.String offsetDateTimeValue(java.lang.Object)
{
java.lang.Object v;
java.lang.String v;
oadd.org.apache.calcite.avatica.util.DateTimeUtils$OffsetDateTimeHandler v;
v := @parameter: java.lang.Object;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: oadd.org.apache.calcite.avatica.util.DateTimeUtils$OffsetDateTimeHandler OFFSET_DATE_TIME_HANDLER>;
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.util.DateTimeUtils$OffsetDateTimeHandler: java.lang.String stringValue(java.lang.Object)>(v);
return v;
}
public static int sqlDateToUnixDate(java.sql.Date, java.util.Calendar)
{
java.util.Calendar v;
java.util.TimeZone v;
int v;
java.sql.Date v;
v := @parameter: java.sql.Date;
v := @parameter: java.util.Calendar;
if v == null goto label;
v = virtualinvoke v.<java.util.Calendar: java.util.TimeZone getTimeZone()>();
goto label;
label:
v = null;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int sqlDateToUnixDate(java.sql.Date,java.util.TimeZone)>(v, v);
return v;
}
public static int sqlDateToUnixDate(java.sql.Date, java.util.TimeZone)
{
java.time.temporal.ChronoField v;
java.time.LocalDateTime v;
long v, v, v, v, v, v;
int v, v, v;
java.time.ZoneOffset v;
java.util.TimeZone v, v;
java.sql.Timestamp v;
java.sql.Date v;
v := @parameter: java.sql.Date;
v := @parameter: java.util.TimeZone;
v = virtualinvoke v.<java.sql.Date: long getTime()>();
v = new java.sql.Timestamp;
specialinvoke v.<java.sql.Timestamp: void <init>(long)>(v);
v = virtualinvoke v.<java.sql.Timestamp: java.time.LocalDateTime toLocalDateTime()>();
v = <java.time.ZoneOffset: java.time.ZoneOffset UTC>;
v = virtualinvoke v.<java.time.LocalDateTime: long toEpochSecond(java.time.ZoneOffset)>(v);
v = v * 1000L;
v = <java.time.temporal.ChronoField: java.time.temporal.ChronoField MILLI_OF_SECOND>;
v = virtualinvoke v.<java.time.LocalDateTime: int get(java.time.temporal.TemporalField)>(v);
v = v + v;
if v == null goto label;
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
v = v + v;
label:
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone DEFAULT_ZONE>;
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
v = v - v;
v = v / 86400000L;
return v;
}
public static java.sql.Date unixDateToSqlDate(int, java.util.Calendar)
{
java.util.TimeZone v, v;
long v, v, v;
java.sql.Date v;
java.util.Calendar v;
java.time.LocalDate v;
int v, v, v;
v := @parameter: int;
v := @parameter: java.util.Calendar;
v = staticinvoke <java.time.LocalDate: java.time.LocalDate ofEpochDay(long)>(v);
v = staticinvoke <java.sql.Date: java.sql.Date valueOf(java.time.LocalDate)>(v);
v = virtualinvoke v.<java.sql.Date: long getTime()>();
if v == null goto label;
v = virtualinvoke v.<java.util.Calendar: java.util.TimeZone getTimeZone()>();
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
goto label;
label:
v = 0;
label:
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone DEFAULT_ZONE>;
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
v = v + v;
v = v - v;
virtualinvoke v.<java.sql.Date: void setTime(long)>(v);
return v;
}
public static long utilDateToUnixTimestamp(java.util.Date, java.util.Calendar)
{
java.util.Calendar v;
java.util.Date v;
java.util.TimeZone v;
long v;
v := @parameter: java.util.Date;
v := @parameter: java.util.Calendar;
if v == null goto label;
v = virtualinvoke v.<java.util.Calendar: java.util.TimeZone getTimeZone()>();
goto label;
label:
v = null;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long utilDateToUnixTimestamp(java.util.Date,java.util.TimeZone)>(v, v);
return v;
}
public static long utilDateToUnixTimestamp(java.util.Date, java.util.TimeZone)
{
java.util.Date v;
java.util.TimeZone v;
java.sql.Timestamp v;
long v, v;
v := @parameter: java.util.Date;
v := @parameter: java.util.TimeZone;
v = new java.sql.Timestamp;
v = virtualinvoke v.<java.util.Date: long getTime()>();
specialinvoke v.<java.sql.Timestamp: void <init>(long)>(v);
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long sqlTimestampToUnixTimestamp(java.sql.Timestamp,java.util.TimeZone)>(v, v);
return v;
}
public static java.util.Date unixTimestampToUtilDate(long, java.util.Calendar)
{
java.util.Calendar v;
java.util.Date v;
java.sql.Timestamp v;
long v, v;
v := @parameter: long;
v := @parameter: java.util.Calendar;
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.sql.Timestamp unixTimestampToSqlTimestamp(long,java.util.Calendar)>(v, v);
v = new java.util.Date;
v = virtualinvoke v.<java.sql.Timestamp: long getTime()>();
specialinvoke v.<java.util.Date: void <init>(long)>(v);
return v;
}
public static int sqlTimeToUnixTime(java.sql.Time, java.util.Calendar)
{
java.util.Calendar v;
java.sql.Time v;
java.util.TimeZone v;
int v;
v := @parameter: java.sql.Time;
v := @parameter: java.util.Calendar;
if v == null goto label;
v = virtualinvoke v.<java.util.Calendar: java.util.TimeZone getTimeZone()>();
goto label;
label:
v = null;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: int sqlTimeToUnixTime(java.sql.Time,java.util.TimeZone)>(v, v);
return v;
}
public static int sqlTimeToUnixTime(java.sql.Time, java.util.TimeZone)
{
java.sql.Time v;
java.util.TimeZone v;
int v;
long v, v;
v := @parameter: java.sql.Time;
v := @parameter: java.util.TimeZone;
v = virtualinvoke v.<java.sql.Time: long getTime()>();
if v == null goto label;
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
v = v + v;
label:
v = staticinvoke <java.lang.Math: long floorMod(long,long)>(v, 86400000L);
return v;
}
public static java.sql.Time unixTimeToSqlTime(int, java.util.Calendar)
{
java.util.Calendar v;
java.sql.Time v;
java.util.TimeZone v;
int v, v;
v := @parameter: int;
v := @parameter: java.util.Calendar;
if v == null goto label;
v = virtualinvoke v.<java.util.Calendar: java.util.TimeZone getTimeZone()>();
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
v = v - v;
label:
v = new java.sql.Time;
specialinvoke v.<java.sql.Time: void <init>(long)>(v);
return v;
}
public static long sqlTimestampToUnixTimestamp(java.sql.Timestamp, java.util.Calendar)
{
java.util.Calendar v;
java.util.TimeZone v;
java.sql.Timestamp v;
long v;
v := @parameter: java.sql.Timestamp;
v := @parameter: java.util.Calendar;
if v == null goto label;
v = virtualinvoke v.<java.util.Calendar: java.util.TimeZone getTimeZone()>();
goto label;
label:
v = null;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.util.DateTimeUtils: long sqlTimestampToUnixTimestamp(java.sql.Timestamp,java.util.TimeZone)>(v, v);
return v;
}
public static long sqlTimestampToUnixTimestamp(java.sql.Timestamp, java.util.TimeZone)
{
java.time.temporal.ChronoField v;
java.util.TimeZone v, v;
java.sql.Timestamp v;
java.time.LocalDateTime v;
long v, v, v, v, v;
int v, v, v;
java.time.ZoneOffset v;
v := @parameter: java.sql.Timestamp;
v := @parameter: java.util.TimeZone;
v = virtualinvoke v.<java.sql.Timestamp: long getTime()>();
v = virtualinvoke v.<java.sql.Timestamp: java.time.LocalDateTime toLocalDateTime()>();
v = <java.time.ZoneOffset: java.time.ZoneOffset UTC>;
v = virtualinvoke v.<java.time.LocalDateTime: long toEpochSecond(java.time.ZoneOffset)>(v);
v = v * 1000L;
v = <java.time.temporal.ChronoField: java.time.temporal.ChronoField MILLI_OF_SECOND>;
v = virtualinvoke v.<java.time.LocalDateTime: int get(java.time.temporal.TemporalField)>(v);
v = v + v;
if v == null goto label;
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
v = v + v;
label:
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone DEFAULT_ZONE>;
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
v = v - v;
return v;
}
public static java.sql.Timestamp unixTimestampToSqlTimestamp(long, java.util.Calendar)
{
java.util.TimeZone v, v;
java.sql.Timestamp v;
java.time.LocalDateTime v;
long v, v, v, v, v, v, v;
java.util.Calendar v;
int v, v;
java.time.ZoneOffset v;
v := @parameter: long;
v := @parameter: java.util.Calendar;
v = staticinvoke <java.lang.Math: long floorDiv(long,long)>(v, 1000L);
v = staticinvoke <java.lang.Math: long floorMod(long,long)>(v, 1000L);
v = v * 1000000L;
v = <java.time.ZoneOffset: java.time.ZoneOffset UTC>;
v = staticinvoke <java.time.LocalDateTime: java.time.LocalDateTime ofEpochSecond(long,int,java.time.ZoneOffset)>(v, v, v);
v = staticinvoke <java.sql.Timestamp: java.sql.Timestamp valueOf(java.time.LocalDateTime)>(v);
v = virtualinvoke v.<java.sql.Timestamp: long getTime()>();
if v == null goto label;
v = virtualinvoke v.<java.util.Calendar: java.util.TimeZone getTimeZone()>();
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
goto label;
label:
v = 0;
label:
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone DEFAULT_ZONE>;
v = virtualinvoke v.<java.util.TimeZone: int getOffset(long)>(v);
v = v + v;
v = v - v;
virtualinvoke v.<java.sql.Timestamp: void setTime(long)>(v);
return v;
}
static void <clinit>()
{
oadd.org.apache.calcite.avatica.util.DateTimeUtils$NoopOffsetDateTimeHandler v;
java.util.TimeZone v, v, v, v;
oadd.org.apache.calcite.avatica.util.DateTimeUtils$OffsetDateTimeHandler v;
java.util.Calendar v, v;
java.util.Locale v;
oadd.org.apache.calcite.avatica.util.DateTimeUtils$ReflectiveOffsetDateTimeHandler v;
java.lang.Class v;
java.lang.ClassNotFoundException v;
boolean v, v;
v = class "Loadd/org/apache/calcite/avatica/util/DateTimeUtils;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<oadd.org.apache.calcite.avatica.util.DateTimeUtils: boolean $assertionsDisabled> = v;
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getTimeZone(java.lang.String)>("GMT");
<oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone GMT_ZONE> = v;
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getTimeZone(java.lang.String)>("UTC");
<oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone UTC_ZONE> = v;
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getDefault()>();
<oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone DEFAULT_ZONE> = v;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.TimeZone UTC_ZONE>;
v = <java.util.Locale: java.util.Locale ROOT>;
v = staticinvoke <java.util.Calendar: java.util.Calendar getInstance(java.util.TimeZone,java.util.Locale)>(v, v);
<oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.Calendar ZERO_CALENDAR> = v;
v = <oadd.org.apache.calcite.avatica.util.DateTimeUtils: java.util.Calendar ZERO_CALENDAR>;
virtualinvoke v.<java.util.Calendar: void setTimeInMillis(long)>(0L);
label:
v = new oadd.org.apache.calcite.avatica.util.DateTimeUtils$ReflectiveOffsetDateTimeHandler;
specialinvoke v.<oadd.org.apache.calcite.avatica.util.DateTimeUtils$ReflectiveOffsetDateTimeHandler: void <init>()>();
v = v;
label:
goto label;
label:
v := @caughtexception;
v = new oadd.org.apache.calcite.avatica.util.DateTimeUtils$NoopOffsetDateTimeHandler;
specialinvoke v.<oadd.org.apache.calcite.avatica.util.DateTimeUtils$NoopOffsetDateTimeHandler: void <init>()>();
v = v;
label:
<oadd.org.apache.calcite.avatica.util.DateTimeUtils: oadd.org.apache.calcite.avatica.util.DateTimeUtils$OffsetDateTimeHandler OFFSET_DATE_TIME_HANDLER> = v;
return;
catch java.lang.ClassNotFoundException from label to label with label;
}
}