Temporal

Mtime module

MODULE mtime;

COMMAND mtime.addmonths(X_0:date, X_1:int):date;
COMMENT "returns the date after a number of\nmonths (possibly negative).";

COMMAND mtime.century(X_0:date):int;
COMMENT "extracts century from date.";

COMMAND mtime.century(X_0:timestamp):int;
COMMENT "";

COMMAND mtime.current_date():date;
COMMENT "";

COMMAND mtime.current_time():daytime;
COMMENT "";

COMMAND mtime.current_timestamp():timestamp;
COMMENT "";

COMMAND mtime.date_add_msec_interval(X_0:date, X_1:lng):date;
COMMENT "";

COMMAND mtime.date_sub_month_interval(X_0:date, X_1:int):date;
COMMENT "Subtract months from a date";

COMMAND mtime.date_sub_msec_interval(X_0:date, X_1:lng):date;
COMMENT "";

COMMAND mtime.date_to_str(X_0:date, X_1:str):str;
COMMENT "create a string from the date, using the specified format (see man strftime)";

COMMAND mtime.day(X_0:date):bte;
COMMENT "extracts day from date";

COMMAND mtime.day(X_0:lng):lng;
COMMENT "";

COMMAND mtime.day(X_0:timestamp):bte;
COMMENT "";

COMMAND mtime.dayofweek(X_0:date):bte;
COMMENT "Returns the current day of the week\nwhere 1=monday, .., 7=sunday";

COMMAND mtime.dayofyear(X_0:date):sht;
COMMENT "Returns N where d is the Nth day\nof the year (january 1 returns 1)";

COMMAND mtime.decade(X_0:date):int;
COMMENT "extracts decade from date.";

COMMAND mtime.decade(X_0:timestamp):int;
COMMENT "";

COMMAND mtime.diff(X_0:date, X_1:date):lng;
COMMENT "returns the number of days\nbetween 'val1' and 'val2'.";

COMMAND mtime.diff(X_0:daytime, X_1:daytime):lng;
COMMENT "returns the number of msec between 'val1' and 'val2'.";

COMMAND mtime.diff(X_0:timestamp, X_1:timestamp):lng;
COMMENT "returns the number of milliseconds\nbetween 'val1' and 'val2'.";

COMMAND mtime.epoch(X_0:timestamp):int;
COMMENT "unix-time (epoch) support: seconds since epoch";

COMMAND mtime.epoch(X_0:lng):timestamp;
COMMENT "convert milli seconds since epoch into a timestamp";

COMMAND mtime.epoch(X_0:int):timestamp;
COMMENT "convert seconds since epoch into a timestamp";

COMMAND mtime.epoch_ms(X_0:date):lng;
COMMENT "";

COMMAND mtime.epoch_ms(X_0:daytime):lng;
COMMENT "";

COMMAND mtime.epoch_ms(X_0:lng):lng;
COMMENT "";

COMMAND mtime.epoch_ms(X_0:timestamp):lng;
COMMENT "";

COMMAND mtime.hours(X_0:daytime):bte;
COMMENT "extracts hour from daytime";

COMMAND mtime.hours(X_0:lng):int;
COMMENT "";

COMMAND mtime.hours(X_0:timestamp):bte;
COMMENT "";

COMMAND mtime.local_timezone():lng;
COMMENT "get the local timezone in seconds";

COMMAND mtime.minutes(X_0:daytime):bte;
COMMENT "extracts minutes from daytime";

COMMAND mtime.minutes(X_0:lng):int;
COMMENT "";

COMMAND mtime.minutes(X_0:timestamp):bte;
COMMENT "";

COMMAND mtime.month(X_0:date):bte;
COMMENT "extracts month from date";

COMMAND mtime.month(X_0:int):int;
COMMENT "";

COMMAND mtime.month(X_0:timestamp):bte;
COMMENT "";

COMMAND mtime.odbc_timestamp_add_month_time(X_0:daytime, X_1:int):timestamp;
COMMENT "Add months to a time";

COMMAND mtime.odbc_timestamp_add_msec_date(X_0:date, X_1:lng):timestamp;
COMMENT "";

