Обсуждение: Dumb question about binary cursors and #ifdef HAVE_INT64_TIMESTAMP
If I create a binary cursor on a recent version of PostgreSQL, how can I tell if the timestamp data internally is an 8 byte double or an 8 byte integer?
I see an #ifdef that changes the code path to compute timestamps as one type or the other, but I do not know how to recognize the internal format of the type that will be returned in a binary cursor.
How can I do that?
Re: [GENERAL] Dumb question about binary cursors and #ifdef HAVE_INT64_TIMESTAMP
От
Alvaro Herrera
Дата:
Dann Corbit wrote: > If I create a binary cursor on a recent version of PostgreSQL, how can I > tell if the timestamp data internally is an 8 byte double or an 8 byte > integer? > > I see an #ifdef that changes the code path to compute timestamps as one > type or the other, but I do not know how to recognize the internal > format of the type that will be returned in a binary cursor. > > How can I do that? SHOW integer_timestamp; (actually, IIRC, this is one of the params that the server will send you at session start). -- Alvaro Herrera http://www.flickr.com/photos/alvherre/ "Y eso te lo doy firmado con mis lágrimas" (Fiebre del Loco)
"Dann Corbit" <DCorbit@connx.com> writes: > If I create a binary cursor on a recent version of PostgreSQL, how can I > tell if the timestamp data internally is an 8 byte double or an 8 byte > integer? PQparameterStatus(conn, "integer_datetimes") regards, tom lane
Re: [GENERAL] Dumb question about binary cursors and #ifdefHAVE_INT64_TIMESTAMP
От
"Dann Corbit"
Дата:
> -----Original Message----- > From: Alvaro Herrera [mailto:alvherre@alvh.no-ip.org] > Sent: Tuesday, December 11, 2007 1:11 PM > To: Dann Corbit > Cc: pgsql-hackers@postgresql.org; pgsql-general@postgresql.org > Subject: Re: [GENERAL] Dumb question about binary cursors and > #ifdefHAVE_INT64_TIMESTAMP > > Dann Corbit wrote: > > If I create a binary cursor on a recent version of PostgreSQL, how can I > > tell if the timestamp data internally is an 8 byte double or an 8 byte > > integer? > > > > I see an #ifdef that changes the code path to compute timestamps as one > > type or the other, but I do not know how to recognize the internal > > format of the type that will be returned in a binary cursor. > > > > How can I do that? > > SHOW integer_timestamp; > > (actually, IIRC, this is one of the params that the server will send you > at session start). I guess that I am supposed to check for error on the statement? What does it look like when the query works? This is what I get against PostgreSQL 8.2.5 using PG Admin III query tool: ERROR: unrecognized configuration parameter "integer_timestamp"
Re: [GENERAL] Dumb question about binary cursors and #ifdefHAVE_INT64_TIMESTAMP
От
"Dann Corbit"
Дата:
> -----Original Message----- > From: Alvaro Herrera [mailto:alvherre@alvh.no-ip.org] > Sent: Tuesday, December 11, 2007 1:11 PM > To: Dann Corbit > Cc: pgsql-hackers@postgresql.org; pgsql-general@postgresql.org > Subject: Re: [GENERAL] Dumb question about binary cursors and > #ifdefHAVE_INT64_TIMESTAMP > > Dann Corbit wrote: > > If I create a binary cursor on a recent version of PostgreSQL, how can I > > tell if the timestamp data internally is an 8 byte double or an 8 byte > > integer? > > > > I see an #ifdef that changes the code path to compute timestamps as one > > type or the other, but I do not know how to recognize the internal > > format of the type that will be returned in a binary cursor. > > > > How can I do that? > > SHOW integer_timestamp; > > (actually, IIRC, this is one of the params that the server will send you > at session start). Tom's post clued me in. It's: show integer_datetimes; Or (in my case): PQparameterStatus(conn, "integer_datetimes")