|
PostgreSQL Source Code git master
|
#include "postgres.h"#include <ctype.h>#include <math.h>#include <limits.h>#include <sys/time.h>#include "access/xact.h"#include "catalog/pg_type.h"#include "common/int.h"#include "common/int128.h"#include "funcapi.h"#include "libpq/pqformat.h"#include "miscadmin.h"#include "nodes/nodeFuncs.h"#include "nodes/supportnodes.h"#include "optimizer/optimizer.h"#include "parser/scansup.h"#include "utils/array.h"#include "utils/builtins.h"#include "utils/date.h"#include "utils/datetime.h"#include "utils/float.h"#include "utils/numeric.h"#include "utils/skipsupport.h"#include "utils/sortsupport.h"
Go to the source code of this file.
Data Structures | |
| struct | generate_series_timestamp_fctx |
| struct | generate_series_timestamptz_fctx |
| struct | IntervalAggState |
Macros | |
| #define | SAMESIGN(a, b) (((a) < 0) == ((b) < 0)) |
| #define | IA_TOTAL_COUNT(ia) ((ia)->N + (ia)->pInfcount + (ia)->nInfcount) |
| #define | TIMESTAMP_GT(t1, t2) DatumGetBool(DirectFunctionCall2(timestamp_gt,t1,t2)) |
| #define | TIMESTAMP_LT(t1, t2) DatumGetBool(DirectFunctionCall2(timestamp_lt,t1,t2)) |
| #define | INTERVAL_TO_MICROSECONDS(i) ((((double) (i)->month * DAYS_PER_MONTH + (i)->day)) * USECS_PER_DAY + (i)->time) |
Typedefs | |
| typedef struct IntervalAggState | IntervalAggState |
Variables | |
| TimestampTz | PgStartTime |
| TimestampTz | PgReloadTime |
| #define IA_TOTAL_COUNT | ( | ia | ) | ((ia)->N + (ia)->pInfcount + (ia)->nInfcount) |
Definition at line 89 of file timestamp.c.
| #define INTERVAL_TO_MICROSECONDS | ( | i | ) | ((((double) (i)->month * DAYS_PER_MONTH + (i)->day)) * USECS_PER_DAY + (i)->time) |
| #define TIMESTAMP_GT | ( | t1, | |
| t2 | |||
| ) | DatumGetBool(DirectFunctionCall2(timestamp_gt,t1,t2)) |
| #define TIMESTAMP_LT | ( | t1, | |
| t2 | |||
| ) | DatumGetBool(DirectFunctionCall2(timestamp_lt,t1,t2)) |
| typedef struct IntervalAggState IntervalAggState |
Definition at line 1350 of file timestamp.c.
References DAY, elog, ereturn, errcode(), errmsg(), ERROR, HOUR, INT64CONST, INTERVAL_FULL_PRECISION, INTERVAL_FULL_RANGE, INTERVAL_MASK, INTERVAL_NOT_FINITE, INTERVAL_PRECISION, INTERVAL_RANGE, MAX_INTERVAL_PRECISION, MINUTE, MONTH, interval::month, MONTHS_PER_YEAR, pg_add_s64_overflow(), pg_sub_s64_overflow(), range(), SECOND, interval::time, USECS_PER_HOUR, USECS_PER_MINUTE, and YEAR.
Referenced by interval_in(), interval_recv(), and interval_scale().
Definition at line 368 of file timestamp.c.
References ereturn, errcode(), errmsg(), INT64CONST, MAX_TIMESTAMP_PRECISION, and TIMESTAMP_NOT_FINITE.
Referenced by executeDateTimeMethod(), GetSQLCurrentTimestamp(), GetSQLLocalTimestamp(), parse_datetime(), timestamp_in(), timestamp_recv(), timestamp_scale(), timestamptz_in(), timestamptz_recv(), timestamptz_scale(), and to_timestamp().
Definition at line 125 of file timestamp.c.
References ereport, errcode(), errmsg(), ERROR, MAX_TIMESTAMP_PRECISION, and WARNING.
Referenced by anytimestamp_typmodin(), executeDateTimeMethod(), and transformSQLValueFunction().
Definition at line 104 of file timestamp.c.
References anytimestamp_typmod_check(), ArrayGetIntegerTypmods(), ereport, errcode(), errmsg(), and ERROR.
Referenced by timestamptypmodin(), and timestamptztypmodin().
|
static |
Definition at line 147 of file timestamp.c.
References psprintf(), and pstrdup().
Referenced by timestamptypmodout(), and timestamptztypmodout().
| Datum clock_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1621 of file timestamp.c.
References GetCurrentTimestamp(), and PG_RETURN_TIMESTAMPTZ.
| int date2isoweek | ( | int | year, |
| int | mon, | ||
| int | mday | ||
| ) |
Definition at line 5295 of file timestamp.c.
References date2j(), and j2day().
Referenced by DCH_to_char(), extract_date(), timestamp_part_common(), timestamp_trunc(), timestamptz_part_common(), and timestamptz_trunc_internal().
| int date2isoyear | ( | int | year, |
| int | mon, | ||
| int | mday | ||
| ) |
Definition at line 5350 of file timestamp.c.
References date2j(), and j2day().
Referenced by date2isoyearday(), DCH_to_char(), extract_date(), timestamp_part_common(), and timestamptz_part_common().
| int date2isoyearday | ( | int | year, |
| int | mon, | ||
| int | mday | ||
| ) |
Definition at line 5407 of file timestamp.c.
References date2isoyear(), date2j(), and isoweek2j().
Referenced by DCH_to_char().
|
static |
Definition at line 3989 of file timestamp.c.
References finite_interval_pl(), INTERVAL_IS_NOBEGIN, INTERVAL_IS_NOEND, and newval.
Referenced by interval_avg_accum().
|
static |
Definition at line 4012 of file timestamp.c.
References Assert(), finite_interval_mi(), INTERVAL_IS_NOBEGIN, INTERVAL_IS_NOEND, and newval.
Referenced by interval_avg_accum_inv().
Definition at line 2134 of file timestamp.c.
References USECS_PER_SEC.
Referenced by make_timestamptz_at_timezone(), timestamp2timestamptz_safe(), timestamp_izone(), timestamp_zone(), timestamptz_izone(), timestamptz_zone(), and tm2timestamp().
Definition at line 1883 of file timestamp.c.
References USECS_PER_HOUR, USECS_PER_MINUTE, and USECS_PER_SEC.
Referenced by DecodeDateTime(), DecodeTimeOnly(), and timestamp2tm().
|
static |
Definition at line 1598 of file timestamp.c.
References EARLY, elog, ERROR, INTERVAL_IS_NOBEGIN, INTERVAL_IS_NOEND, LATE, and str.
Referenced by interval_out().
| void EncodeSpecialTimestamp | ( | Timestamp | dt, |
| char * | str | ||
| ) |
Definition at line 1587 of file timestamp.c.
References EARLY, elog, ERROR, LATE, str, TIMESTAMP_IS_NOBEGIN, and TIMESTAMP_IS_NOEND.
Referenced by JsonEncodeDateTime(), PGTYPEStimestamp_to_asc(), timestamp_out(), timestamptz_out(), and timestamptz_to_str().
| Datum extract_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6293 of file timestamp.c.
References interval_part_common().
| Datum extract_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 5745 of file timestamp.c.
References timestamp_part_common().
| Datum extract_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6017 of file timestamp.c.
References timestamptz_part_common().
|
static |
Definition at line 3544 of file timestamp.c.
References Assert(), Interval::day, ereport, errcode(), errmsg(), ERROR, INTERVAL_NOT_FINITE, Interval::month, pg_sub_s32_overflow(), pg_sub_s64_overflow(), and Interval::time.
Referenced by do_interval_discard(), and interval_mi().
|
static |
Definition at line 3488 of file timestamp.c.
References Assert(), Interval::day, ereport, errcode(), errmsg(), ERROR, INTERVAL_NOT_FINITE, Interval::month, pg_add_s32_overflow(), pg_add_s64_overflow(), and Interval::time.
Referenced by do_interval_accum(), interval_avg_combine(), and interval_pl().
| Datum float8_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 726 of file timestamp.c.
References DATETIME_MIN_JULIAN, ereport, errcode(), errmsg(), ERROR, IS_VALID_TIMESTAMP, PG_GETARG_FLOAT8, PG_RETURN_TIMESTAMP, POSTGRES_EPOCH_JDATE, SECS_PER_DAY, TIMESTAMP_END_JULIAN, TIMESTAMP_NOBEGIN, TIMESTAMP_NOEND, UNIX_EPOCH_JDATE, and USECS_PER_SEC.
| Datum generate_series_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6667 of file timestamp.c.
References generate_series_timestamp_fctx::current, DatumGetTimestamp(), DirectFunctionCall2, ereport, errcode(), errmsg(), ERROR, generate_series_timestamp_fctx::finish, INTERVAL_NOT_FINITE, interval_sign(), MemoryContextSwitchTo(), FuncCallContext::multi_call_memory_ctx, palloc(), PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMP, PointerGetDatum(), SRF_FIRSTCALL_INIT, SRF_IS_FIRSTCALL, SRF_PERCALL_SETUP, SRF_RETURN_DONE, SRF_RETURN_NEXT, start, generate_series_timestamp_fctx::step, generate_series_timestamp_fctx::step_sign, timestamp_cmp_internal(), timestamp_pl_interval(), TimestampGetDatum(), and FuncCallContext::user_fctx.
| Datum generate_series_timestamp_support | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6848 of file timestamp.c.
References generate_unaccent_rules::args, DatumGetIntervalP(), DatumGetTimestamp(), DirectFunctionCall2, estimate_expression_value(), INTERVAL_TO_MICROSECONDS, is_funcclause(), IsA, linitial, lsecond, lthird, SupportRequestRows::node, PG_GETARG_POINTER, PG_RETURN_POINTER, pg_sub_s64_overflow(), SupportRequestRows::root, SupportRequestRows::rows, start, timestamp_mi(), TIMESTAMP_NOT_FINITE, and TimestampGetDatum().
| Datum generate_series_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6833 of file timestamp.c.
References generate_series_timestamptz_internal().
| Datum generate_series_timestamptz_at_zone | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6839 of file timestamp.c.
References generate_series_timestamptz_internal().
|
static |
Definition at line 6751 of file timestamp.c.
References generate_series_timestamptz_fctx::attimezone, generate_series_timestamptz_fctx::current, ereport, errcode(), errmsg(), ERROR, generate_series_timestamptz_fctx::finish, INTERVAL_NOT_FINITE, interval_sign(), lookup_timezone(), MemoryContextSwitchTo(), FuncCallContext::multi_call_memory_ctx, palloc(), PG_GETARG_INTERVAL_P, PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMPTZ, PG_NARGS, session_timezone, SRF_FIRSTCALL_INIT, SRF_IS_FIRSTCALL, SRF_PERCALL_SETUP, SRF_RETURN_DONE, SRF_RETURN_NEXT, start, generate_series_timestamptz_fctx::step, generate_series_timestamptz_fctx::step_sign, timestamp_cmp_internal(), timestamptz_pl_interval_internal(), TimestampTzGetDatum(), and FuncCallContext::user_fctx.
Referenced by generate_series_timestamptz(), and generate_series_timestamptz_at_zone().
| TimestampTz GetCurrentTimestamp | ( | void | ) |
Definition at line 1645 of file timestamp.c.
References gettimeofday(), POSTGRES_EPOCH_JDATE, SECS_PER_DAY, UNIX_EPOCH_JDATE, and USECS_PER_SEC.
Referenced by ApplyLauncherMain(), asyncQueueFillWarning(), autoprewarm_main(), AutoVacLauncherMain(), BackendStartup(), BackgroundWriterMain(), bbsink_copystream_archive_contents(), bbsink_copystream_end_archive(), bbsink_copystream_new(), bbsink_throttle_begin_backup(), check_log_duration(), CheckPointGuts(), CleanupBackend(), clock_timestamp(), CreateCheckPoint(), CreateEndOfRecoveryRecord(), CreateOverwriteContrecordRecord(), CreateRestartPoint(), dblink_cancel_query(), DetermineSleepTime(), disable_timeout(), disable_timeouts(), do_analyze_rel(), do_start_worker(), enable_startup_progress_timeout(), enable_timeout_after(), enable_timeout_at(), enable_timeout_every(), enable_timeouts(), entry_alloc(), entry_reset(), get_candidate_xid(), get_role_password(), GetCurrentTransactionStopTimestamp(), GetReplicationApplyDelay(), handle_sig_alarm(), has_startup_progress_timeout_expired(), heap_vacuum_rel(), initialize_prng(), InitProcessGlobals(), InvalidatePossiblyObsoleteSlot(), KnownAssignedXidsCompress(), launch_sync_worker(), launcher_determine_sleep(), libpqsrv_cancel(), LockBufferForCleanup(), log_disconnections(), LogCheckpointEnd(), logicalrep_worker_launch(), LogicalRepApplyLoop(), maybe_start_bgworkers(), pa_send_data(), PerformAuthentication(), PerformWalRecovery(), pg_sleep(), pgfdw_abort_cleanup_begin(), pgfdw_cancel_query(), pgfdw_exec_cleanup_query(), pgfdw_finish_abort_cleanup(), pgfdw_get_cleanup_result(), pgss_shmem_startup(), pgstat_build_snapshot(), pgstat_report_activity(), pgstat_report_analyze(), pgstat_report_archiver(), pgstat_report_autovac(), pgstat_report_checksum_failures_in_db(), pgstat_report_replslotsync(), pgstat_report_stat(), pgstat_report_vacuum(), pgstat_reset(), pgstat_reset_after_failure(), pgstat_reset_counters(), pgstat_reset_of_kind(), pgstat_reset_slru(), PostgresMain(), PostgresSingleUserMain(), postmaster_child_launch(), PostmasterMain(), PrepareTransaction(), ProcessConfigFileInternal(), ProcessPendingWrites(), ProcessRepliesIfAny(), ProcessStandbyPSRequestMessage(), ProcessStandbyReplyMessage(), ProcessWalSndrMessage(), ProcSleep(), rebuild_database_list(), RecordTransactionAbort(), RecordTransactionAbortPrepared(), RecordTransactionCommitPrepared(), recoveryApplyDelay(), ReplicationSlotRelease(), request_publisher_status(), reschedule_timeouts(), ResolveRecoveryConflictWithBufferPin(), ResolveRecoveryConflictWithLock(), ResolveRecoveryConflictWithVirtualXIDs(), RestoreSlotFromDisk(), send_feedback(), SetCurrentStatementStartTimestamp(), SetupApplyOrSyncWorker(), should_stop_conflict_info_retention(), StartBackgroundWorker(), StartTransaction(), test_pattern(), test_random(), test_random_operations(), throttle(), update_synced_slots_inactive_since(), UpdateWorkerStats(), wait_for_local_flush(), WaitExceedsMaxStandbyDelay(), WaitForLSN(), WaitForWalSummarization(), WaitForWALToBecomeAvailable(), WalReceiverMain(), WalSndKeepalive(), WalSndLoop(), WalSndUpdateProgress(), WalSndWaitForWal(), WalSndWriteData(), XLogBackgroundFlush(), XLogFileRead(), XLogPrefetchResetStats(), XLogPrefetchShmemInit(), XLogRestorePoint(), XLogSendPhysical(), XLogWalRcvSendHSFeedback(), and XLogWalRcvSendReply().
| void GetEpochTime | ( | struct pg_tm * | tm | ) |
Definition at line 2168 of file timestamp.c.
References elog, epoch, ERROR, pg_gmtime(), tm, pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, and pg_tm::tm_year.
Referenced by date_in(), PGTYPESdate_from_asc(), and SetEpochTimestamp().
| TimestampTz GetSQLCurrentTimestamp | ( | int32 | typmod | ) |
Definition at line 1663 of file timestamp.c.
References AdjustTimestampForTypmod(), and GetCurrentTransactionStartTimestamp().
Referenced by ExecEvalSQLValueFunction().
Definition at line 1677 of file timestamp.c.
References AdjustTimestampForTypmod(), GetCurrentTransactionStartTimestamp(), and timestamptz2timestamp().
Referenced by ExecEvalSQLValueFunction().
| Datum in_range_interval_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3917 of file timestamp.c.
References DatumGetIntervalP(), DirectFunctionCall2, ereport, errcode(), errmsg(), ERROR, interval_cmp_internal(), INTERVAL_IS_NOBEGIN, INTERVAL_IS_NOEND, interval_mi(), interval_pl(), interval_sign(), IntervalPGetDatum(), PG_GETARG_BOOL, PG_GETARG_INTERVAL_P, PG_RETURN_BOOL, and val.
| Datum in_range_timestamp_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3876 of file timestamp.c.
References DatumGetTimestamp(), DirectFunctionCall2, ereport, errcode(), errmsg(), ERROR, INTERVAL_IS_NOEND, interval_sign(), IntervalPGetDatum(), PG_GETARG_BOOL, PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMP, PG_RETURN_BOOL, TIMESTAMP_IS_NOBEGIN, TIMESTAMP_IS_NOEND, timestamp_mi_interval(), timestamp_pl_interval(), TimestampGetDatum(), and val.
Referenced by in_range_date_interval().
| Datum in_range_timestamptz_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3839 of file timestamp.c.
References ereport, errcode(), errmsg(), ERROR, INTERVAL_IS_NOEND, interval_sign(), PG_GETARG_BOOL, PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, TIMESTAMP_IS_NOBEGIN, TIMESTAMP_IS_NOEND, timestamptz_mi_interval_internal(), timestamptz_pl_interval_internal(), and val.
Definition at line 2047 of file timestamp.c.
References Interval::day, Interval::month, MONTHS_PER_YEAR, Interval::time, pg_itm::tm_hour, pg_itm::tm_mday, pg_itm::tm_min, pg_itm::tm_mon, pg_itm::tm_sec, pg_itm::tm_usec, pg_itm::tm_year, USECS_PER_HOUR, USECS_PER_MINUTE, and USECS_PER_SEC.
Referenced by interval_out(), interval_part_common(), interval_to_char(), and interval_trunc().
| Datum interval_avg | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4208 of file timestamp.c.
References DirectFunctionCall2, ereport, errcode(), errmsg(), ERROR, Float8GetDatum(), IA_TOTAL_COUNT, interval_div(), INTERVAL_NOBEGIN, INTERVAL_NOEND, IntervalPGetDatum(), palloc(), PG_ARGISNULL, PG_GETARG_POINTER, PG_RETURN_INTERVAL_P, and PG_RETURN_NULL.
| Datum interval_avg_accum | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4043 of file timestamp.c.
References do_interval_accum(), makeIntervalAggState(), PG_ARGISNULL, PG_GETARG_INTERVAL_P, PG_GETARG_POINTER, and PG_RETURN_POINTER.
| Datum interval_avg_accum_inv | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4190 of file timestamp.c.
References do_interval_discard(), elog, ERROR, PG_ARGISNULL, PG_GETARG_INTERVAL_P, PG_GETARG_POINTER, and PG_RETURN_POINTER.
| Datum interval_avg_combine | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4066 of file timestamp.c.
References Interval::day, finite_interval_pl(), makeIntervalAggState(), Interval::month, IntervalAggState::N, IntervalAggState::nInfcount, PG_ARGISNULL, PG_GETARG_POINTER, PG_RETURN_POINTER, IntervalAggState::pInfcount, IntervalAggState::sumX, and Interval::time.
| Datum interval_avg_deserialize | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4147 of file timestamp.c.
References AggCheckCallContext(), buf, Interval::day, elog, ERROR, initReadOnlyStringInfo(), Interval::month, IntervalAggState::N, IntervalAggState::nInfcount, palloc0(), PG_GETARG_BYTEA_PP, PG_RETURN_POINTER, IntervalAggState::pInfcount, pq_getmsgend(), pq_getmsgint(), pq_getmsgint64(), IntervalAggState::sumX, Interval::time, VARDATA_ANY(), and VARSIZE_ANY_EXHDR().
| Datum interval_avg_serialize | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4109 of file timestamp.c.
References AggCheckCallContext(), buf, elog, ERROR, PG_GETARG_POINTER, PG_RETURN_BYTEA_P, pq_begintypsend(), pq_endtypsend(), pq_sendint32(), and pq_sendint64().
| Datum interval_cmp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2618 of file timestamp.c.
References interval_cmp_internal(), PG_GETARG_INTERVAL_P, and PG_RETURN_INT32.
Referenced by gbt_intv_ssup_cmp(), and gbt_intvkey_cmp().
Definition at line 2546 of file timestamp.c.
References int128_compare(), and interval_cmp_value().
Referenced by in_range_interval_interval(), interval_cmp(), interval_eq(), interval_ge(), interval_gt(), interval_larger(), interval_le(), interval_lt(), interval_ne(), and interval_smaller().
Definition at line 2524 of file timestamp.c.
References days, int128_add_int64_mul_int64(), int64_to_int128(), INT64CONST, interval::month, interval::time, and USECS_PER_DAY.
Referenced by interval_cmp_internal(), interval_hash(), interval_hash_extended(), and interval_sign().
| Datum interval_div | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3738 of file timestamp.c.
References Interval::day, DAYS_PER_MONTH, ereport, errcode(), errmsg(), ERROR, FLOAT8_FITS_IN_INT32, FLOAT8_FITS_IN_INT64, INTERVAL_NOT_FINITE, interval_um_internal(), Interval::month, palloc(), pg_add_s32_overflow(), PG_GETARG_FLOAT8, PG_GETARG_INTERVAL_P, PG_RETURN_INTERVAL_P, PG_RETURN_NULL, SECS_PER_DAY, Interval::time, TSROUND, and USECS_PER_SEC.
Referenced by interval_avg().
| Datum interval_eq | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2564 of file timestamp.c.
References interval_cmp_internal(), PG_GETARG_INTERVAL_P, and PG_RETURN_BOOL.
Referenced by gbt_intveq().
| Datum interval_finite | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2155 of file timestamp.c.
References INTERVAL_NOT_FINITE, PG_GETARG_INTERVAL_P, and PG_RETURN_BOOL.
| Datum interval_ge | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2609 of file timestamp.c.
References interval_cmp_internal(), PG_GETARG_INTERVAL_P, and PG_RETURN_BOOL.
Referenced by gbt_intvge().
| Datum interval_gt | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2591 of file timestamp.c.
References interval_cmp_internal(), PG_GETARG_INTERVAL_P, and PG_RETURN_BOOL.
Referenced by gbt_intvgt().
| Datum interval_hash | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2634 of file timestamp.c.
References DirectFunctionCall1, hashint8(), int128_to_int64(), Int64GetDatumFast, interval_cmp_value(), and PG_GETARG_INTERVAL_P.
| Datum interval_hash_extended | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2652 of file timestamp.c.
References DirectFunctionCall2, hashint8extended(), int128_to_int64(), Int64GetDatumFast, interval_cmp_value(), PG_GETARG_DATUM, and PG_GETARG_INTERVAL_P.
| Datum interval_in | ( | PG_FUNCTION_ARGS | ) |
Definition at line 891 of file timestamp.c.
References AdjustIntervalForTypmod(), DateTimeParseError(), DecodeInterval(), DecodeISO8601Interval(), DTERR_BAD_FORMAT, DTERR_FIELD_OVERFLOW, DTERR_INTERVAL_OVERFLOW, DTK_DELTA, DTK_EARLY, DTK_LATE, elog, ereturn, errcode(), errmsg(), ERROR, INTERVAL_FULL_RANGE, INTERVAL_NOBEGIN, INTERVAL_NOEND, INTERVAL_RANGE, itmin2interval(), MAXDATEFIELDS, palloc(), ParseDateTime(), PG_GETARG_CSTRING, PG_GETARG_INT32, PG_GETARG_OID, PG_RETURN_INTERVAL_P, PG_RETURN_NULL, range(), str, pg_itm_in::tm_mday, pg_itm_in::tm_mon, pg_itm_in::tm_usec, and pg_itm_in::tm_year.
Referenced by check_timezone(), and flatten_set_variable_args().
| Datum interval_justify_days | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3043 of file timestamp.c.
References Interval::day, DAYS_PER_MONTH, ereport, errcode(), errmsg(), ERROR, INTERVAL_NOT_FINITE, Interval::month, palloc(), pg_add_s32_overflow(), PG_GETARG_INTERVAL_P, PG_RETURN_INTERVAL_P, and Interval::time.
| Datum interval_justify_hours | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3001 of file timestamp.c.
References Interval::day, ereport, errcode(), errmsg(), ERROR, INTERVAL_NOT_FINITE, Interval::month, palloc(), pg_add_s32_overflow(), PG_GETARG_INTERVAL_P, PG_RETURN_INTERVAL_P, Interval::time, TMODULO, and USECS_PER_DAY.
Referenced by timestamp_mi().
| Datum interval_justify_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2921 of file timestamp.c.
References Interval::day, DAYS_PER_MONTH, ereport, errcode(), errmsg(), ERROR, INTERVAL_NOT_FINITE, Interval::month, palloc(), pg_add_s32_overflow(), PG_GETARG_INTERVAL_P, PG_RETURN_INTERVAL_P, Interval::time, TMODULO, and USECS_PER_DAY.
| Datum interval_larger | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3474 of file timestamp.c.
References interval_cmp_internal(), PG_GETARG_INTERVAL_P, and PG_RETURN_INTERVAL_P.
| Datum interval_le | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2600 of file timestamp.c.
References interval_cmp_internal(), PG_GETARG_INTERVAL_P, and PG_RETURN_BOOL.
Referenced by gbt_intvle().
| Datum interval_lt | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2582 of file timestamp.c.
References interval_cmp_internal(), PG_GETARG_INTERVAL_P, and PG_RETURN_BOOL.
Referenced by abs_interval(), and gbt_intvlt().
| Datum interval_mi | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3559 of file timestamp.c.
References ereport, errcode(), errmsg(), ERROR, finite_interval_mi(), INTERVAL_IS_NOBEGIN, INTERVAL_IS_NOEND, INTERVAL_NOBEGIN, INTERVAL_NOEND, palloc(), PG_GETARG_INTERVAL_P, and PG_RETURN_INTERVAL_P.
Referenced by in_range_interval_interval(), interval_dist(), and interval_lerp().
| Datum interval_mul | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3608 of file timestamp.c.
References Interval::day, DAYS_PER_MONTH, ereport, errcode(), errmsg(), ERROR, FLOAT8_FITS_IN_INT32, FLOAT8_FITS_IN_INT64, INTERVAL_NOBEGIN, INTERVAL_NOEND, INTERVAL_NOT_FINITE, interval_sign(), interval_um_internal(), Interval::month, palloc(), pg_add_s32_overflow(), PG_GETARG_FLOAT8, PG_GETARG_INTERVAL_P, PG_RETURN_INTERVAL_P, PG_RETURN_NULL, SECS_PER_DAY, Interval::time, TSROUND, and USECS_PER_SEC.
Referenced by interval_lerp(), and mul_d_interval().
| Datum interval_ne | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2573 of file timestamp.c.
References interval_cmp_internal(), PG_GETARG_INTERVAL_P, and PG_RETURN_BOOL.
| Datum interval_out | ( | PG_FUNCTION_ARGS | ) |
Definition at line 973 of file timestamp.c.
References buf, EncodeInterval(), EncodeSpecialInterval(), interval2itm(), INTERVAL_NOT_FINITE, IntervalStyle, MAXDATELEN, PG_GETARG_INTERVAL_P, PG_RETURN_CSTRING, and pstrdup().
Referenced by flatten_set_variable_args(), timestamp_izone(), timestamptz_izone(), and timetz_izone().
| Datum interval_part | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6287 of file timestamp.c.
References interval_part_common().
|
static |
Definition at line 6080 of file timestamp.c.
References CStringGetDatum(), DAYS_PER_MONTH, DAYS_PER_YEAR, DecodeSpecial(), DecodeUnits(), DirectFunctionCall3, downcase_truncate_identifier(), DTK_CENTURY, DTK_DAY, DTK_DECADE, DTK_EPOCH, DTK_HOUR, DTK_MICROSEC, DTK_MILLENNIUM, DTK_MILLISEC, DTK_MINUTE, DTK_MONTH, DTK_QUARTER, DTK_SECOND, DTK_WEEK, DTK_YEAR, ereport, errcode(), errmsg(), ERROR, format_type_be(), Int32GetDatum(), int64_div_fast_to_numeric(), int64_to_numeric(), INT64CONST, interval2itm(), INTERVAL_IS_NOBEGIN, INTERVAL_NOT_FINITE, InvalidOid, interval::month, MONTHS_PER_YEAR, NonFiniteIntervalPart(), numeric_add_safe(), numeric_in(), ObjectIdGetDatum(), pg_add_s64_overflow(), PG_GETARG_INTERVAL_P, PG_GETARG_TEXT_PP, pg_mul_s64_overflow(), PG_RETURN_FLOAT8, PG_RETURN_NULL, PG_RETURN_NUMERIC, RESERV, SECS_PER_DAY, interval::time, tm, pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, type, UNITS, UNKNOWN_FIELD, val, VARDATA_ANY(), and VARSIZE_ANY_EXHDR().
Referenced by extract_interval(), and interval_part().
| Datum interval_pl | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3503 of file timestamp.c.
References ereport, errcode(), errmsg(), ERROR, finite_interval_pl(), INTERVAL_IS_NOBEGIN, INTERVAL_IS_NOEND, INTERVAL_NOBEGIN, INTERVAL_NOEND, INTERVAL_NOT_FINITE, palloc(), PG_GETARG_INTERVAL_P, and PG_RETURN_INTERVAL_P.
Referenced by in_range_interval_interval(), and interval_lerp().
| Datum interval_recv | ( | PG_FUNCTION_ARGS | ) |
Definition at line 997 of file timestamp.c.
References AdjustIntervalForTypmod(), buf, interval::month, palloc(), PG_GETARG_INT32, PG_GETARG_OID, PG_GETARG_POINTER, PG_RETURN_INTERVAL_P, pq_getmsgint(), pq_getmsgint64(), and interval::time.
| Datum interval_scale | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1328 of file timestamp.c.
References AdjustIntervalForTypmod(), palloc(), PG_GETARG_INT32, PG_GETARG_INTERVAL_P, and PG_RETURN_INTERVAL_P.
| Datum interval_send | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1022 of file timestamp.c.
References buf, interval::month, PG_GETARG_INTERVAL_P, PG_RETURN_BYTEA_P, pq_begintypsend(), pq_endtypsend(), pq_sendint32(), pq_sendint64(), and interval::time.
|
static |
Definition at line 2555 of file timestamp.c.
References int128_compare(), int64_to_int128(), and interval_cmp_value().
Referenced by generate_series_timestamp(), generate_series_timestamptz_internal(), in_range_interval_interval(), in_range_timestamp_interval(), in_range_timestamptz_interval(), and interval_mul().
| Datum interval_smaller | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3459 of file timestamp.c.
References interval_cmp_internal(), PG_GETARG_INTERVAL_P, and PG_RETURN_INTERVAL_P.
| Datum interval_sum | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4248 of file timestamp.c.
References ereport, errcode(), errmsg(), ERROR, IA_TOTAL_COUNT, INTERVAL_NOBEGIN, INTERVAL_NOEND, palloc(), PG_ARGISNULL, PG_GETARG_POINTER, PG_RETURN_INTERVAL_P, and PG_RETURN_NULL.
| Datum interval_support | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1265 of file timestamp.c.
References FuncExpr::args, Assert(), DatumGetInt32(), exprTypmod(), SupportRequestSimplify::fcall, INTERVAL_FULL_PRECISION, INTERVAL_PRECISION, intervaltypmodleastfield(), IsA, linitial, list_length(), lsecond, MAX_INTERVAL_PRECISION, PG_GETARG_POINTER, PG_RETURN_POINTER, relabel_to_typmod(), and source.
| Datum interval_trunc | ( | PG_FUNCTION_ARGS | ) |
Definition at line 5112 of file timestamp.c.
References DecodeUnits(), downcase_truncate_identifier(), DTK_CENTURY, DTK_DAY, DTK_DECADE, DTK_HOUR, DTK_MICROSEC, DTK_MILLENNIUM, DTK_MILLISEC, DTK_MINUTE, DTK_MONTH, DTK_QUARTER, DTK_SECOND, DTK_WEEK, DTK_YEAR, ereport, errcode(), errdetail(), errmsg(), ERROR, format_type_be(), interval2itm(), INTERVAL_NOT_FINITE, itm2interval(), palloc(), PG_GETARG_INTERVAL_P, PG_GETARG_TEXT_PP, PG_RETURN_INTERVAL_P, tm, pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, type, UNITS, val, VARDATA_ANY(), and VARSIZE_ANY_EXHDR().
| Datum interval_um | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3446 of file timestamp.c.
References interval_um_internal(), palloc(), PG_GETARG_INTERVAL_P, and PG_RETURN_INTERVAL_P.
Referenced by abs_interval().
Definition at line 3426 of file timestamp.c.
References Interval::day, ereport, errcode(), errmsg(), ERROR, INT64CONST, INTERVAL_IS_NOBEGIN, INTERVAL_IS_NOEND, INTERVAL_NOBEGIN, INTERVAL_NOEND, INTERVAL_NOT_FINITE, Interval::month, interval::month, pg_sub_s32_overflow(), pg_sub_s64_overflow(), Interval::time, and interval::time.
Referenced by interval_div(), interval_mul(), interval_um(), timestamp_mi_interval(), and timestamptz_mi_interval_internal().
| Datum intervaltypmodin | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1047 of file timestamp.c.
References ArrayGetIntegerTypmods(), DAY, ereport, errcode(), errmsg(), ERROR, HOUR, INTERVAL_FULL_PRECISION, INTERVAL_FULL_RANGE, INTERVAL_MASK, INTERVAL_TYPMOD, MAX_INTERVAL_PRECISION, MINUTE, MONTH, PG_GETARG_ARRAYTYPE_P, PG_RETURN_INT32, SECOND, WARNING, and YEAR.
|
static |
Definition at line 1212 of file timestamp.c.
References DAY, elog, ERROR, HOUR, INTERVAL_FULL_RANGE, INTERVAL_MASK, INTERVAL_RANGE, MINUTE, MONTH, SECOND, and YEAR.
Referenced by interval_support().
| Datum intervaltypmodout | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1126 of file timestamp.c.
References DAY, elog, ERROR, HOUR, INTERVAL_FULL_PRECISION, INTERVAL_FULL_RANGE, INTERVAL_MASK, INTERVAL_PRECISION, INTERVAL_RANGE, MINUTE, MONTH, palloc(), PG_GETARG_INT32, PG_RETURN_CSTRING, SECOND, snprintf, and YEAR.
| void isoweek2date | ( | int | woy, |
| int * | year, | ||
| int * | mon, | ||
| int * | mday | ||
| ) |
Definition at line 5264 of file timestamp.c.
References isoweek2j(), and j2date().
Referenced by do_to_timestamp(), timestamp_trunc(), and timestamptz_trunc_internal().
| int isoweek2j | ( | int | year, |
| int | week | ||
| ) |
Definition at line 5244 of file timestamp.c.
References date2j(), and j2day().
Referenced by date2isoyearday(), do_to_timestamp(), isoweek2date(), and isoweekdate2date().
| void isoweekdate2date | ( | int | isoweek, |
| int | wday, | ||
| int * | year, | ||
| int * | mon, | ||
| int * | mday | ||
| ) |
Definition at line 5277 of file timestamp.c.
References isoweek2j(), and j2date().
Referenced by do_to_timestamp().
Definition at line 2077 of file timestamp.c.
References Interval::day, if(), INTERVAL_NOT_FINITE, Interval::month, MONTHS_PER_YEAR, pg_add_s64_overflow(), pg_mul_s64_overflow(), Interval::time, pg_itm::tm_hour, pg_itm::tm_mday, pg_itm::tm_min, pg_itm::tm_mon, pg_itm::tm_sec, pg_itm::tm_usec, pg_itm::tm_year, USECS_PER_HOUR, USECS_PER_MINUTE, and USECS_PER_SEC.
Referenced by interval_trunc(), timestamp_age(), and timestamptz_age().
Definition at line 2115 of file timestamp.c.
References Interval::day, if(), Interval::month, MONTHS_PER_YEAR, Interval::time, pg_itm_in::tm_mday, pg_itm_in::tm_mon, pg_itm_in::tm_usec, and pg_itm_in::tm_year.
Referenced by interval_in(), pg_timezone_abbrevs_abbrevs(), and pg_timezone_abbrevs_zone().
Definition at line 560 of file timestamp.c.
References DecodeTimezoneNameToTz(), text_to_cstring_buffer(), and TZ_STRLEN_MAX.
Referenced by generate_series_timestamptz_internal(), timestamptz_mi_interval_at_zone(), timestamptz_pl_interval_at_zone(), and timestamptz_trunc_zone().
| Datum make_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1530 of file timestamp.c.
References Interval::day, days, DAYS_PER_WEEK, ereport, errcode(), errmsg(), ERROR, FLOAT8_FITS_IN_INT64, float8_mul(), INTERVAL_NOT_FINITE, Interval::month, months, MONTHS_PER_YEAR, palloc(), pg_add_s32_overflow(), pg_add_s64_overflow(), PG_GETARG_FLOAT8, PG_GETARG_INT32, pg_mul_s32_overflow(), PG_RETURN_INTERVAL_P, PG_RETURN_NULL, Interval::time, USECS_PER_HOUR, USECS_PER_MINUTE, and USECS_PER_SEC.
| Datum make_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 645 of file timestamp.c.
References make_timestamp_internal(), PG_GETARG_FLOAT8, PG_GETARG_INT32, and PG_RETURN_TIMESTAMP.
|
static |
Definition at line 574 of file timestamp.c.
References date2j(), DTK_DATE_M, ereport, errcode(), errmsg(), ERROR, float_time_overflows(), IS_VALID_JULIAN, IS_VALID_TIMESTAMP, MINS_PER_HOUR, pg_add_s64_overflow(), pg_mul_s64_overflow(), POSTGRES_EPOCH_JDATE, SECS_PER_MINUTE, tm, pg_tm::tm_mday, pg_tm::tm_mon, pg_tm::tm_year, unlikely, USECS_PER_DAY, USECS_PER_SEC, and ValidateDate().
Referenced by make_timestamp(), make_timestamptz(), and make_timestamptz_at_timezone().
| Datum make_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 665 of file timestamp.c.
References make_timestamp_internal(), PG_GETARG_FLOAT8, PG_GETARG_INT32, PG_RETURN_TIMESTAMPTZ, and timestamp2timestamptz().
| Datum make_timestamptz_at_timezone | ( | PG_FUNCTION_ARGS | ) |
Definition at line 686 of file timestamp.c.
References dt2local(), ereport, errcode(), errmsg(), ERROR, IS_VALID_TIMESTAMP, make_timestamp_internal(), parse_sane_timezone(), PG_GETARG_FLOAT8, PG_GETARG_INT32, PG_GETARG_TEXT_PP, PG_RETURN_TIMESTAMPTZ, and timestamp2tm().
|
static |
Definition at line 3967 of file timestamp.c.
References AggCheckCallContext(), elog, ERROR, MemoryContextSwitchTo(), and palloc0().
Referenced by interval_avg_accum(), and interval_avg_combine().
| Datum mul_d_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3728 of file timestamp.c.
References DirectFunctionCall2, interval_mul(), and PG_GETARG_DATUM.
|
static |
Definition at line 6034 of file timestamp.c.
References DTK_CENTURY, DTK_DAY, DTK_DECADE, DTK_EPOCH, DTK_HOUR, DTK_MICROSEC, DTK_MILLENNIUM, DTK_MILLISEC, DTK_MINUTE, DTK_MONTH, DTK_QUARTER, DTK_SECOND, DTK_WEEK, DTK_YEAR, ereport, errcode(), errmsg(), ERROR, format_type_be(), get_float8_infinity(), RESERV, type, and UNITS.
Referenced by interval_part_common().
|
static |
Definition at line 5424 of file timestamp.c.
References DTK_CENTURY, DTK_DAY, DTK_DECADE, DTK_DOW, DTK_DOY, DTK_EPOCH, DTK_HOUR, DTK_ISODOW, DTK_ISOYEAR, DTK_JULIAN, DTK_MICROSEC, DTK_MILLENNIUM, DTK_MILLISEC, DTK_MINUTE, DTK_MONTH, DTK_QUARTER, DTK_SECOND, DTK_TZ, DTK_TZ_HOUR, DTK_TZ_MINUTE, DTK_WEEK, DTK_YEAR, ereport, errcode(), errmsg(), ERROR, format_type_be(), get_float8_infinity(), RESERV, type, and UNITS.
Referenced by timestamp_part_common(), and timestamptz_part_common().
| Datum now | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1609 of file timestamp.c.
References GetCurrentTransactionStartTimestamp(), and PG_RETURN_TIMESTAMPTZ.
Referenced by advanceConnectionState(), ApplyLauncherMain(), BackgroundWriterMain(), bbsink_copystream_archive_contents(), CalculateCopyStreamSleeptime(), CheckArchiveTimeout(), CheckpointerMain(), DetermineSlotInvalidationCause(), doLog(), doRetry(), dumpTimestamp(), enable_timeout(), enable_timeout_after(), enable_timeout_at(), enable_timeout_every(), enable_timeouts(), executeMetaCommand(), flushAndSendFeedback(), get_candidate_xid(), handle_sig_alarm(), HandleCopyStream(), has_startup_progress_timeout_expired(), initialize_prng(), InvalidatePossiblyObsoleteSlot(), IsCheckpointOnSchedule(), LagTrackerRead(), launch_sync_worker(), launch_worker(), libpqsrv_cancel(), LockBufferForCleanup(), logicalrep_worker_launch(), LogicalRepApplyLoop(), LogRecoveryConflict(), maybe_start_bgworkers(), mxid_age(), OutputFsync(), PerformRadiusTransaction(), pg_clock_gettime_ns(), pg_time_now(), pg_time_now_lazy(), pg_timezone_abbrevs_abbrevs(), pg_timezone_abbrevs_zone(), pgfdw_cancel_query(), pgfdw_finish_abort_cleanup(), pgfdw_get_cleanup_result(), pgstat_report_archiver(), pgstat_report_stat(), PQsocketPoll(), pqTraceFormatTimestamp(), printProgressReport(), printVerboseErrorMessages(), ProcessKeepaliveMsg(), ProcessStandbyReplyMessage(), processXactStats(), ProcSleep(), progress_report(), ReplicationSlotRelease(), RequestXLogStreaming(), ResolveRecoveryConflictWithLock(), ResolveRecoveryConflictWithVirtualXIDs(), RestoreSlotFromDisk(), schedule_alarm(), send_feedback(), sendFeedback(), ServerLoop(), set_next_rotation_time(), should_stop_conflict_info_retention(), StreamLogicalLog(), SysLoggerMain(), threadRun(), timetz_zone(), update_synced_slots_inactive_since(), wait_for_local_flush(), WaitForWALToBecomeAvailable(), WalRcvComputeNextWakeup(), WalRcvRunning(), WalRcvStreaming(), WalReceiverMain(), WalSndComputeSleeptime(), WalSndLoop(), WalSndUpdateProgress(), WalSndWaitForWal(), WalSndWriteData(), xid_age(), XLogBackgroundFlush(), XLogWalRcvSendHSFeedback(), and XLogWalRcvSendReply().
| Datum overlaps_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2672 of file timestamp.c.
References PG_ARGISNULL, PG_GETARG_DATUM, PG_RETURN_BOOL, PG_RETURN_NULL, TIMESTAMP_GT, and TIMESTAMP_LT.
Definition at line 491 of file timestamp.c.
References DecodeTimezone(), DecodeTimezoneName(), DetermineTimeZoneAbbrevOffset(), DetermineTimeZoneOffset(), DTERR_BAD_FORMAT, DTERR_TZDISP_OVERFLOW, ereport, errcode(), errhint(), errmsg(), ERROR, text_to_cstring_buffer(), tm, type, TZ_STRLEN_MAX, TZNAME_DYNTZ, TZNAME_FIXED_OFFSET, and val.
Referenced by make_timestamptz_at_timezone().
| Datum pg_conf_load_time | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1633 of file timestamp.c.
References PG_RETURN_TIMESTAMPTZ, and PgReloadTime.
| Datum pg_postmaster_start_time | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1627 of file timestamp.c.
References PG_RETURN_TIMESTAMPTZ, and PgStartTime.
| Timestamp SetEpochTimestamp | ( | void | ) |
Definition at line 2190 of file timestamp.c.
References GetEpochTime(), tm, and tm2timestamp().
Referenced by dttofmtasc_replace(), PGTYPEStimestamp_from_asc(), timestamp_in(), timestamp_part_common(), timestamptz_in(), and timestamptz_part_common().
| Datum statement_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1615 of file timestamp.c.
References GetCurrentStatementStartTimestamp(), and PG_RETURN_TIMESTAMPTZ.
|
static |
Definition at line 2128 of file timestamp.c.
References MINS_PER_HOUR, SECS_PER_MINUTE, and USECS_PER_SEC.
Referenced by tm2timestamp().
| TimestampTz time_t_to_timestamptz | ( | pg_time_t | tm | ) |
Definition at line 1820 of file timestamp.c.
References POSTGRES_EPOCH_JDATE, SECS_PER_DAY, tm, UNIX_EPOCH_JDATE, and USECS_PER_SEC.
Referenced by pg_control_checkpoint(), pg_control_system(), pg_ls_dir_files(), and pg_stat_file().
| Datum timeofday | ( | PG_FUNCTION_ARGS | ) |
Definition at line 1691 of file timestamp.c.
References buf, cstring_to_text(), gettimeofday(), pg_localtime(), PG_RETURN_TEXT_P, pg_strftime(), session_timezone, and snprintf.
|
static |
Definition at line 6484 of file timestamp.c.
References timestamp2timestamptz_safe().
Referenced by make_timestamptz(), and timestamp_timestamptz().
| TimestampTz timestamp2timestamptz_safe | ( | Timestamp | timestamp, |
| Node * | escontext | ||
| ) |
Definition at line 6448 of file timestamp.c.
References DetermineTimeZoneOffset(), dt2local(), ereturn, errcode(), errmsg(), IS_VALID_TIMESTAMP, session_timezone, timestamp2tm(), TIMESTAMP_NOBEGIN, TIMESTAMP_NOEND, TIMESTAMP_NOT_FINITE, and tm.
Referenced by cvt_timestamp_timestamptz(), timestamp2timestamptz(), and timestamp_cmp_timestamptz_internal().
| int timestamp2tm | ( | Timestamp | dt, |
| int * | tzp, | ||
| struct pg_tm * | tm, | ||
| fsec_t * | fsec, | ||
| const char ** | tzn, | ||
| pg_tz * | attimezone | ||
| ) |
Definition at line 1910 of file timestamp.c.
References dt2time(), INT64CONST, j2date(), pg_localtime(), POSTGRES_EPOCH_JDATE, SECS_PER_DAY, session_timezone, tm, pg_tm::tm_gmtoff, pg_tm::tm_hour, pg_tm::tm_isdst, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, pg_tm::tm_zone, TMODULO, UNIX_EPOCH_JDATE, USECS_PER_DAY, and USECS_PER_SEC.
Referenced by DetermineTimeZoneAbbrevOffsetTS(), executeDateTimeMethod(), GetCurrentTimeUsec(), JsonEncodeDateTime(), make_timestamptz_at_timezone(), map_sql_value_to_xml_value(), PGTYPEStimestamp_add_interval(), PGTYPEStimestamp_fmt_asc(), PGTYPEStimestamp_to_asc(), timestamp2date_safe(), timestamp2timestamptz_safe(), timestamp_age(), timestamp_out(), timestamp_part_common(), timestamp_pl_interval(), timestamp_recv(), timestamp_time(), timestamp_to_char(), timestamp_trunc(), timestamp_zone(), timestamptz2date_safe(), timestamptz2timestamp_safe(), timestamptz_age(), timestamptz_out(), timestamptz_part_common(), timestamptz_pl_interval_internal(), timestamptz_recv(), timestamptz_time(), timestamptz_timetz(), timestamptz_to_char(), timestamptz_to_str(), timestamptz_trunc_internal(), timestamptz_zone(), and timetz_zone().
| Datum timestamp_age | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4288 of file timestamp.c.
References day_tab, ereport, errcode(), errmsg(), ERROR, HOURS_PER_DAY, INTERVAL_NOBEGIN, INTERVAL_NOEND, isleap, itm2interval(), MINS_PER_HOUR, MONTHS_PER_YEAR, palloc(), PG_GETARG_TIMESTAMP, PG_RETURN_INTERVAL_P, SECS_PER_MINUTE, timestamp2tm(), TIMESTAMP_IS_NOBEGIN, TIMESTAMP_IS_NOEND, tm, pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, and USECS_PER_SEC.
| Datum timestamp_at_local | ( | PG_FUNCTION_ARGS | ) |
| Datum timestamp_bin | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4588 of file timestamp.c.
References Interval::day, ereport, errcode(), errmsg(), ERROR, INTERVAL_NOT_FINITE, IS_VALID_TIMESTAMP, Interval::month, pg_add_s64_overflow(), PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMP, pg_mul_s64_overflow(), PG_RETURN_TIMESTAMP, pg_sub_s64_overflow(), Interval::time, TIMESTAMP_NOT_FINITE, unlikely, and USECS_PER_DAY.
| Datum timestamp_cmp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2270 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_INT32, and timestamp_cmp_internal().
Referenced by compareDatetime(), gbt_ts_ssup_cmp(), and gbt_tskey_cmp().
Definition at line 2210 of file timestamp.c.
Referenced by date_cmp_timestamp_internal(), generate_series_timestamp(), generate_series_timestamptz_internal(), timestamp_cmp(), timestamp_eq(), timestamp_ge(), timestamp_gt(), timestamp_larger(), timestamp_le(), timestamp_lt(), timestamp_ne(), and timestamp_smaller().
| Datum timestamp_cmp_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2441 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_INT32, and timestamp_cmp_timestamptz_internal().
| int32 timestamp_cmp_timestamptz_internal | ( | Timestamp | timestampVal, |
| TimestampTz | dt2 | ||
| ) |
Definition at line 2363 of file timestamp.c.
References ErrorSaveContext::error_occurred, timestamp2timestamptz_safe(), TIMESTAMP_IS_NOBEGIN, TIMESTAMP_IS_NOEND, and timestamptz_cmp_internal.
Referenced by cmpTimestampToTimestampTz(), timestamp_cmp_timestamptz(), timestamp_eq_timestamptz(), timestamp_ge_timestamptz(), timestamp_gt_timestamptz(), timestamp_le_timestamptz(), timestamp_lt_timestamptz(), timestamp_ne_timestamptz(), timestamptz_cmp_timestamp(), timestamptz_eq_timestamp(), timestamptz_ge_timestamp(), timestamptz_gt_timestamp(), timestamptz_le_timestamp(), timestamptz_lt_timestamp(), and timestamptz_ne_timestamp().
Definition at line 2289 of file timestamp.c.
References DatumGetTimestamp(), PG_INT64_MIN, and TimestampGetDatum().
Referenced by timestamp_skipsupport().
| Datum timestamp_eq | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2216 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_BOOL, and timestamp_cmp_internal().
Referenced by gbt_tseq().
| Datum timestamp_eq_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2387 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamp_finite | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2147 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_BOOL, and TIMESTAMP_NOT_FINITE.
| Datum timestamp_ge | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2261 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_BOOL, and timestamp_cmp_internal().
Referenced by gbt_tsge().
| Datum timestamp_ge_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2432 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamp_gt | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2243 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_BOOL, and timestamp_cmp_internal().
Referenced by gbt_tsgt().
| Datum timestamp_gt_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2414 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamp_hash | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2335 of file timestamp.c.
References hashint8().
| Datum timestamp_hash_extended | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2341 of file timestamp.c.
References hashint8extended().
| Datum timestamp_in | ( | PG_FUNCTION_ARGS | ) |
Definition at line 166 of file timestamp.c.
References AdjustTimestampForTypmod(), DateTimeParseError(), DecodeDateTime(), DTK_DATE, DTK_EARLY, DTK_EPOCH, DTK_LATE, elog, ereturn, errcode(), errmsg(), ERROR, MAXDATEFIELDS, MAXDATELEN, ParseDateTime(), PG_GETARG_CSTRING, PG_GETARG_INT32, PG_GETARG_OID, PG_RETURN_NULL, PG_RETURN_TIMESTAMP, SetEpochTimestamp(), str, TIMESTAMP_NOBEGIN, TIMESTAMP_NOEND, tm, and tm2timestamp().
Referenced by moddatetime().
Definition at line 2306 of file timestamp.c.
References DatumGetTimestamp(), PG_INT64_MAX, and TimestampGetDatum().
Referenced by timestamp_skipsupport().
| Datum timestamp_izone | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6373 of file timestamp.c.
References DatumGetCString(), DirectFunctionCall1, dt2local(), ereport, errcode(), errmsg(), ERROR, INTERVAL_NOT_FINITE, interval_out(), IS_VALID_TIMESTAMP, PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMP, PG_RETURN_TIMESTAMPTZ, PointerGetDatum(), TIMESTAMP_NOT_FINITE, and USECS_PER_SEC.
| Datum timestamp_larger | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2812 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_TIMESTAMP, and timestamp_cmp_internal().
| Datum timestamp_le | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2252 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_BOOL, and timestamp_cmp_internal().
Referenced by gbt_tsle().
| Datum timestamp_le_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2423 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamp_lt | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2234 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_BOOL, and timestamp_cmp_internal().
Referenced by gbt_tslt().
| Datum timestamp_lt_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2405 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamp_mi | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2827 of file timestamp.c.
References DatumGetIntervalP(), Interval::day, DirectFunctionCall1, ereport, errcode(), errmsg(), ERROR, interval_justify_hours(), INTERVAL_NOBEGIN, INTERVAL_NOEND, IntervalPGetDatum(), Interval::month, palloc(), PG_GETARG_TIMESTAMP, PG_RETURN_INTERVAL_P, pg_sub_s64_overflow(), Interval::time, TIMESTAMP_IS_NOBEGIN, TIMESTAMP_IS_NOEND, TIMESTAMP_NOT_FINITE, and unlikely.
Referenced by gbt_ts_dist(), generate_series_timestamp_support(), ts_dist(), and tstz_dist().
| Datum timestamp_mi_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3207 of file timestamp.c.
References DirectFunctionCall2, interval_um_internal(), PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMP, PointerGetDatum(), timestamp_pl_interval(), and TimestampGetDatum().
Referenced by date_mi_interval(), and in_range_timestamp_interval().
| Datum timestamp_ne | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2225 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_BOOL, and timestamp_cmp_internal().
| Datum timestamp_ne_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2396 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamp_out | ( | PG_FUNCTION_ARGS | ) |
Definition at line 234 of file timestamp.c.
References buf, DateStyle, EncodeDateTime(), EncodeSpecialTimestamp(), ereport, errcode(), errmsg(), ERROR, MAXDATELEN, PG_GETARG_TIMESTAMP, PG_RETURN_CSTRING, pstrdup(), timestamp2tm(), TIMESTAMP_NOT_FINITE, and tm.
Referenced by ExecGetJsonValueItemString().
| Datum timestamp_part | ( | PG_FUNCTION_ARGS | ) |
Definition at line 5739 of file timestamp.c.
References timestamp_part_common().
|
static |
Definition at line 5481 of file timestamp.c.
References CStringGetDatum(), date2isoweek(), date2isoyear(), date2j(), DatumGetNumeric(), DecodeSpecial(), DecodeUnits(), DirectFunctionCall2, DirectFunctionCall3, downcase_truncate_identifier(), DTK_CENTURY, DTK_DAY, DTK_DECADE, DTK_DOW, DTK_DOY, DTK_EPOCH, DTK_HOUR, DTK_ISODOW, DTK_ISOYEAR, DTK_JULIAN, DTK_MICROSEC, DTK_MILLENNIUM, DTK_MILLISEC, DTK_MINUTE, DTK_MONTH, DTK_QUARTER, DTK_SECOND, DTK_TZ, DTK_TZ_HOUR, DTK_TZ_MINUTE, DTK_WEEK, DTK_YEAR, epoch, ereport, errcode(), errmsg(), ERROR, format_type_be(), Int32GetDatum(), int64_div_fast_to_numeric(), int64_to_numeric(), INT64CONST, InvalidOid, j2day(), MINS_PER_HOUR, NonFiniteTimestampTzPart(), numeric_add_safe(), numeric_div_safe(), numeric_in(), numeric_round(), numeric_sub_safe(), NumericGetDatum(), ObjectIdGetDatum(), PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMP, PG_INT64_MAX, PG_RETURN_FLOAT8, PG_RETURN_NULL, PG_RETURN_NUMERIC, RESERV, SECS_PER_DAY, SECS_PER_MINUTE, SetEpochTimestamp(), timestamp2tm(), TIMESTAMP_IS_NOBEGIN, TIMESTAMP_NOT_FINITE, tm, pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, type, UNITS, UNKNOWN_FIELD, val, VARDATA_ANY(), and VARSIZE_ANY_EXHDR().
Referenced by extract_timestamp(), and timestamp_part().
| Datum timestamp_pl_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3090 of file timestamp.c.
References date2j(), Interval::day, day_tab, ereport, errcode(), errmsg(), ERROR, INTERVAL_IS_NOBEGIN, INTERVAL_IS_NOEND, IS_VALID_TIMESTAMP, isleap, j2date(), Interval::month, MONTHS_PER_YEAR, pg_add_s32_overflow(), pg_add_s64_overflow(), PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMP, PG_RETURN_TIMESTAMP, Interval::time, timestamp2tm(), TIMESTAMP_IS_NOBEGIN, TIMESTAMP_IS_NOEND, TIMESTAMP_NOBEGIN, TIMESTAMP_NOEND, TIMESTAMP_NOT_FINITE, tm, tm2timestamp(), pg_tm::tm_mday, pg_tm::tm_mon, and pg_tm::tm_year.
Referenced by date_pl_interval(), generate_series_timestamp(), in_range_timestamp_interval(), and timestamp_mi_interval().
| Datum timestamp_recv | ( | PG_FUNCTION_ARGS | ) |
Definition at line 260 of file timestamp.c.
References AdjustTimestampForTypmod(), buf, ereport, errcode(), errmsg(), ERROR, IS_VALID_TIMESTAMP, PG_GETARG_INT32, PG_GETARG_OID, PG_GETARG_POINTER, PG_RETURN_TIMESTAMP, pq_getmsgint64(), timestamp2tm(), TIMESTAMP_NOT_FINITE, and tm.
| Datum timestamp_scale | ( | PG_FUNCTION_ARGS | ) |
Definition at line 347 of file timestamp.c.
References AdjustTimestampForTypmod(), PG_GETARG_INT32, PG_GETARG_TIMESTAMP, and PG_RETURN_TIMESTAMP.
| Datum timestamp_send | ( | PG_FUNCTION_ARGS | ) |
Definition at line 293 of file timestamp.c.
References buf, PG_GETARG_TIMESTAMP, PG_RETURN_BYTEA_P, pq_begintypsend(), pq_endtypsend(), and pq_sendint64().
| Datum timestamp_skipsupport | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2322 of file timestamp.c.
References SkipSupportData::decrement, SkipSupportData::high_elem, SkipSupportData::increment, SkipSupportData::low_elem, PG_GETARG_POINTER, PG_INT64_MAX, PG_INT64_MIN, PG_RETURN_VOID, timestamp_decrement(), timestamp_increment(), and TimestampGetDatum().
| Datum timestamp_smaller | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2797 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_TIMESTAMP, and timestamp_cmp_internal().
| Datum timestamp_sortsupport | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2279 of file timestamp.c.
References SortSupportData::comparator, PG_GETARG_POINTER, PG_RETURN_VOID, and ssup_datum_signed_cmp().
| Datum timestamp_support | ( | PG_FUNCTION_ARGS | ) |
Definition at line 327 of file timestamp.c.
References SupportRequestSimplify::fcall, IsA, MAX_TIMESTAMP_PRECISION, PG_GETARG_POINTER, PG_RETURN_POINTER, and TemporalSimplify().
| Datum timestamp_timestamptz | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6430 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_RETURN_TIMESTAMPTZ, and timestamp2timestamptz().
Referenced by executeDateTimeMethod(), and timestamp_at_local().
| Datum timestamp_trunc | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4659 of file timestamp.c.
References date2isoweek(), DecodeUnits(), downcase_truncate_identifier(), DTK_CENTURY, DTK_DAY, DTK_DECADE, DTK_HOUR, DTK_MICROSEC, DTK_MILLENNIUM, DTK_MILLISEC, DTK_MINUTE, DTK_MONTH, DTK_QUARTER, DTK_SECOND, DTK_WEEK, DTK_YEAR, ereport, errcode(), errmsg(), ERROR, format_type_be(), isoweek2date(), MONTHS_PER_YEAR, PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMP, PG_RETURN_TIMESTAMP, timestamp2tm(), TIMESTAMP_NOT_FINITE, tm, tm2timestamp(), pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, type, UNITS, val, VARDATA_ANY(), and VARSIZE_ANY_EXHDR().
| Datum timestamp_zone | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6308 of file timestamp.c.
References DecodeTimezoneName(), DetermineTimeZoneAbbrevOffset(), DetermineTimeZoneOffset(), dt2local(), ereport, errcode(), errmsg(), ERROR, IS_VALID_TIMESTAMP, PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMP, PG_RETURN_TIMESTAMPTZ, text_to_cstring_buffer(), timestamp2tm(), TIMESTAMP_NOT_FINITE, tm, tm2timestamp(), type, TZ_STRLEN_MAX, TZNAME_DYNTZ, TZNAME_FIXED_OFFSET, and val.
| void TimestampDifference | ( | TimestampTz | start_time, |
| TimestampTz | stop_time, | ||
| long * | secs, | ||
| int * | microsecs | ||
| ) |
Definition at line 1721 of file timestamp.c.
References start_time, and USECS_PER_SEC.
Referenced by check_log_duration(), has_startup_progress_timeout_expired(), heap_vacuum_rel(), InvalidatePossiblyObsoleteSlot(), launcher_determine_sleep(), log_disconnections(), LogRecoveryConflict(), pgstat_report_activity(), pgstat_update_dbstats(), ProcSleep(), schedule_alarm(), and TimestampDifferenceExceedsSeconds().
| bool TimestampDifferenceExceeds | ( | TimestampTz | start_time, |
| TimestampTz | stop_time, | ||
| int | msec | ||
| ) |
Definition at line 1781 of file timestamp.c.
References INT64CONST, and start_time.
Referenced by asyncQueueFillWarning(), AutoVacLauncherMain(), do_analyze_rel(), do_start_worker(), get_candidate_xid(), heap_vacuum_rel(), launch_sync_worker(), LockBufferForCleanup(), logicalrep_worker_launch(), maybe_start_bgworkers(), pa_send_data(), pgstat_report_stat(), ProcSleep(), ResolveRecoveryConflictWithVirtualXIDs(), send_feedback(), should_stop_conflict_info_retention(), update_most_recent_deletion_info(), wait_for_local_flush(), WaitForWALToBecomeAvailable(), WalSndLoop(), WalSndUpdateProgress(), WalSndWaitForWal(), and XLogBackgroundFlush().
| bool TimestampDifferenceExceedsSeconds | ( | TimestampTz | start_time, |
| TimestampTz | stop_time, | ||
| int | threshold_sec | ||
| ) |
Definition at line 1795 of file timestamp.c.
References start_time, and TimestampDifference().
Referenced by DetermineSlotInvalidationCause().
| long TimestampDifferenceMilliseconds | ( | TimestampTz | start_time, |
| TimestampTz | stop_time | ||
| ) |
Definition at line 1757 of file timestamp.c.
References INT64CONST, pg_sub_s64_overflow(), and start_time.
Referenced by ApplyLauncherMain(), autoprewarm_main(), bbsink_copystream_archive_contents(), DetermineSleepTime(), do_analyze_rel(), GetReplicationApplyDelay(), GetReplicationTransferLatency(), libpqsrv_cancel(), LogCheckpointEnd(), pgfdw_get_cleanup_result(), pgstat_report_analyze(), pgstat_report_vacuum(), recoveryApplyDelay(), wait_for_local_flush(), WaitForLSN(), WaitForWalSummarization(), WaitForWALToBecomeAvailable(), WalReceiverMain(), and WalSndComputeSleeptime().
| bool TimestampTimestampTzRequiresRewrite | ( | void | ) |
Definition at line 6417 of file timestamp.c.
References pg_get_timezone_offset(), and session_timezone.
Referenced by ATColumnChangeRequiresRewrite().
| Datum timestamptypmodin | ( | PG_FUNCTION_ARGS | ) |
Definition at line 304 of file timestamp.c.
References anytimestamp_typmodin(), PG_GETARG_ARRAYTYPE_P, and PG_RETURN_INT32.
| Datum timestamptypmodout | ( | PG_FUNCTION_ARGS | ) |
Definition at line 312 of file timestamp.c.
References anytimestamp_typmodout(), PG_GETARG_INT32, and PG_RETURN_CSTRING.
|
static |
Definition at line 6504 of file timestamp.c.
References timestamptz2timestamp_safe().
Referenced by GetSQLLocalTimestamp(), and timestamptz_timestamp().
| Timestamp timestamptz2timestamp_safe | ( | TimestampTz | timestamp, |
| Node * | escontext | ||
| ) |
Definition at line 6520 of file timestamp.c.
References ereturn, errcode(), errmsg(), timestamp2tm(), TIMESTAMP_NOBEGIN, TIMESTAMP_NOEND, TIMESTAMP_NOT_FINITE, tm, and tm2timestamp().
Referenced by cvt_timestamptz_timestamp(), and timestamptz2timestamp().
| Datum timestamptz_age | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4434 of file timestamp.c.
References day_tab, ereport, errcode(), errmsg(), ERROR, HOURS_PER_DAY, INTERVAL_NOBEGIN, INTERVAL_NOEND, isleap, itm2interval(), MINS_PER_HOUR, MONTHS_PER_YEAR, palloc(), PG_GETARG_TIMESTAMPTZ, PG_RETURN_INTERVAL_P, SECS_PER_MINUTE, timestamp2tm(), TIMESTAMP_IS_NOBEGIN, TIMESTAMP_IS_NOEND, tm, pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, and USECS_PER_SEC.
| Datum timestamptz_at_local | ( | PG_FUNCTION_ARGS | ) |
| Datum timestamptz_bin | ( | PG_FUNCTION_ARGS | ) |
Definition at line 4823 of file timestamp.c.
References Interval::day, ereport, errcode(), errmsg(), ERROR, INTERVAL_NOT_FINITE, IS_VALID_TIMESTAMP, Interval::month, pg_add_s64_overflow(), PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMPTZ, pg_mul_s64_overflow(), PG_RETURN_TIMESTAMPTZ, pg_sub_s64_overflow(), Interval::time, TIMESTAMP_NOT_FINITE, unlikely, and USECS_PER_DAY.
| Datum timestamptz_cmp_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2504 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_INT32, and timestamp_cmp_timestamptz_internal().
| Datum timestamptz_eq_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2450 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamptz_ge_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2495 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamptz_gt_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2477 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamptz_hash | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2347 of file timestamp.c.
References hashint8().
| Datum timestamptz_hash_extended | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2353 of file timestamp.c.
References hashint8extended().
| Datum timestamptz_in | ( | PG_FUNCTION_ARGS | ) |
Definition at line 418 of file timestamp.c.
References AdjustTimestampForTypmod(), DateTimeParseError(), DecodeDateTime(), DTK_DATE, DTK_EARLY, DTK_EPOCH, DTK_LATE, elog, ereturn, errcode(), errmsg(), ERROR, MAXDATEFIELDS, MAXDATELEN, ParseDateTime(), PG_GETARG_CSTRING, PG_GETARG_INT32, PG_GETARG_OID, PG_RETURN_NULL, PG_RETURN_TIMESTAMPTZ, SetEpochTimestamp(), str, TIMESTAMP_NOBEGIN, TIMESTAMP_NOEND, tm, and tm2timestamp().
Referenced by AlterRole(), CreateRole(), moddatetime(), and validateRecoveryParameters().
| Datum timestamptz_izone | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6627 of file timestamp.c.
References DatumGetCString(), DirectFunctionCall1, dt2local(), ereport, errcode(), errmsg(), ERROR, INTERVAL_NOT_FINITE, interval_out(), IS_VALID_TIMESTAMP, PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMPTZ, PG_RETURN_TIMESTAMP, PointerGetDatum(), TIMESTAMP_NOT_FINITE, and USECS_PER_SEC.
| Datum timestamptz_le_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2486 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamptz_lt_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2468 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamptz_mi_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3389 of file timestamp.c.
References PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMPTZ, PG_RETURN_TIMESTAMP, and timestamptz_mi_interval_internal().
| Datum timestamptz_mi_interval_at_zone | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3412 of file timestamp.c.
References lookup_timezone(), PG_GETARG_INTERVAL_P, PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_TIMESTAMP, and timestamptz_mi_interval_internal().
|
static |
Definition at line 3365 of file timestamp.c.
References interval_um_internal(), and timestamptz_pl_interval_internal().
Referenced by in_range_timestamptz_interval(), timestamptz_mi_interval(), and timestamptz_mi_interval_at_zone().
| Datum timestamptz_ne_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 2459 of file timestamp.c.
References PG_GETARG_TIMESTAMP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BOOL, and timestamp_cmp_timestamptz_internal().
| Datum timestamptz_out | ( | PG_FUNCTION_ARGS | ) |
Definition at line 776 of file timestamp.c.
References buf, DateStyle, EncodeDateTime(), EncodeSpecialTimestamp(), ereport, errcode(), errmsg(), ERROR, MAXDATELEN, PG_GETARG_TIMESTAMPTZ, PG_RETURN_CSTRING, pstrdup(), timestamp2tm(), TIMESTAMP_NOT_FINITE, and tm.
Referenced by ExecGetJsonValueItemString().
| Datum timestamptz_part | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6011 of file timestamp.c.
References timestamptz_part_common().
|
static |
Definition at line 5754 of file timestamp.c.
References CStringGetDatum(), date2isoweek(), date2isoyear(), date2j(), DatumGetNumeric(), DecodeSpecial(), DecodeUnits(), DirectFunctionCall2, DirectFunctionCall3, downcase_truncate_identifier(), DTK_CENTURY, DTK_DAY, DTK_DECADE, DTK_DOW, DTK_DOY, DTK_EPOCH, DTK_HOUR, DTK_ISODOW, DTK_ISOYEAR, DTK_JULIAN, DTK_MICROSEC, DTK_MILLENNIUM, DTK_MILLISEC, DTK_MINUTE, DTK_MONTH, DTK_QUARTER, DTK_SECOND, DTK_TZ, DTK_TZ_HOUR, DTK_TZ_MINUTE, DTK_WEEK, DTK_YEAR, epoch, ereport, errcode(), errmsg(), ERROR, format_type_be(), Int32GetDatum(), int64_div_fast_to_numeric(), int64_to_numeric(), INT64CONST, InvalidOid, j2day(), MINS_PER_HOUR, NonFiniteTimestampTzPart(), numeric_add_safe(), numeric_div_safe(), numeric_in(), numeric_round(), numeric_sub_safe(), NumericGetDatum(), ObjectIdGetDatum(), PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMPTZ, PG_INT64_MAX, PG_RETURN_FLOAT8, PG_RETURN_NULL, PG_RETURN_NUMERIC, RESERV, SECS_PER_DAY, SECS_PER_HOUR, SECS_PER_MINUTE, SetEpochTimestamp(), timestamp2tm(), TIMESTAMP_IS_NOBEGIN, TIMESTAMP_NOT_FINITE, tm, pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, type, UNITS, UNKNOWN_FIELD, val, VARDATA_ANY(), and VARSIZE_ANY_EXHDR().
Referenced by extract_timestamptz(), and timestamptz_part().
| Datum timestamptz_pl_interval | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3380 of file timestamp.c.
References PG_GETARG_INTERVAL_P, PG_GETARG_TIMESTAMPTZ, PG_RETURN_TIMESTAMP, and timestamptz_pl_interval_internal().
Referenced by uuidv7_interval().
| Datum timestamptz_pl_interval_at_zone | ( | PG_FUNCTION_ARGS | ) |
Definition at line 3401 of file timestamp.c.
References lookup_timezone(), PG_GETARG_INTERVAL_P, PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_TIMESTAMP, and timestamptz_pl_interval_internal().
|
static |
Definition at line 3233 of file timestamp.c.
References date2j(), Interval::day, day_tab, DetermineTimeZoneOffset(), ereport, errcode(), errmsg(), ERROR, INTERVAL_IS_NOBEGIN, INTERVAL_IS_NOEND, IS_VALID_TIMESTAMP, isleap, j2date(), Interval::month, MONTHS_PER_YEAR, pg_add_s32_overflow(), pg_add_s64_overflow(), session_timezone, Interval::time, timestamp2tm(), TIMESTAMP_IS_NOBEGIN, TIMESTAMP_IS_NOEND, TIMESTAMP_NOBEGIN, TIMESTAMP_NOEND, TIMESTAMP_NOT_FINITE, tm, tm2timestamp(), pg_tm::tm_mday, pg_tm::tm_mon, and pg_tm::tm_year.
Referenced by generate_series_timestamptz_internal(), in_range_timestamptz_interval(), timestamptz_mi_interval_internal(), timestamptz_pl_interval(), and timestamptz_pl_interval_at_zone().
| Datum timestamptz_recv | ( | PG_FUNCTION_ARGS | ) |
Definition at line 804 of file timestamp.c.
References AdjustTimestampForTypmod(), buf, ereport, errcode(), errmsg(), ERROR, IS_VALID_TIMESTAMP, PG_GETARG_INT32, PG_GETARG_OID, PG_GETARG_POINTER, PG_RETURN_TIMESTAMPTZ, pq_getmsgint64(), timestamp2tm(), TIMESTAMP_NOT_FINITE, and tm.
| Datum timestamptz_scale | ( | PG_FUNCTION_ARGS | ) |
Definition at line 870 of file timestamp.c.
References AdjustTimestampForTypmod(), PG_GETARG_INT32, PG_GETARG_TIMESTAMPTZ, and PG_RETURN_TIMESTAMPTZ.
| Datum timestamptz_send | ( | PG_FUNCTION_ARGS | ) |
Definition at line 838 of file timestamp.c.
References buf, PG_GETARG_TIMESTAMPTZ, PG_RETURN_BYTEA_P, pq_begintypsend(), pq_endtypsend(), and pq_sendint64().
| Datum timestamptz_timestamp | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6493 of file timestamp.c.
References PG_GETARG_TIMESTAMPTZ, PG_RETURN_TIMESTAMP, and timestamptz2timestamp().
Referenced by executeDateTimeMethod(), and timestamptz_at_local().
| const char * timestamptz_to_str | ( | TimestampTz | t | ) |
Definition at line 1862 of file timestamp.c.
References buf, EncodeDateTime(), EncodeSpecialTimestamp(), MAXDATELEN, strlcpy(), timestamp2tm(), TIMESTAMP_NOT_FINITE, tm, and USE_ISO_DATES.
Referenced by CreateRestartPoint(), errdetail_apply_conflict(), getRecoveryStopReason(), InitWalRecovery(), PerformWalRecovery(), pg_decode_commit_prepared_txn(), pg_decode_commit_txn(), pg_decode_prepare_txn(), pg_decode_rollback_prepared_txn(), pg_decode_stream_commit(), pg_decode_stream_prepare(), ProcessStandbyHSFeedbackMessage(), ProcessStandbyReplyMessage(), ProcessWalSndrMessage(), recoveryStopsAfter(), recoveryStopsBefore(), xact_desc_abort(), xact_desc_commit(), xact_desc_prepare(), xlog_desc(), and xlogrecovery_redo().
| pg_time_t timestamptz_to_time_t | ( | TimestampTz | t | ) |
Definition at line 1842 of file timestamp.c.
References POSTGRES_EPOCH_JDATE, SECS_PER_DAY, UNIX_EPOCH_JDATE, and USECS_PER_SEC.
Referenced by DetermineTimeZoneAbbrevOffsetTS(), InitProcessGlobals(), and pg_timezone_abbrevs_zone().
| Datum timestamptz_trunc | ( | PG_FUNCTION_ARGS | ) |
Definition at line 5075 of file timestamp.c.
References PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_TIMESTAMPTZ, session_timezone, and timestamptz_trunc_internal().
|
static |
Definition at line 4897 of file timestamp.c.
References date2isoweek(), DecodeUnits(), DetermineTimeZoneOffset(), downcase_truncate_identifier(), DTK_CENTURY, DTK_DAY, DTK_DECADE, DTK_HOUR, DTK_MICROSEC, DTK_MILLENNIUM, DTK_MILLISEC, DTK_MINUTE, DTK_MONTH, DTK_QUARTER, DTK_SECOND, DTK_WEEK, DTK_YEAR, ereport, errcode(), errmsg(), ERROR, format_type_be(), isoweek2date(), MONTHS_PER_YEAR, timestamp2tm(), TIMESTAMP_NOT_FINITE, tm, tm2timestamp(), pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, type, UNITS, val, VARDATA_ANY(), and VARSIZE_ANY_EXHDR().
Referenced by timestamptz_trunc(), and timestamptz_trunc_zone().
| Datum timestamptz_trunc_zone | ( | PG_FUNCTION_ARGS | ) |
Definition at line 5090 of file timestamp.c.
References lookup_timezone(), PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_TIMESTAMPTZ, and timestamptz_trunc_internal().
| Datum timestamptz_zone | ( | PG_FUNCTION_ARGS | ) |
Definition at line 6563 of file timestamp.c.
References DecodeTimezoneName(), DetermineTimeZoneAbbrevOffsetTS(), dt2local(), ereport, errcode(), errmsg(), ERROR, IS_VALID_TIMESTAMP, PG_GETARG_TEXT_PP, PG_GETARG_TIMESTAMPTZ, PG_RETURN_TIMESTAMP, text_to_cstring_buffer(), timestamp2tm(), TIMESTAMP_NOT_FINITE, tm, tm2timestamp(), type, TZ_STRLEN_MAX, TZNAME_DYNTZ, TZNAME_FIXED_OFFSET, and val.
| Datum timestamptztypmodin | ( | PG_FUNCTION_ARGS | ) |
Definition at line 849 of file timestamp.c.
References anytimestamp_typmodin(), PG_GETARG_ARRAYTYPE_P, and PG_RETURN_INT32.
| Datum timestamptztypmodout | ( | PG_FUNCTION_ARGS | ) |
Definition at line 857 of file timestamp.c.
References anytimestamp_typmodout(), PG_GETARG_INT32, and PG_RETURN_CSTRING.
Definition at line 2006 of file timestamp.c.
References date2j(), dt2local(), IS_VALID_JULIAN, IS_VALID_TIMESTAMP, pg_add_s64_overflow(), pg_mul_s64_overflow(), POSTGRES_EPOCH_JDATE, time2t(), tm, pg_tm::tm_hour, pg_tm::tm_mday, pg_tm::tm_min, pg_tm::tm_mon, pg_tm::tm_sec, pg_tm::tm_year, unlikely, and USECS_PER_DAY.
Referenced by check_recovery_target_time(), parse_datetime(), PGTYPEStimestamp_add_interval(), PGTYPEStimestamp_current(), PGTYPEStimestamp_defmt_scan(), PGTYPEStimestamp_from_asc(), SetEpochTimestamp(), timestamp_in(), timestamp_pl_interval(), timestamp_trunc(), timestamp_zone(), timestamptz2timestamp_safe(), timestamptz_in(), timestamptz_pl_interval_internal(), timestamptz_trunc_internal(), timestamptz_zone(), and to_timestamp().
| TimestampTz PgReloadTime |
Definition at line 57 of file timestamp.c.
Referenced by pg_conf_load_time(), and ProcessConfigFileInternal().
| TimestampTz PgStartTime |
Definition at line 54 of file timestamp.c.
Referenced by pg_postmaster_start_time(), PostgresSingleUserMain(), and PostmasterMain().