mirror of
https://github.com/postgres/postgres.git
synced 2025-10-16 17:07:43 +03:00
Fix constant when extracting timestamp from UUIDv7.
When extracting a timestamp from a UUIDv7, a conversion from milliseconds to microseconds was using the incorrect constant NS_PER_US instead of US_PER_MS. Although both constants have the same value, this fix improves code clarity by using the semantically correct constant. Backpatch to v18, where UUIDv7 was introduced. Author: Erik Nordström <erik@tigerdata.com> Reviewed-by: Andrey Borodin <x4mmm@yandex-team.ru> Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com> Discussion: https://postgr.es/m/CACAa4V+i07eaP6h4MHNydZeX47kkLPwAg0sqe67R=M5tLdxNuQ@mail.gmail.com Backpatch-through: 18
This commit is contained in:
@@ -748,7 +748,7 @@ uuid_extract_timestamp(PG_FUNCTION_ARGS)
|
||||
+ (((uint64) uuid->data[0]) << 40);
|
||||
|
||||
/* convert ms to us, then adjust */
|
||||
ts = (TimestampTz) (tms * NS_PER_US) -
|
||||
ts = (TimestampTz) (tms * US_PER_MS) -
|
||||
(POSTGRES_EPOCH_JDATE - UNIX_EPOCH_JDATE) * SECS_PER_DAY * USECS_PER_SEC;
|
||||
|
||||
PG_RETURN_TIMESTAMPTZ(ts);
|
||||
|
Reference in New Issue
Block a user