libpqeasy cursor error after multiple calls

From: Justin Clift <jclift(at)iprimus(dot)com(dot)au>
To: pgsql-hackers(at)postgresql(dot)org
Subject: libpqeasy cursor error after multiple calls
Date: 2001-03-20 09:54:21
Message-ID: 3AB728CD.A2586C28@iprimus.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

Hi all,

I'm just wondering if this is an error on my part, or a bug. I have the
same trouble with PG 7.1beta6 and PG7.1 snapshot (March 8th) on Solaris
8 INTEL, Solaris 8 SPARC and Linux Mandrake 7.2.

When using the libpqeasy library in a C function, I have the following
section of code :

// Get the sequence number for the next directory entry (PostgreSQL
commands)
doquery("BEGIN WORK");
doquery("DECLARE c_getdirid BINARY CURSOR FOR SELECT
nextval('prescan_directories_idnum_seq'::text)");
doquery("FETCH ALL IN c_getdirid");
fetch(&enumdirstruc_p->presentdirid);
doquery("CLOSE c_getdirid");
doquery("COMMIT WORK");

This is called once per entry in a filesystem (this is a filesystem
scanning utility) but after about 1000 or so calls, it errors out and
won't work again. I have to actually DROP the database and re-create it
again before the code will work again at all. Just vacumming doesn't
help, nor does just shutting down the database and starting it again
(doing both and vacuum and restarting the database doesn't help either).

The error message is :

<list of files correctly inserted so far, then>
/archive/install/kde/kdeadmin-2.1/ksysctrl/.cvsignore
NOTICE: PerformPortalFetch: portal "c_getdirid" not found
NOTICE: PerformPortalClose: portal "c_getdirid" not found
Directory query failed, trying again...New directory idnum = -2147483648
(This is my error message from the program)
query error:
failed request: insert into prescan_files(filename, dirent, ownername,
owenerid, groupname, groupid, filesize, os, os_version, package_id)
values ('/archive/install/kde/kdeadmin-2.1/add-on/.cvsignore',
2147483648, 'jclift', 100, 'staff', 10, 21, 1, '8 INTEL', 16777216)
$

I can include the database schema and complete source code if needed,
but I'm just not sure where to start debugging... is it my app or is it
PostgreSQL?

Regards and best wishes,

Justin Clift

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message M, Eichhorn 2001-03-20 10:13:18 Re: Some regression tests are failed RH7.0
Previous Message Reinhard Max 2001-03-20 08:26:48 Re: Some regression tests are failed RH7.0

Browse pgsql-hackers by date

  From Date Subject
Next Message Oleg Bartunov 2001-03-20 11:06:45 Re: Re: FAQ: Current state of replication ?
Previous Message Pete Forman 2001-03-20 09:51:06 Re: elog with automatic file, line, and function