Re: Getting following error in using cursor to fetch the records froma large table in c language(current transaction is aborted, commands ignoreduntil end of transaction block)

Поиск
Список
Период
Сортировка
От Francisco Olarte
Тема Re: Getting following error in using cursor to fetch the records froma large table in c language(current transaction is aborted, commands ignoreduntil end of transaction block)
Дата
Msg-id CA+bJJbxzLf+zrPJxemodg=gXinS8h=5X01POUSbJc25jhUL5Qw@mail.gmail.com
обсуждение исходный текст
Ответ на Getting following error in using cursor to fetch the records from alarge table in c language(current transaction is aborted, commands ignoreduntil end of transaction block)  (M Tarkeshwar Rao <m.tarkeshwar.rao@ericsson.com>)
Ответы RE: Getting following error in using cursor to fetch the records froma large table in c language(current transaction is aborted, commands ignoreduntil end of transaction block)
Список pgsql-general
On Fri, Nov 1, 2019 at 1:44 PM M Tarkeshwar Rao
<m.tarkeshwar.rao@ericsson.com> wrote:
> Getting following error in using cursor to fetch the records from a large table in c language.

Regarding this, "c language", I'll comment later....


> Can you please suggest why it is coming and what is the remedy for this.

> Nov  1 13:21:54 sprintstd2 postgres[18604]: [10-1] < 2019-11-01 13:21:54.212 CET > ERROR:  current transaction is
aborted,commands ignored until end of transaction block 
> Nov  1 13:21:54 sprintstd2 postgres[18604]: [10-2] < 2019-11-01 13:21:54.212 CET > STATEMENT:  BEGIN
> Nov  1 13:21:54 sprintstd2 postgres[18604]: [11-1] < 2019-11-01 13:21:54.324 CET > ERROR:  current transaction is
aborted,commands ignored until end of transaction block 
> Nov  1 13:21:54 sprintstd2 postgres[18604]: [11-2] < 2019-11-01 13:21:54.324 CET > STATEMENT:  BEGIN
> Nov  1 13:21:54 sprintstd2 postgres[18604]: [12-1] < 2019-11-01 13:21:54.356 CET > ERROR:  current transaction is
aborted,commands ignored until end of transaction block 
> Nov  1 13:21:54 sprintstd2 postgres[18604]: [12-2] < 2019-11-01 13:21:54.356 CET > STATEMENT:  BEGIN
> Nov  1 13:21:54 sprintstd2 postgres[18604]: [13-1] < 2019-11-01 13:21:54.360 CET > ERROR:  current transaction is
aborted,commands ignored until end of transaction block 
> Nov  1 13:21:54 sprintstd2 postgres[18604]: [13-2] < 2019-11-01 13:21:54.360 CET > STATEMENT

This seems incomplete, but I's telling you the cause. You had an
error, you need to terminate the transaction before issuing a new one,
i.e., do a commit ( which, IIRC, will rollback if the transaction is
in error ) or rollback.

> Sample Code snippet used

As you stated C I cannot comment too much, but notice:


>         theCursorDec = (RWCString)"DECLARE " +  mySqlCursor + " CURSOR FOR " + theSql;
>         myFetchSql = "FETCH " + fetchStr + " IN " + mySqlCursor;

Neither of these are C, they COULD be C++

>         // Begin the cursor
Same as this comment.

>         PQexec(connection, ,"BEGIN"))
>         PQexec(connection, ,"myFetchSql”)

And these are definitely not C ( no ; ) and, if you generated them by
editing, myfetchsql is quoted which smells fishy.

I won't comment more until you confirm that is the real code, but
anyway  it seems to me you issue transaction start queries without
properly terminating them with a transaction end one.

Francisco Olarte



В списке pgsql-general по дате отправления:

Предыдущее
От: Shatamjeev Dewan
Дата:
Сообщение: RE: Declarative Range Partitioning Postgres 11
Следующее
От: Jason Ralph
Дата:
Сообщение: Are my autovacuum settings too aggressive for this table?