COMMAND mtime.odbc_timestamp_add_msec_time(X_0:daytime, X_1:lng):timestamp;
COMMENT "";

COMMAND mtime.quarter(X_0:date):bte;
COMMENT "extracts quarter from date";

COMMAND mtime.quarter(X_0:timestamp):bte;
COMMENT "";

COMMAND mtime.seconds(X_0:lng):int;
COMMENT "";

COMMAND mtime.sql_seconds(X_0:daytime):int;
COMMENT "extracts seconds (with fractional milliseconds) from daytime";

COMMAND mtime.sql_seconds(X_0:timestamp):int;
COMMENT "";

COMMAND mtime.str_to_date(X_0:str, X_1:str):date;
COMMENT "create a date from the string, using the specified format (see man strptime)";

COMMAND mtime.str_to_time(X_0:str, X_1:str):daytime;
COMMENT "create a time from the string, using the specified format (see man strptime)";

COMMAND mtime.str_to_timestamp(X_0:str, X_1:str):timestamp;
COMMENT "create a timestamp from the string, using the specified format (see man strptime)";

COMMAND mtime.time_add_msec_interval(X_0:daytime, X_1:lng):daytime;
COMMENT "Add seconds to a time";

COMMAND mtime.time_sub_msec_interval(X_0:daytime, X_1:lng):daytime;
COMMENT "Subtract seconds from a time";

COMMAND mtime.time_to_str(X_0:daytime, X_1:str):str;
COMMENT "create a string from the time, using the specified format (see man strftime)";

COMMAND mtime.timestamp_add_month_interval(X_0:timestamp, X_1:int):timestamp;
COMMENT "Add months to a timestamp";

COMMAND mtime.timestamp_add_msec_interval(X_0:timestamp, X_1:lng):timestamp;
COMMENT "";

COMMAND mtime.timestamp_sub_month_interval(X_0:timestamp, X_1:int):timestamp;
COMMENT "Subtract months from a timestamp";

COMMAND mtime.timestamp_sub_msec_interval(X_0:timestamp, X_1:lng):timestamp;
COMMENT "";

COMMAND mtime.timestamp_to_str(X_0:timestamp, X_1:str):str;
COMMENT "create a string from the time, using the specified format (see man strftime)";

COMMAND mtime.timestampdiff_day(X_0:timestamp, X_1:timestamp):int;
COMMENT "diff in days between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_day(X_0:daytime, X_1:timestamp):int;
COMMENT "diff in days between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_day(X_0:timestamp, X_1:daytime):int;
COMMENT "diff in days between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_hour(X_0:timestamp, X_1:timestamp):lng;
COMMENT "diff in hours between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_hour(X_0:date, X_1:timestamp):lng;
COMMENT "diff in hours between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_hour(X_0:timestamp, X_1:date):lng;
COMMENT "diff in hours between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_min(X_0:timestamp, X_1:timestamp):lng;
COMMENT "diff in min between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_min(X_0:date, X_1:timestamp):lng;
COMMENT "diff in min between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_min(X_0:timestamp, X_1:date):lng;
COMMENT "diff in min between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_month(X_0:timestamp, X_1:timestamp):int;
COMMENT "diff in months between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_month(X_0:daytime, X_1:timestamp):int;
COMMENT "diff in months between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_month(X_0:timestamp, X_1:daytime):int;
COMMENT "diff in months between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_quarter(X_0:timestamp, X_1:timestamp):int;
COMMENT "diff in months between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_quarter(X_0:daytime, X_1:timestamp):int;
COMMENT "diff in months between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_quarter(X_0:timestamp, X_1:daytime):int;
COMMENT "diff in months between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_sec(X_0:timestamp, X_1:timestamp):lng;
COMMENT "diff in seconds between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_sec(X_0:date, X_1:timestamp):lng;
COMMENT "diff in seconds between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_sec(X_0:timestamp, X_1:date):lng;
COMMENT "diff in seconds between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_week(X_0:timestamp, X_1:timestamp):int;
COMMENT "diff in weeks between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_week(X_0:daytime, X_1:timestamp):int;
COMMENT "diff in weeks between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_week(X_0:timestamp, X_1:daytime):int;
COMMENT "diff in weeks between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_year(X_0:timestamp, X_1:timestamp):int;
COMMENT "diff in months between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_year(X_0:daytime, X_1:timestamp):int;
COMMENT "diff in months between 'val1' and 'val2'.";

