Обсуждение: PQntuples returns an int.

Поиск
Список
Период
Сортировка

PQntuples returns an int.

От
Guillaume Yziquel
Дата:
Hello.

I've been looking at the PQntuples function, in section 29.3.2.
'Retrieving query result information' of

    http://www.postgresql.org/docs/8.2/interactive/libpq-exec.html

The declaration is:

> int PQntuples(const PGresult *res);

I'm wondering: why the 'int'? why not a 'long int', or an 'unsigned
int', or whatever?

I'm asking this because I'm wondering whether you could have more tuples
in the result of a query than could be indexed by the 'int' type. May
this happen?

All the best,

--
      Guillaume Yziquel
http://yziquel.homelinux.org/

Re: PQntuples returns an int.

От
Steve Atkins
Дата:
On Mar 3, 2010, at 10:05 AM, Guillaume Yziquel wrote:

> Hello.
>
> I've been looking at the PQntuples function, in section 29.3.2. 'Retrieving query result information' of
>
>     http://www.postgresql.org/docs/8.2/interactive/libpq-exec.html
>
> The declaration is:
>
>> int PQntuples(const PGresult *res);
>
> I'm wondering: why the 'int'? why not a 'long int', or an 'unsigned int', or whatever?
>
> I'm asking this because I'm wondering whether you could have more tuples in the result of a query than could be
indexedby the 'int' type. May this happen? 

That's returning the number of tuples you've already retrieved and have in memory on the client.

I'm not sure what the overhead in storage is, but if you have more than two billion tuples in your result set you're
probablygoing to blow out of memory long before you get there (and should be using a cursor instead). 

Cheers,
  Steve


Re: PQntuples returns an int.

От
"Greg Sabino Mullane"
Дата:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160


> I'm asking this because I'm wondering whether you could have more tuples
> in the result of a query than could be indexed by the 'int' type. May
> this happen?

Yes, but it's a low concern as many other things would break before
you got to that point. See:

http://groups.google.com/group/pgsql.general/browse_thread/thread/462c454345221267/f61926526b539036
or:
http://5z8.info/super-nsfw_cyd


- --
Greg Sabino Mullane greg@turnstep.com
End Point Corporation http://www.endpoint.com/
PGP Key: 0x14964AC8 201003031555
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----

iEYEAREDAAYFAkuOz1cACgkQvJuQZxSWSsge+wCg0Wmo/YyEkymE7Y1FILtRoO3J
CDQAn36Gs8Si37YdeheaM6v2JiU+EPOz
=e+3U
-----END PGP SIGNATURE-----



Re: PQntuples returns an int.

От
Guillaume Yziquel
Дата:
Greg Sabino Mullane a écrit :
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: RIPEMD160
>
>
>> I'm asking this because I'm wondering whether you could have more tuples
>> in the result of a query than could be indexed by the 'int' type. May
>> this happen?
>
> Yes, but it's a low concern as many other things would break before
> you got to that point. See:
>
> http://groups.google.com/group/pgsql.general/browse_thread/thread/462c454345221267/f61926526b539036
> or:
> http://5z8.info/super-nsfw_cyd

Thank you.

Indeed, I perfectly do believe you when you state that many things would
break before.

It's much more a typing issue in a strongly typed language (OCaml).

Thanks again.

Guillaume Yziquel.
--
      Guillaume Yziquel
http://yziquel.homelinux.org/