/ / Má metóda Slick DBIO.seq spustiť postupne? - scala, slick, slick-3.0, slick-2.0

Spôsobuje Slick metóda DBIO.seq postupne? - scala, slick, slick-3.0, slick-2.0

Slick to má DBIO.seq a DBIO.sequence pre spustenie mnohých DBIOActionpričom výsledky predchádzajúcich krokov nie sú potrebné pre následné činnosti.

Pozrel som sa na zdroj a nie je to pre mňa zjavné DBIO.seq postupne postupuje. Na druhej strane, DBIO.fold má veľmi jednoduchú implementáciu, ktorá určite spúšťa akcie postupne, pretože práve používa flatMap interne.

Moja otázka je: objednávka bude zaručená pri použití seq a sequence, ako je to s fold?

odpovede:

1 pre odpoveď č. 1

Na dokumentácia uvádza, že činnosti v rámci DBIO.seq prebiehajú postupne:

Najjednoduchšie combinator je DBIO.seq, ktorý berie varargs zoznam akcií na spustenie v poradí

Aj v zdrojový kód pre DBIO.seq, uvidíte, že SynchronousDatabaseAction sa nazýva vnútri foreach, čo znamená, že každý sequantially a (interne) synchrónne s názvom bez akéhokoľvek paralelný beh.