Search Postgresql Archives

commit transaction failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I m having a problem while calling the procedure in prostgresql 8.2
from adoconnection, It gets executed for some time and after 5-10 call
it gives error startTransaction failed or CommitTransaction Failed.

CREATE OR REPLACE FUNCTION sp_getnewfiles(IN strserverid character
varying, IN nmaxcount integer, OUT stroutrecno character varying) AS
$BODY$
DECLARE

	cur RECORD;
	i integer;
BEGIN
	i:=0;


	LOCK TABLE inputtable IN ROW EXCLUSIVE MODE NOWAIT;
	FOR cur IN select recno from InputTable where FileState=0  order by
recno limit nMaxCount for update
	LOOP
	if i=0 then
		strOutRecNo:='recno=';
	else
		strOutRecNo:=strOutRecNo || ' or recno=';
	end if;

	strOutRecNo:=strOutRecNo||cur.recno;
	update inputtable set filestate=1,serverid=strServerID where
recno=cur.recno;
	i:=i+1;
	END LOOP;

	EXCEPTION
	WHEN no_data_found THEN
		--DO NOTHING
	WHEN OTHERS THEN
	--rollback;
	RAISE EXCEPTION 'some error';



END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE STRICT;





the calling code is


			CADOXSet rset(pCnn);
			ostringstream ost;
			ost<<"select * from
sp_getnewfiles('"<<GetServerID()<<"',"<<nMaxCount<<")";
			rset.Open(ost.str());
			ASSERT(rset.IsEOF()==false);
			strRecNo=rset.GetFieldValue(0);



the error I encountered after some number of calls is either -

Error message: Unspecified error
Engine Used: PgOleDb
Error type : StartTransaction failed

or

Error message: Unspecified error
Engine Used: PgOleDb
Error type : commitTransaction failed


Thanks in advance:
Nasim



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux