Subject: some problems

From: [email-masked] (Tom Vijlbrief)
Date: Tue, 23 Mar 93 01:03:23 -0800

Hi Postgres developers,

I have a number of problems with the new Postgres.

Some of these problems also occured with previous versions.

Problem 1 is very simple:

The vacuum script does not run because it uses an undefined
variable _POSTGRESBIN_

Problem number 2 is a very old one. It was introduced with version
3. After submitting a query with e.g. a syntax error with PQexec,
the variable char PQerrormsg[] does not contain the error but
an empty string.

The reference to this variable is not (no longer ?)
present in the Postgres Reference manual,
but I assume that is not intentional. I have mailed a context diff for this
libpq problem about two times (1 and 1 and a half years ago).

Problem 3 is a generated error message (nothing serious):

Query sent to backend is "define operator &>  (arg1 = POINT2, arg2 = POINT2, pro
cedure = Right2PntPnt,    commutator = &<, negator = !&>, restrict = intltsel, j
oin = intltjoinsel) "
NOTICE:Mar 22 16:14:03:buffer leak detected in BufferPoolCheckLeak()
DEFINE
Go
*
Query sent to backend is "define operator >>  (arg1 = POINT2, arg2 = POINT2, pro
cedure = Overrgt2PntPnt,    commutator = <<, negator = !>>, restrict = intltsel,
join = intltjoinsel)  "
NOTICE:Mar 22 16:14:03:buffer leak detected in BufferPoolCheckLeak()
DEFINE
Go

Problem 4 is very serious, the system exits after a number of
queries without producing a core, I can upload the dataset and schema
definitions to an FTP server if you like to take a look at it.
(The definition of names is very simple, just a text, a POINT2 and an Oid)
This problem has been present since version 4.

PostQuel (tdn2): begin
Result: CBEGIN
PostQuel (tdn2): retrieve portal qi_28895_0 (names.name,names.geo_pnt,names.oid)    
Result: CRETRIEVE
PostQuel (tdn2): fetch 500 in qi_28895_0
Error: Invalid argument to pg_alloc().

The last problem was introduced with the newest Postgres version:

The following definition results in a exit (no core!) of the Postgres process,
when executing a subsequent retrieve:

monitor -c "define view weg2 (weg.geo_pln,width=\"2\"::int4,weg.geo_bbox,the_oid
=weg.oid,weg.kode)" $DB

The problem is related to the "the_oid=weg.oid" part, removing it prevents
the crash. Like the previous problem, this is related to the number of queries
executed before !!! A query executed from a virgin monitor runs OK !

Result: CBEGIN
PostQuel (tdn2): retrieve portal qi_29853_0 (weg2.geo_pln,weg2.width,weg2.geo_bbox,weg2.the_oid,weg2.kode,weg2.oid,weg2.tmin,weg2.tmax)  where weg2.the_oid = "453264"::oid 
Result: CRETRIEVE
PostQuel (tdn2): fetch 1 in qi_29853_0
Error: Invalid argument to pg_alloc().

Definition:

monitor -c "create wegen (geo_pln= POLYLINE2, geo_bbox= box)" $DB

monitor -c "create weg (width= int4, kode= int4) inherits (wegen)" $DB
monitor -c "define index weg_oid_index on weg using btree (oid oid_ops)" $DB
monitor -c "append weg (geo_pln=tdn_lines.geo_pln, geo_bbox=From2Box(Box2Pln(tdn
_lines.geo_pln)), width=\"2\"::int4, kode=tdn_lines.kode) where ((tdn_lines.kode
%10) != 3) and (tdn_lines.kode > 12999 and tdn_lines.kode < 14000)" $DB

monitor -c "define view weg2 (weg.geo_pln,width=\"2\"::int4,weg.geo_bbox,the_oid
=weg.oid,weg.kode)" $DB

Hope you can fix the last two problems relating to the exiting backends....

Now a positive comment, everything else works just fine (and we use
Postgres a lot as you know !)

Thanks for listening !

Tom