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.

Continue reading My take on trees in SQL

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:

Continue reading getting multiple values from sequences