public inbox for [email protected]  
help / color / mirror / Atom feed
From: Sebastien FLAESCH <[email protected]>
To: [email protected]
Subject: Re: Type scale returned by PQfmod() 65531 for time/timestamp output parameter?
Date: Tue, 20 Feb 2018 10:30:32 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>

On 02/19/2018 05:06 PM, Tom Lane wrote:
> Sebastien FLAESCH <[email protected]> writes:
>> On 02/16/2018 04:15 PM, Tom Lane wrote:
>>> You could try running it through the typmodout function for the column's
>>> datatype.  I don't offhand know of any built-in types for which that would
>>> be a really plausible typmod, though.  Are you sure your client code isn't
>>> mistakenly narrowing it to int16 somewhere?
> 
>> As I wrote in my initial mail, I do the following:
> 
>> #define VARHDRSZ 4
>>       int pgfmod = PQfmod(st->pgResult, i);
>>       int pgprec = (pgfmod >> 16);
>>       int pgscal = ((pgfmod - VARHDRSZ) & 0xffff);
>>       int pgleng = (pgfmod - VARHDRSZ);
> 
> That might --- I don't recall offhand --- be the right decoding for
> the typmod of a column of type NUMERIC.  It's certainly not right
> for any other datatype.  Also, you don't seem to be accounting for
> the fact that negative typmod always means "no typmod specified".
> 
> 			regards, tom lane
> 

Thank you Tom.

 From our tests it seems to be ok to extract the time/timestamp scale...

This really needs clarification, I would appreciate that the community gives
more information about PQfmod()...

We implement a proprietary database interface lib based on libpq, which needs
to provide columnn type information (similar to ODBC's SQLDescriceCol[W]())

Type information is also used to properly do data type conversions (for ex to
fetch a time(n) into a varchar(50) variable in our language),

It is mission critical for us.

=> I will have a look at psqlODBC ...

Seb




view thread (11+ messages)  latest in thread

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: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Type scale returned by PQfmod() 65531 for time/timestamp output parameter?
  In-Reply-To: <[email protected]>

* 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