Обсуждение: create table in transaction fails

Поиск
Список
Период
Сортировка

create table in transaction fails

От
psql@dgrmm.net
Дата:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I have a php script to upgrade a database, and it works just fine when not in a
transaction, but it fails when I turn on a transaction.

I'm using:
fedora core 4
postgresql 8.0.3
php-pgsql-4.3.11

The error is:

[db_error: message="DB Error: unknown error" code=-1 mode=return level=notice
prefix="" info="CREATE TABLE maia_themes ( id SERIAL PRIMARY KEY, name
VARCHAR(30) NOT NULL, path VARCHAR(30) NOT NULL) [nativecode=ERROR: current
transaction is aborted, commands ignored until end of transaction block]"]

Any ideas why this fails?

- --
David Morton
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDY/4pSIxC85HZHLMRAq3bAJ45rWELMRRFvATo1ZNIJRcv6mjzzwCeK7tV
DWUHMCjuqtgvowPuXXS1xjM=
=I5gY
-----END PGP SIGNATURE-----

Re: create table in transaction fails

От
Martijn van Oosterhout
Дата:
On Sat, Oct 29, 2005 at 05:56:41PM -0500, psql@dgrmm.net wrote:
> I have a php script to upgrade a database, and it works just fine when not in a
> transaction, but it fails when I turn on a transaction.

When you start a transaction and you get an error, all subsequent
commands will be ignored until you commit or rollback.

> The error is:
>
> [db_error: message="DB Error: unknown error" code=-1 mode=return level=notice
> prefix="" info="CREATE TABLE maia_themes ( id SERIAL PRIMARY KEY, name
> VARCHAR(30) NOT NULL, path VARCHAR(30) NOT NULL) [nativecode=ERROR: current
> transaction is aborted, commands ignored until end of transaction block]"]

No, this is the message telling you it's ignoring the command. The
actual error is ealier in the same transaction... Fix that and this
will solve itself...

Hope this helps,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

Вложения