G.....n
G.....n
https://www.periscope.io/blog/postgres-recursive-cte.html - w #postgresql można rozwiązywać problem komiwojażera kodem deklaratywnym, a Wy co, nadal czekacie na JSON jako natywny typ danych w waszej bazie? ( ͡° ͜ʖ ͡°)


#gindenpoleca #sql
  • Najlepsze
  • Wszystkie komentarze
plushy
@Ginden: Meeeh. Przecież od dawna wiadomo że rozszerzenia do SQL w postgresie sprawiają że jest kompletny i można zaprogramować w nim wszystko.
G.....n
G.....n
@plushy: A któraś baza SQL nie jest Turing-kompletna?
plushy
@Ginden: MySQL i kilka mniej popularnych. Wymaganiem są rekursywne CTE.
G.....n
G.....n
@plushy: Czemu rekursywne CTE są wymagane do Turing-kompletności?
W MySQL można AFAIK napisać interpreter Brainfucka.
plushy
@Ginden: Bo bez rCTE można określić czy zapytanie się zatrzyma.
G.....n
G.....n
@plushy: Napisać Ci interpreter Brainfucka (a BF jest kompletny) w MySQLu? :P

plushy
@Ginden: No dajesz. Ale przypominam że SQL a nie procedury składowane.
G.....n
G.....n
@plushy: A w czym są pisane procedury składowane jak nie w SQLu? :P I czym zasadniczo różnią się procedury od zapytań ad hoc, jeśli nie szczegółami implementacji?
Tzn. wiele baz wspiera zewnętrzne języki do tego, ale to jest poza zakresem tej rozmowy.
plushy
@Ginden: W jakimś tam języku proceduralnym którego nazwy nikt nie zna. Ale wiesz, jak tak się mamy bawić to równie dobrze możesz użyć bazy do odpalenia zewnętrznego programu napisanego w innym języku.
G.....n
G.....n
W jakimś tam języku proceduralnym którego nazwy nikt nie zna.

@plushy: Jeśli dialektów SQL z elementami proceduralnymi nie uznajesz za SQL, to wtedy rzeczywiście, nie ma Turing-kompletności bez recursive CTE.