Thread: NOTICE: (transaction aborted): queries ignored until END

NOTICE: (transaction aborted): queries ignored until END

From
Alex Guryanow
Date:
Hi,

I'm use Postgres-6.5.1 on Linux. My database contains two tables and two
indices. I wrote simple program on C that
- begins transaction:  BEGIN WORK
- inserts many (10-500) rows in the first table
- commits the transaction: COMMIT
- begins transaction: BEGIN WORK
- inserts many (1-50) rows in the second table
- commits the transaction: COMMIT

During execution of this program I receive very often the following
message:

                NOTICE:  (transaction aborted): queries ignored until
END

that repeated many times.

What means this message? And why this happens?

Best regards,
Alex


Re: [GENERAL] NOTICE: (transaction aborted): queries ignored until END

From
Mike Mascari
Date:
Alex Guryanow wrote:
>
> Hi,
>
> I'm use Postgres-6.5.1 on Linux. My database contains two tables and two
> indices. I wrote simple program on C that
> - begins transaction:  BEGIN WORK
> - inserts many (10-500) rows in the first table
> - commits the transaction: COMMIT
> - begins transaction: BEGIN WORK
> - inserts many (1-50) rows in the second table
> - commits the transaction: COMMIT
>
> During execution of this program I receive very often the following
> message:
>
>                 NOTICE:  (transaction aborted): queries ignored until
> END
>
> that repeated many times.
>
> What means this message? And why this happens?
>
> Best regards,
> Alex

That message appears when an error has occurred in a
transaction. It means that no other SQL statements will be
processed until the transaction has ended and a new one has
begun. For example:

CREATE TABLE example(key text);

=> begin;
BEGIN
=> insert into example values ('foo');
INSERT 181193 1
=> insert into example values ('bar', 20);
ERROR:  INSERT has more expressions than target columns
=> insert into example values ('bar');
NOTICE:  (transaction aborted): queries ignored until END
*ABORT STATE*
=> commit;
END
=> select * from example;
key
---
(0 rows)

It sounds as if some of your INSERT statements are not being
properly executed, often due to embedded single quotes in
text strings, lack of NULL values for missing datetime
values, or some other such syntax error. You should be able
to use PQresultStatus() and PQerrorMessage() to determine
precisely the error which is causing the transaction to
abort.

Hope that helps,

Mike Mascari

Re: [SQL] NOTICE: (transaction aborted): queries ignored until END

From
neko@kredit.sth.szif.hu
Date:
On Sun, 19 Dec 1999, Alex Guryanow wrote:
>                 NOTICE:  (transaction aborted): queries ignored until
> What means this message? And why this happens?
If an error occured inside a transaction, the whole transaction will be
droped. If the first query fails it is the simplest way to do nothing with
subsequent querys. (and the first action of course will be rollbacked)

If you want know what happend, you need look for the error message, before
the first "transaction aborted" notice.

--
 nek;(


group by / having

From
"Alain TESIO"
Date:
Hello,

Do you know why this command doesn't work ?

> select * from T;
x|y
-+-
1|1
1|2
2|1
2|2
2|3

> select X,Y from T group by X having Y=min(Y);

ERROR:  Illegal use of aggregates or non-group column in target list


My goal is quite simple : get only one line per X value (the value which is
returned for Y is not important as long as it's one of the values linked to
the right X).

The query "select X,Y from T group by X" works under MySQL and
returns exactly what I want, how can I do it in PostgreSQL ?

Thanks for your help,
Alain




Re: [GENERAL] NOTICE: (transaction aborted): queries ignored until END

From
Timothy Laswell
Date:
Thanks Mike, I had the same problem and couldn't figure it out.  I forgot
that since the last time I ran this type of routine I had added some
quotes in.  I forgot to add the routines to handle the single quotes in
the new program.

Tim in Columbia MD

On Sat, 18 Dec 1999, Mike Mascari wrote:

> Alex Guryanow wrote:
> >
> >                 NOTICE:  (transaction aborted): queries ignored until
> >
> > What means this message? And why this happens?
> >
> > Best regards,
> > Alex
>
> That message appears when an error has occurred in a
> transaction. It means that no other SQL statements will be
> processed until the transaction has ended and a new one has
> begun. For example:
>
> It sounds as if some of your INSERT statements are not being
> properly executed, often due to embedded single quotes in
> text strings, lack of NULL values for missing datetime
> values, or some other such syntax error. You should be able
> to use PQresultStatus() and PQerrorMessage() to determine
> precisely the error which is causing the transaction to
> abort.
>
> Hope that helps,
>
> Mike Mascari
>