3 new functionalities from 3 people:
Tag: plpgsql
Waiting for 8.4 – RETURN QUERY EXECUTE and cursor_tuple_fraction
Today another two new additions to PostgreSQL – as You can see may commit-fest seems to work pretty good 🙂
Continue reading Waiting for 8.4 – RETURN QUERY EXECUTE and cursor_tuple_fraction
My take on trees in SQL
Quick note in polish: jeśli znasz moje poprzednie posty nt. drzew, to ten możesz sobie pewnie odpuścić. będzie zawierał jedynie opis implementacji zbliżony do tego co już jest dostępne.
OK, back to English (or at least my version of English).
Finding a good way to store trees in SQL was/is my long-term hobby. I tried ltree, basic adjacency list, Celko's nested sets way, and nothing really was able to make me feel satisfied.
Ltree is great, but PostgreSQL only (not that it's a big problem). Adjacency list is very simple in insert, update and delete operations, but forces me to use recursive queries in case of some not-so-standard queries. Nested sets are quite the contrary – great for selects, but I simply hate writing insert/update/delete to these trees.
Is there anything better? I think so.
waiting for 8.4 – current_query()
unfrotunatelly i can't point you to message in archives, as there is some problem with them, and i dont see posts newer than “Fri Apr 04 12:00:08 2008".
this patch was written by tomas doran, and commited by bruce momjian:
waiting for 8.4
another very interesting addon. pavel stehule wrote, and tom lane commited “execute using" in plpgsql.
waiting for 8.4
another new, cool feature commited by tom lane: “Support statement-level ON TRUNCATE triggers."
original patch was submitted by simon riggs, and tom commited it today/yesterday (depending on time zone).
getting multiple values from sequences
there are this situations where you need (or you think you need) to get multiple values from sequence.
for example – you're importing lots of data: some objects, some objects which relate to base objects, and so on.
of course you can do it all with simple inserts, and currval, but it would be rather slow: