Re: BUG #4947: libpq PQntuples should return 64-bit number - Mailing list pgsql-bugs

From Magnus Hagander
Subject Re: BUG #4947: libpq PQntuples should return 64-bit number
Date
Msg-id 9837222c0907280153x7bde617erc9ebefba8460aea3@mail.gmail.com
Whole thread Raw
In response to BUG #4947: libpq PQntuples should return 64-bit number  ("Jim Michaels" <jmichae3@yahoo.com>)
List pgsql-bugs
On Tue, Jul 28, 2009 at 08:54, Jim Michaels<jmichae3@yahoo.com> wrote:
>
> The following bug has been logged online:
>
> Bug reference: =A0 =A0 =A04947
> Logged by: =A0 =A0 =A0 =A0 =A0Jim Michaels
> Email address: =A0 =A0 =A0jmichae3@yahoo.com
> PostgreSQL version: 8.4.0
> Operating system: =A0 Win XP Pro Sp3
> Description: =A0 =A0 =A0 =A0libpq PQntuples should return 64-bit number

Why?

Do you have an actual use-case where PQexec() would return more than 2
billion rows, and not have other much more complex issues? For
example, the fact that they all have to be materialized in memory?

Also, this would break compatibility with previous versions, so I
think it would have to be a new function name, like PQntuples64(). But
we'd have to see an actual use-case first...


> I agree that 64-bit numbers are compiler-specific. =A0this can be overcome
> with something like the following code:
>
> although now I understand that the microsoft 2008 compiler implements
> UINT128, UINT8, UINT64, UINT32, INT64 and the like, but the MINGW compiler
> and BCC++5.5 do not necessarily implement them.
>
> maybe with some #if defined(INT64) the following code could be made prope=
r.
> something common to all 32-bit microsoft compilers is the __int64 type.

You seem to be focused on the Windows platform there. There are a
whole lot more platforms needed. But we already have generic types for
64-bit available in our headers, in the form of int64 and uint64.


--=20
 Magnus Hagander
 Self: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

pgsql-bugs by date:

Previous
From: "fous"
Date:
Subject: BUG #4948: getting error while vacuuming the database
Next
From: Teodor Sigaev
Date:
Subject: Re: BUG #4933: ts_rewrite() causes segfault when query with more than one node becomes empty