feat(job-array-single-wal-record): add WAL_JOB_ARRAY_SUBMIT record type

Adds the array-shaped WAL entry type (distinct from WAL_JOB_SUBMIT,
value 11 in the unused WAL_JOB_* gap) and classifies it WAIT-mode via
wal_classify, matching the single-job type's commit-barrier semantics.
No dispatch/apply wiring yet -- foundation for task 2.x/3.x.

Task 1.1 of job-array-single-wal-record.
This commit is contained in:
Rongsong Shen 2026-07-14 06:47:14 +00:00
parent 895a204438
commit 2e62e73d84
4 changed files with 197 additions and 0 deletions

View file

@ -4517,6 +4517,12 @@ wal_commit_mode_t wal_classify(uint32_t wal_type, int detail)
/* client job submit — request-shaped; keeps the in-hook sync path
* (reference implementation, handle_jobsubmit) */
return WAL_MODE_WAIT;
case WAL_JOB_ARRAY_SUBMIT:
/* client job-array submit (job-array-single-wal-record task 1.1) —
* request-shaped exactly like WAL_JOB_SUBMIT: one requester awaits
* the single commit barrier before reply, regardless of array
* size. */
return WAL_MODE_WAIT;
case WAL_QUEUE_CTRL:
/* client queue control — request-shaped; the handler barrier owes
* commit completion before the requester reply (tasks 2-3) */