Re: Reading timestamp values from Datums gives garbage values

2024-05-21 Thread Sushrut Shivaswamy
Thank you everyone for your responses. I was a bit thrown off by the timestamp value the first time I printed it by how small it was. The revelation that postgres TimestampTz uses an epoch (time zero) of 2000-01-01 helped clarify that value would indeed be smaller than regular UNIX epoch. In my c

Re: Reading timestamp values from Datums gives garbage values

2024-05-21 Thread Aleksander Alekseev
Hi, > When trying to read the query response from the Datum, I get garbage values. > I've tried various types and none of them read the correct value. > ``` > > Datum current_timestamp = SPI_getbinval(SPI_tuptable->vals[i], > SPI_tuptable->tupdesc, 5, &isnull); > > double current_time = DatumGetF

Re: Reading timestamp values from Datums gives garbage values

2024-05-20 Thread Tom Lane
Tomas Vondra writes: > On 5/20/24 16:37, Sushrut Shivaswamy wrote: >> When trying to read the query response from the Datum, I get garbage values. >> I've tried various types and none of them read the correct value. > TimestampTz is int64, so using DatumGetInt64 is probably the simplest > solutio

Re: Reading timestamp values from Datums gives garbage values

2024-05-20 Thread Chapman Flack
On 05/20/24 11:39, Tomas Vondra wrote: > On 5/20/24 16:37, Sushrut Shivaswamy wrote: >> I've tried various types and none of them read the correct value. >> ``` >> ... >> double current_time = DatumGetFloat8(current_timestamp); // prints 0 >> >> int64 time = DatumGetUint64(current_timestamp); // pr

Re: Reading timestamp values from Datums gives garbage values

2024-05-20 Thread Tomas Vondra
On 5/20/24 16:37, Sushrut Shivaswamy wrote: > Hey, > > I'm trying to read a timestamp column as EPOCH. > My query is as follows. > ``` > SELECT EXTRACT(EPOCH FROM timestamp_column) FROM table; > > column > -- > > 1716213097.86486 > ``` > When running in the console this query gives valid

Reading timestamp values from Datums gives garbage values

2024-05-20 Thread Sushrut Shivaswamy
Hey, I'm trying to read a timestamp column as EPOCH. My query is as follows. ``` SELECT EXTRACT(EPOCH FROM timestamp_column) FROM table; column -- 1716213097.86486 ``` When running in the console this query gives valid epoch output which appears to be of type double. When trying to read