agora inbox for pgsql-interfaces@postgresql.org  
help / color / mirror / Atom feed
From: thilo@riessner.de
To: pgsql-interfaces@postgresql.org
Subject: libpq binary data
Date: Wed, 01 Oct 2014 18:26:08 +0200
Message-ID: <3808965.tNLrlL6qTR@thilo.site> (raw)
List-Unsubscribe:  <mailto:majordomo@postgresql.org?body=unsub%20pgsql-interfaces>

Hello,
I try to get the epoch value of a date via the 
PQexecParams(conn, "SELECT extract(epoch from date + time) as epoch, content 
FROM daten .....);
In that database, the timestamp ist stored in the two fields date and time.
I want to get this data in binary form. The 
PQfsize(res, 1); 
tells me, that the size of the returned data is 8 byte (in contrast to the 
standard size of epoch, which is meant to be 4 byte)
I don't manage to get the epoch valule (seconds since 1970) from that returned 
value. After ntohll (which I wrote as a wrapper around ntohl for long int, see 
below) it is a very huge value (4743709917079142400) but it should be 
1412179252 as I get it from the psql interface, when I type in the same 
command.
What am I missing or doing wrong?
Thanks for any help in advance

Thilo

unsigned long int ntohll(long int x)
{
	if (ntohl(1) == 1)
		return x;
	else
		return (long int) (ntohl((int)((x << 32) >> 32))) << 32 | (long 
int)ntohl(((int)(x >> 32)));
}



-- 
Sent via pgsql-interfaces mailing list (pgsql-interfaces@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-interfaces



view thread (3+ messages)  latest in thread

Message-ID: <3808965.tNLrlL6qTR@thilo.site>
Permalink:  ../3808965.tNLrlL6qTR@thilo.site/
Also on:    postgresql.org/message-id/3808965.tNLrlL6qTR@thilo.site

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: thilo@riessner.de
  Subject: Re: libpq binary data
  In-Reply-To: <3808965.tNLrlL6qTR@thilo.site>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox