From: SourceForge.net <no...@so...> - 2007-04-30 14:48:52
|
Bugs item #1669810, was opened at 2007-02-27 20:32 Message generated for change (Comment added) made by andrewmcnamara You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116528&aid=1669810&group_id=16528 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: PgSQL Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: petit_vic (petit_vic) Assigned to: Nobody/Anonymous (nobody) Summary: large OID not supported? Initial Comment: I am working on system tables and at some point I need to get the "oid" value from pg_class table. I noticed that when I try to get this field for records with too high value, I don't get the value but 2147483647 = 2 ** 31 - 1. For example if I try to get the max(oid) from pg_class which is 4169345710, I get 2147483647. Can somebody help on this? Thank you very much, petit_vic ---------------------------------------------------------------------- Comment By: Andrew McNamara (andrewmcnamara) Date: 2007-05-01 00:48 Message: Logged In: YES user_id=698599 Originator: NO Some random thoughts from a passer-by: if I had to guess, I would say this is a bug in the handling of the PG_OID type in pgresult.c - strtol(3) returns LONG_MIN on under or overflow. The logic in libPQgetvalue for the PG_OID case is too subtle to for me to immediately see what the problem is - I'm not sure what the oidCache is being used for. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116528&aid=1669810&group_id=16528 |