COMMAND mtime.timestampdiff_year(X_0:timestamp, X_1:daytime):int;
COMMENT "diff in months between 'val1' and 'val2'.";

COMMAND mtime.usweekofyear(X_0:date):bte;
COMMENT "Returns the week number in the year, US style.";

COMMAND mtime.weekofyear(X_0:date):bte;
COMMENT "Returns the week number in the year.";

COMMAND mtime.year(X_0:date):int;
COMMENT "extracts year from date.";

COMMAND mtime.year(X_0:int):int;
COMMENT "";

COMMAND mtime.year(X_0:timestamp):int;
COMMENT "";

Batmtime module

MODULE batmtime;

PATTERN batmtime.addmonths(X_0:bat[:date], X_1:bat[:int]):bat[:date];
COMMENT "";

PATTERN batmtime.addmonths(X_0:bat[:date], X_1:bat[:int], X_2:bat[:oid], X_3:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.addmonths(X_0:date, X_1:bat[:int]):bat[:date];
COMMENT "";

PATTERN batmtime.addmonths(X_0:date, X_1:bat[:int], X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.addmonths(X_0:bat[:date], X_1:int):bat[:date];
COMMENT "";

PATTERN batmtime.addmonths(X_0:bat[:date], X_1:int, X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.century(X_0:bat[:date]):bat[:int];
COMMENT "";

PATTERN batmtime.century(X_0:bat[:date], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.century(X_0:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.century(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.date_add_msec_interval(X_0:bat[:date], X_1:bat[:lng]):bat[:date];
COMMENT "";

PATTERN batmtime.date_add_msec_interval(X_0:bat[:date], X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.date_add_msec_interval(X_0:date, X_1:bat[:lng]):bat[:date];
COMMENT "";

PATTERN batmtime.date_add_msec_interval(X_0:date, X_1:bat[:lng], X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.date_add_msec_interval(X_0:bat[:date], X_1:lng):bat[:date];
COMMENT "";

PATTERN batmtime.date_add_msec_interval(X_0:bat[:date], X_1:lng, X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_month_interval(X_0:bat[:date], X_1:bat[:int]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_month_interval(X_0:bat[:date], X_1:bat[:int], X_2:bat[:oid], X_3:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_month_interval(X_0:date, X_1:bat[:int]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_month_interval(X_0:date, X_1:bat[:int], X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_month_interval(X_0:bat[:date], X_1:int):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_month_interval(X_0:bat[:date], X_1:int, X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_msec_interval(X_0:bat[:date], X_1:bat[:lng]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_msec_interval(X_0:bat[:date], X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_msec_interval(X_0:date, X_1:bat[:lng]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_msec_interval(X_0:date, X_1:bat[:lng], X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_msec_interval(X_0:bat[:date], X_1:lng):bat[:date];
COMMENT "";

PATTERN batmtime.date_sub_msec_interval(X_0:bat[:date], X_1:lng, X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.date_to_str(X_0:bat[:str], X_1:bat[:str]):bat[:str];
COMMENT "";

PATTERN batmtime.date_to_str(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:str];
COMMENT "";

PATTERN batmtime.date_to_str(X_0:date, X_1:bat[:str]):bat[:str];
COMMENT "";

PATTERN batmtime.date_to_str(X_0:date, X_1:bat[:str], X_2:bat[:oid]):bat[:str];
COMMENT "";

PATTERN batmtime.date_to_str(X_0:bat[:date], X_1:str):bat[:str];
COMMENT "";

PATTERN batmtime.date_to_str(X_0:bat[:date], X_1:str, X_2:bat[:oid]):bat[:str];
COMMENT "";

PATTERN batmtime.day(X_0:bat[:date]):bat[:bte];
COMMENT "";

PATTERN batmtime.day(X_0:bat[:date], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.day(X_0:bat[:lng]):bat[:lng];
COMMENT "";

PATTERN batmtime.day(X_0:bat[:lng], X_1:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.day(X_0:bat[:timestamp]):bat[:bte];
COMMENT "";

PATTERN batmtime.day(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.dayofweek(X_0:bat[:date]):bat[:bte];
COMMENT "";

PATTERN batmtime.dayofweek(X_0:bat[:date], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.dayofyear(X_0:bat[:date]):bat[:sht];
COMMENT "";

PATTERN batmtime.dayofyear(X_0:bat[:date], X_1:bat[:oid]):bat[:sht];
COMMENT "";

PATTERN batmtime.decade(X_0:bat[:date]):bat[:int];
COMMENT "";

PATTERN batmtime.decade(X_0:bat[:date], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.decade(X_0:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.decade(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:date], X_1:bat[:date]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:date], X_1:bat[:date], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:date, X_1:bat[:date]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:date, X_1:bat[:date], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:date], X_1:date):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:date], X_1:date, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:daytime], X_1:bat[:daytime]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:daytime], X_1:bat[:daytime], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:daytime, X_1:bat[:daytime]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:daytime, X_1:bat[:daytime], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:daytime], X_1:daytime):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:daytime], X_1:daytime, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:timestamp], X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:timestamp], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:timestamp, X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:timestamp, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:timestamp], X_1:timestamp):bat[:lng];
COMMENT "";

PATTERN batmtime.diff(X_0:bat[:timestamp], X_1:timestamp, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.epoch(X_0:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.epoch(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.epoch(X_0:bat[:lng]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.epoch(X_0:bat[:lng], X_1:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.epoch(X_0:bat[:int]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.epoch(X_0:bat[:int], X_1:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.epoch_ms(X_0:bat[:date]):bat[:lng];
COMMENT "";

PATTERN batmtime.epoch_ms(X_0:bat[:date], X_1:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.epoch_ms(X_0:bat[:daytime]):bat[:lng];
COMMENT "";

PATTERN batmtime.epoch_ms(X_0:bat[:daytime], X_1:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.epoch_ms(X_0:bat[:lng]):bat[:lng];
COMMENT "";

PATTERN batmtime.epoch_ms(X_0:bat[:lng], X_1:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.epoch_ms(X_0:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.epoch_ms(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.hours(X_0:bat[:daytime]):bat[:bte];
COMMENT "";

PATTERN batmtime.hours(X_0:bat[:daytime], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.hours(X_0:bat[:lng]):bat[:int];
COMMENT "";

PATTERN batmtime.hours(X_0:bat[:lng], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.hours(X_0:bat[:timestamp]):bat[:bte];
COMMENT "";

PATTERN batmtime.hours(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.minutes(X_0:bat[:daytime]):bat[:bte];
COMMENT "";

PATTERN batmtime.minutes(X_0:bat[:daytime], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.minutes(X_0:bat[:lng]):bat[:int];
COMMENT "";

PATTERN batmtime.minutes(X_0:bat[:lng], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.minutes(X_0:bat[:timestamp]):bat[:bte];
COMMENT "";

PATTERN batmtime.minutes(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.month(X_0:bat[:date]):bat[:bte];
COMMENT "";

PATTERN batmtime.month(X_0:bat[:date], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.month(X_0:bat[:int]):bat[:int];
COMMENT "";

PATTERN batmtime.month(X_0:bat[:int], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.month(X_0:bat[:timestamp]):bat[:bte];
COMMENT "";

PATTERN batmtime.month(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_month_time(X_0:bat[:daytime], X_1:bat[:int]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_month_time(X_0:bat[:daytime], X_1:bat[:int], X_2:bat[:oid], X_3:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_month_time(X_0:daytime, X_1:bat[:int]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_month_time(X_0:daytime, X_1:bat[:int], X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_month_time(X_0:bat[:daytime], X_1:int):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_month_time(X_0:bat[:daytime], X_1:int, X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_date(X_0:bat[:date], X_1:bat[:lng]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_date(X_0:bat[:date], X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_date(X_0:date, X_1:bat[:lng]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_date(X_0:date, X_1:bat[:lng], X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_date(X_0:bat[:date], X_1:lng):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_date(X_0:bat[:date], X_1:lng, X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_time(X_0:bat[:daytime], X_1:bat[:lng]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_time(X_0:bat[:daytime], X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_time(X_0:daytime, X_1:bat[:lng]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_time(X_0:daytime, X_1:bat[:lng], X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_time(X_0:bat[:daytime], X_1:lng):bat[:timestamp];
COMMENT "";

PATTERN batmtime.odbc_timestamp_add_msec_time(X_0:bat[:daytime], X_1:lng, X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.quarter(X_0:bat[:date]):bat[:bte];
COMMENT "";

PATTERN batmtime.quarter(X_0:bat[:date], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.quarter(X_0:bat[:timestamp]):bat[:bte];
COMMENT "";

PATTERN batmtime.quarter(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.seconds(X_0:bat[:lng]):bat[:int];
COMMENT "";

PATTERN batmtime.seconds(X_0:bat[:lng], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.sql_seconds(X_0:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.sql_seconds(X_0:bat[:daytime], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.sql_seconds(X_0:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.sql_seconds(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.str_to_date(X_0:bat[:str], X_1:bat[:str]):bat[:date];
COMMENT "";

PATTERN batmtime.str_to_date(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.str_to_date(X_0:str, X_1:bat[:str]):bat[:date];
COMMENT "";

PATTERN batmtime.str_to_date(X_0:str, X_1:bat[:str], X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.str_to_date(X_0:bat[:str], X_1:str):bat[:date];
COMMENT "";

PATTERN batmtime.str_to_date(X_0:bat[:str], X_1:str, X_2:bat[:oid]):bat[:date];
COMMENT "";

PATTERN batmtime.str_to_time(X_0:bat[:str], X_1:bat[:str]):bat[:daytime];
COMMENT "";

PATTERN batmtime.str_to_time(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:daytime];
COMMENT "";

PATTERN batmtime.str_to_time(X_0:str, X_1:bat[:str]):bat[:daytime];
COMMENT "";

PATTERN batmtime.str_to_time(X_0:str, X_1:bat[:str], X_2:bat[:oid]):bat[:daytime];
COMMENT "";

PATTERN batmtime.str_to_time(X_0:bat[:str], X_1:str):bat[:daytime];
COMMENT "";

PATTERN batmtime.str_to_time(X_0:bat[:str], X_1:str, X_2:bat[:oid]):bat[:daytime];
COMMENT "";

PATTERN batmtime.str_to_timestamp(X_0:bat[:str], X_1:bat[:str]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.str_to_timestamp(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.str_to_timestamp(X_0:str, X_1:bat[:str]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.str_to_timestamp(X_0:str, X_1:bat[:str], X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.str_to_timestamp(X_0:bat[:str], X_1:str):bat[:timestamp];
COMMENT "";

PATTERN batmtime.str_to_timestamp(X_0:bat[:str], X_1:str, X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.time_add_msec_interval(X_0:bat[:daytime], X_1:bat[:lng]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_add_msec_interval(X_0:bat[:daytime], X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:oid]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_add_msec_interval(X_0:daytime, X_1:bat[:lng]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_add_msec_interval(X_0:daytime, X_1:bat[:lng], X_2:bat[:oid]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_add_msec_interval(X_0:bat[:daytime], X_1:lng):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_add_msec_interval(X_0:bat[:daytime], X_1:lng, X_2:bat[:oid]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_sub_msec_interval(X_0:bat[:daytime], X_1:bat[:lng]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_sub_msec_interval(X_0:bat[:daytime], X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:oid]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_sub_msec_interval(X_0:daytime, X_1:bat[:lng]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_sub_msec_interval(X_0:daytime, X_1:bat[:lng], X_2:bat[:oid]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_sub_msec_interval(X_0:bat[:daytime], X_1:lng):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_sub_msec_interval(X_0:bat[:daytime], X_1:lng, X_2:bat[:oid]):bat[:daytime];
COMMENT "";

PATTERN batmtime.time_to_str(X_0:bat[:daytime], X_1:bat[:str]):bat[:str];
COMMENT "";

PATTERN batmtime.time_to_str(X_0:bat[:daytime], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:str];
COMMENT "";

PATTERN batmtime.time_to_str(X_0:daytime, X_1:bat[:str]):bat[:str];
COMMENT "";

PATTERN batmtime.time_to_str(X_0:daytime, X_1:bat[:str], X_2:bat[:oid]):bat[:str];
COMMENT "";

PATTERN batmtime.time_to_str(X_0:bat[:daytime], X_1:str):bat[:str];
COMMENT "";

PATTERN batmtime.time_to_str(X_0:bat[:daytime], X_1:str, X_2:bat[:oid]):bat[:str];
COMMENT "";

PATTERN batmtime.timestamp_add_month_interval(X_0:bat[:timestamp], X_1:bat[:int]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_month_interval(X_0:bat[:timestamp], X_1:bat[:int], X_2:bat[:oid], X_3:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_month_interval(X_0:timestamp, X_1:bat[:int]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_month_interval(X_0:timestamp, X_1:bat[:int], X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_month_interval(X_0:bat[:timestamp], X_1:int):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_month_interval(X_0:bat[:timestamp], X_1:int, X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_msec_interval(X_0:bat[:timestamp], X_1:bat[:lng]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_msec_interval(X_0:bat[:timestamp], X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_msec_interval(X_0:timestamp, X_1:bat[:lng]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_msec_interval(X_0:timestamp, X_1:bat[:lng], X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_msec_interval(X_0:bat[:timestamp], X_1:lng):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_add_msec_interval(X_0:bat[:timestamp], X_1:lng, X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_month_interval(X_0:bat[:timestamp], X_1:bat[:int]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_month_interval(X_0:bat[:timestamp], X_1:bat[:int], X_2:bat[:oid], X_3:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_month_interval(X_0:timestamp, X_1:bat[:int]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_month_interval(X_0:timestamp, X_1:bat[:int], X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_month_interval(X_0:bat[:timestamp], X_1:int):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_month_interval(X_0:bat[:timestamp], X_1:int, X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_msec_interval(X_0:bat[:timestamp], X_1:bat[:lng]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_msec_interval(X_0:bat[:timestamp], X_1:bat[:lng], X_2:bat[:oid], X_3:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_msec_interval(X_0:timestamp, X_1:bat[:lng]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_msec_interval(X_0:timestamp, X_1:bat[:lng], X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_msec_interval(X_0:bat[:timestamp], X_1:lng):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_sub_msec_interval(X_0:bat[:timestamp], X_1:lng, X_2:bat[:oid]):bat[:timestamp];
COMMENT "";

PATTERN batmtime.timestamp_to_str(X_0:bat[:timestamp], X_1:bat[:str]):bat[:str];
COMMENT "";

PATTERN batmtime.timestamp_to_str(X_0:bat[:timestamp], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:str];
COMMENT "";

PATTERN batmtime.timestamp_to_str(X_0:timestamp, X_1:bat[:str]):bat[:str];
COMMENT "";

PATTERN batmtime.timestamp_to_str(X_0:timestamp, X_1:bat[:str], X_2:bat[:oid]):bat[:str];
COMMENT "";

PATTERN batmtime.timestamp_to_str(X_0:bat[:timestamp], X_1:str):bat[:str];
COMMENT "";

PATTERN batmtime.timestamp_to_str(X_0:bat[:timestamp], X_1:str, X_2:bat[:oid]):bat[:str];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:timestamp], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:timestamp], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:timestamp, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:timestamp, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:timestamp], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:timestamp], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:daytime], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:daytime], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:daytime, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:daytime, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:daytime], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:daytime], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:timestamp], X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:timestamp], X_1:bat[:daytime], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:timestamp, X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:timestamp, X_1:bat[:daytime], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:timestamp], X_1:daytime):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_day(X_0:bat[:timestamp], X_1:daytime, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:timestamp], X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:timestamp], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:timestamp, X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:timestamp, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:timestamp], X_1:timestamp):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:timestamp], X_1:timestamp, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:date], X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:date], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:date, X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:date, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:date], X_1:timestamp):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:date], X_1:timestamp, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:timestamp], X_1:bat[:date]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:timestamp], X_1:bat[:date], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:timestamp, X_1:bat[:date]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:timestamp, X_1:bat[:date], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:timestamp], X_1:date):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_hour(X_0:bat[:timestamp], X_1:date, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:timestamp], X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:timestamp], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:timestamp, X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:timestamp, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:timestamp], X_1:timestamp):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:timestamp], X_1:timestamp, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:date], X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:date], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:date, X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:date, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:date], X_1:timestamp):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:date], X_1:timestamp, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:timestamp], X_1:bat[:date]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:timestamp], X_1:bat[:date], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:timestamp, X_1:bat[:date]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:timestamp, X_1:bat[:date], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:timestamp], X_1:date):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_min(X_0:bat[:timestamp], X_1:date, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:timestamp], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:timestamp], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:timestamp, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:timestamp, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:timestamp], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:timestamp], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:daytime], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:daytime], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:daytime, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:daytime, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:daytime], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:daytime], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:timestamp], X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:timestamp], X_1:bat[:daytime], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:timestamp, X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:timestamp, X_1:bat[:daytime], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:timestamp], X_1:daytime):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_month(X_0:bat[:timestamp], X_1:daytime, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:timestamp], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:timestamp], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:timestamp, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:timestamp, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:timestamp], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:timestamp], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:daytime], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:daytime], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:daytime, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:daytime, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:daytime], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:daytime], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:timestamp], X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:timestamp], X_1:bat[:daytime], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:timestamp, X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:timestamp, X_1:bat[:daytime], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:timestamp], X_1:daytime):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_quarter(X_0:bat[:timestamp], X_1:daytime, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:timestamp], X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:timestamp], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:timestamp, X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:timestamp, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:timestamp], X_1:timestamp):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:timestamp], X_1:timestamp, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:date], X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:date], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:date, X_1:bat[:timestamp]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:date, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:date], X_1:timestamp):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:date], X_1:timestamp, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:timestamp], X_1:bat[:date]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:timestamp], X_1:bat[:date], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:timestamp, X_1:bat[:date]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:timestamp, X_1:bat[:date], X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:timestamp], X_1:date):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_sec(X_0:bat[:timestamp], X_1:date, X_2:bat[:oid]):bat[:lng];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:timestamp], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:timestamp], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:timestamp, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:timestamp, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:timestamp], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:timestamp], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:daytime], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:daytime], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:daytime, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:daytime, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:daytime], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:daytime], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:timestamp], X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:timestamp], X_1:bat[:daytime], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:timestamp, X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:timestamp, X_1:bat[:daytime], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:timestamp], X_1:daytime):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_week(X_0:bat[:timestamp], X_1:daytime, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:timestamp], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:timestamp], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:timestamp, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:timestamp, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:timestamp], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:timestamp], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:daytime], X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:daytime], X_1:bat[:timestamp], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:daytime, X_1:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:daytime, X_1:bat[:timestamp], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:daytime], X_1:timestamp):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:daytime], X_1:timestamp, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:timestamp], X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:timestamp], X_1:bat[:daytime], X_2:bat[:oid], X_3:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:timestamp, X_1:bat[:daytime]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:timestamp, X_1:bat[:daytime], X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:timestamp], X_1:daytime):bat[:int];
COMMENT "";

PATTERN batmtime.timestampdiff_year(X_0:bat[:timestamp], X_1:daytime, X_2:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.usweekofyear(X_0:bat[:date]):bat[:bte];
COMMENT "";

PATTERN batmtime.usweekofyear(X_0:bat[:date], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.weekofyear(X_0:bat[:date]):bat[:bte];
COMMENT "";

PATTERN batmtime.weekofyear(X_0:bat[:date], X_1:bat[:oid]):bat[:bte];
COMMENT "";

PATTERN batmtime.year(X_0:bat[:date]):bat[:int];
COMMENT "";

PATTERN batmtime.year(X_0:bat[:date], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.year(X_0:bat[:int]):bat[:int];
COMMENT "";

PATTERN batmtime.year(X_0:bat[:int], X_1:bat[:oid]):bat[:int];
COMMENT "";

PATTERN batmtime.year(X_0:bat[:timestamp]):bat[:int];
COMMENT "";

PATTERN batmtime.year(X_0:bat[:timestamp], X_1:bat[:oid]):bat[:int];
COMMENT "";