Re: oid as long type
От | Kris Jurka |
---|---|
Тема | Re: oid as long type |
Дата | |
Msg-id | Pine.BSO.4.61.0602081158340.24353@leary.csoft.net обсуждение исходный текст |
Ответ на | oid as long type (Ryan Li <rleeuk@yahoo.com>) |
Ответы |
Re: oid as long type
Re: oid as long type |
Список | pgsql-jdbc |
On Wed, 8 Feb 2006, Ryan Li wrote: > What's the reason of using int rather than long for the large object > oid? I am experiencing a problem where the database server is generating > oids exceeding the size for a Java int, and got > "org.postgresql.util.PSQLException: Bad value for type int". Could this > be solve by making org.postgresql.largeobject.LargeObject.oid a long > type and make corresponding changes to the source tree? > The use of int is a historical artifact, but the problem is that we can't change the API without requiring clients to make code changes for some methods. We could add duplicate method signatures that take long for the oid types, but the problem is methods like LargeObject.getOID() and LargeObjectManager.create() return int and these cannot be changed to long without adjustments to the calling code. Additionally changes would be required to the fastpath infrastructure to send and receive longs which would be complicated by the fact that oids are really unsigned int4, not int8. So this is a known problem, but one we've generally avoided dealing with because few people actually bump into it. I suppose we could add the new method signatures and add new methods like getLongOID and only bail out when code called the old ones with values to be to be represented by an int. I'll put it on my todo list, but it's not real close to the top. Kris Jurka
В списке pgsql-jdbc по дате отправления: