Re: Hard problem with concurrency

Поиск
Список
Период
Сортировка
От CoL
Тема Re: Hard problem with concurrency
Дата
Msg-id b313qb$2dmi$1@news.hub.org
обсуждение исходный текст
Ответ на Re: Hard problem with concurrency  (Vincent van Leeuwen <pgsql.spam@vinz.nl>)
Список pgsql-hackers
Hi,

Vincent van Leeuwen wrote, On 2/19/2003 10:08 PM:
> On 2003-02-18 20:02:29 +0100, Peter Eisentraut wrote:
>> Christopher Kings-Lynne writes:
>> 
>> > REPLACE INTO anyone? ;)
>> 
>> The upcoming SQL 200x standard includes a MERGE command that appears to
>> fulfill that purpose.
>> 
> 
> MySQL features a poor-mans aproach to this problem, their REPLACE command:
> 
> http://www.mysql.com/doc/en/REPLACE.html
> REPLACE works exactly like INSERT, except that if an old record in the table
> has the same value as a new record on a UNIQUE index or PRIMARY KEY, the old
> record is deleted before the new record is inserted.
> 
> I'd love to see this kind of functionality in PG, I've got a database that
> caches data which only gets conditional INSERT/UPDATEs, so that would save a
> lot of wasted SQL commands.

I think this replace function is stupid in mysql. It deletes the the 
row, and what if that row is linked into another table? You loose your 
connection, relation.
However you can easy write a procedure which can make a real replace, 
cause it checks if same data (by keys) is in the table then makes an 
update, if not, do an insert.

You can do everything, not like in mysql, just write it as you like.

C.



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

Предыдущее
От: "Ross J. Reedstrom"
Дата:
Сообщение: Re: Simplifying timezone support
Следующее
От: Michael Meskes
Дата:
Сообщение: Re: request for sql3 compliance for the update command