nx_queries_merge_gate.nx
buildroot/runtime/nx_queries_merge_gate.nx
about
nx_queries_merge_gate.nx -- the referee for nx_queries_merge_lib: a three-file union is row-aligned and space-joined,
CRLF inputs merge without their CR, a mismatched id is REFUSED naming the row and input, a row-count mismatch is
REFUSED naming the input, and a killed run leaves no half file (the write is tmp + rename). Fixtures live in
/tmp/nx_queries_merge_gate/ (fixture-ratchet law), truncate-written at setup so the gate is idempotent.
license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
dependencies 2 imports · 0 importers
imports: nx_queries_merge_lib.nxnx_gate_verdict.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 9 | const QG_DIR: *u8 = "/tmp/nx_queries_merge_gate" as *u8 |
| 10 | const QG_A: *u8 = "/tmp/nx_queries_merge_gate/a.tsv" as *u8 |
| 11 | const QG_B: *u8 = "/tmp/nx_queries_merge_gate/b.tsv" as *u8 |
| 12 | const QG_C: *u8 = "/tmp/nx_queries_merge_gate/c.tsv" as *u8 |
| 13 | const QG_D: *u8 = "/tmp/nx_queries_merge_gate/d.tsv" as *u8 |
| 14 | const QG_E: *u8 = "/tmp/nx_queries_merge_gate/e.tsv" as *u8 |
| 15 | const QG_OUT: *u8 = "/tmp/nx_queries_merge_gate/out.tsv" as *u8 |
| 16 | const QG_OUT2: *u8 = "/tmp/nx_queries_merge_gate/out2.tsv" as *u8 |
| 17 | const QG_MODE_DIR: i64 = 493 |
| 18 | const QG_IN3: i64 = 3 |
| 19 | const QG_IN2: i64 = 2 |
functions
| 21 | func qg_write(p: *u8, s: *u8) -> i64 { let fd: i64 = sys_openat_wr(p, QM_FILE_MODE); if fd < 0 { return 0 - 1 } qm_write_all(fd, s, qm_slen(s)); sys_close(fd); return 0 } |
| 22 | func qg_exists(p: *u8) -> i64 { let fd: i64 = sys_openat_rd(p); if fd < 0 { return 0 } sys_close(fd); return 1 } called by 1: main |
| 23 | func qg_read_eq(p: *u8, want: *u8) -> i64 |
| 33 | func main(argc: i64, argv: *i64) -> i64 |