Fabrízio de Royes Mello escreveu:
> O Jota matou a tua charada... isso é realmente uma questão da
> implementação do PostgreSQL,
>
Não é questão de implementação. O próprio padrão SQL *não* garante a ordem dos
registros. A teoria relacional diz que tabelas são conjuntos de dados; e, em
um conjunto *não* há garantia de ordem.

> nos na prática o UPDATE não existe no
> PostgreSQL, o que ele faz é um DELETE e um INSERT... teste para voce
> ver, delete o registro e o insira novamente com o valor alterado... vai
> produzir o mesmo efeito...
> 
Ugh?! É claro que o UPDATE existe. Não confunda os leigos com declarações
desse tipo. O que acontece é que o MVCC [1] trabalha assim (torna uma tupla
invisível e cria outra). São tantas as vantagens que a maioria dos SGBDs
comerciais utilizam esse conceito.
Quanto a produzir o mesmo efeito, não esteja certo disso. Se você tiver
fillfactor definido na sua tabela ou utilizando uma versão >= 8.3 (HOT), o
registro que sofreu alteração nem sempre aparecerá na última posição.


[1] http://en.wikipedia.org/wiki/Multiversion_concurrency_control


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a