Insert v PostgreSQL 7.1.3
Karel Zak
zakkr na zf.jcu.cz
Středa Únor 6 11:09:58 CET 2002
On Wed, Feb 06, 2002 at 10:56:24AM +0100, Ing. Pavel PaJaSoft Janousek wrote:
> Karel Zak wrote:
> > BTW, je vhodne si taktez uvedomit, ze sequence jsou mimo transakce.
>
> Ufff, cozeeeee? Nejaky duvod? BTW jak se tedy mimo transakcne pracuje
test=# BEGIN;
BEGIN
test=# SELECT nextval('xxx_id_seq');
nextval
---------
16
(1 row)
test=# ROLLBACK;
ROLLBACK
test=# SELECT nextval('xxx_id_seq');
nextval
---------
17
(1 row)
> se sekvencema, kdyz budu mit 100 konkurentnich inzertu do treba i
> RUZNYCH tabulek, pokud budu pouzivat jednu sekvenci? (Coz neni chyba)
Normalne :-)
Kazdy backend si allokuje jedno cislo (nebo vice zalezi na nastaveni
CACHE v CREATE SEQUENCE). Pokud nema zadne cislo "zamluvene" tak se
podiva do sequence na last_value zvetsiho a zapamatuje si to sve cislo
pro dalsi pouziti (napr. v currval).
O tu sequenci se pochopitelne ty konkurentni backendy stridaji.
Karel
--
Karel Zak <zakkr na zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
Další informace o konferenci Databases