Re: someone working to add merge?
От | Jaime Casanova |
---|---|
Тема | Re: someone working to add merge? |
Дата | |
Msg-id | c2d9e70e0511150555q42d340ecsfc79ffb189905666@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: someone working to add merge? (Alvaro Herrera <alvherre@commandprompt.com>) |
Список | pgsql-hackers |
On 11/15/05, Alvaro Herrera <alvherre@commandprompt.com> wrote: > Csaba Nagy wrote: > > > session_1=> create table test (col smallint primary key); > > NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index > > "test_pkey" for table "test" > > CREATE TABLE > > session_1=> begin; > > BEGIN > > cnagy=> insert into test values (1); > > INSERT 165068987 1 > > > > session_2=> begin; > > BEGIN > > session_2=> insert into test values (1); > > > > [session_2 is now waiting] > > This only happens because of the unique index. There's no predicate > locking involved. The btree code goes some lengths to make this work; > it would be probably simple to modify this to support MERGE or REPLACE > on the limited cases where there's a UNIQUE index. Tom has already said > this twice (on this thread only; he has already said it before IIRC.) > > -- > Alvaro Herrera http://www.CommandPrompt.com/ > PostgreSQL Replication, Consulting, Custom Development, 24x7 support > And the only type of predicate locking we need for MySQL REPLACE because it needs a pk or unique index to know it has to replace otherwise it inserts the row... that's the way it works as mysql spec said... -- Atentamente, Jaime Casanova (DBA: DataBase Aniquilator ;)
В списке pgsql-hackers по дате отправления: