One bounded slice of a dump, plus where to resume.
Phases run ddl -> rows -> later -> done, and the order is load-bearing: indexes are built after the data, since every index on a table is another charged row per insert.
ddl
rows
later
done
DUMP_START to begin, then whatever the previous chunk returned
if cursor.shape disagrees with opts, which means two different dumps are being spliced
cursor.shape
opts
One bounded slice of a dump, plus where to resume.
Phases run
ddl->rows->later->done, and the order is load-bearing: indexes are built after the data, since every index on a table is another charged row per insert.