@antelopejs/postgres 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +1 -1
  2. package/dist/config.js +1 -1
  3. package/dist/config.js.map +1 -1
  4. package/dist/implementations/database/cursors.d.ts +1 -1
  5. package/dist/implementations/database/cursors.js +20 -17
  6. package/dist/implementations/database/cursors.js.map +1 -1
  7. package/dist/implementations/database/external-column-profile.js +19 -10
  8. package/dist/implementations/database/external-column-profile.js.map +1 -1
  9. package/dist/implementations/database/feeds.d.ts +1 -1
  10. package/dist/implementations/database/feeds.js +4 -4
  11. package/dist/implementations/database/feeds.js.map +1 -1
  12. package/dist/implementations/database/query.d.ts +1 -1
  13. package/dist/implementations/database/query.js +2 -2
  14. package/dist/implementations/database/query.js.map +1 -1
  15. package/dist/test/unit/config.spec.js +1 -1
  16. package/dist/test/unit/config.spec.js.map +1 -1
  17. package/dist/test/unit/cursors-fixture.d.ts +3 -3
  18. package/dist/test/unit/cursors-fixture.js +8 -8
  19. package/dist/test/unit/cursors-fixture.js.map +1 -1
  20. package/dist/test/unit/cursors.spec.js +57 -45
  21. package/dist/test/unit/cursors.spec.js.map +1 -1
  22. package/dist/test/unit/cursors.teardown.spec.js +34 -26
  23. package/dist/test/unit/cursors.teardown.spec.js.map +1 -1
  24. package/dist/test/unit/cursors.window.spec.js +24 -11
  25. package/dist/test/unit/cursors.window.spec.js.map +1 -1
  26. package/dist/test/unit/feeds-fixture.d.ts +1 -1
  27. package/dist/test/unit/feeds-fixture.js +1 -1
  28. package/dist/test/unit/feeds-fixture.js.map +1 -1
  29. package/dist/test/unit/feeds.spec.js +49 -36
  30. package/dist/test/unit/feeds.spec.js.map +1 -1
  31. package/dist/test-external/categories.test.d.ts +1 -0
  32. package/dist/test-external/categories.test.js +130 -0
  33. package/dist/test-external/categories.test.js.map +1 -0
  34. package/dist/test-external/fixture.js +7 -1
  35. package/dist/test-external/fixture.js.map +1 -1
  36. package/package.json +2 -2
@@ -13,8 +13,8 @@ describe("the cursor registry", () => {
13
13
  (0, chai_1.expect)(upperId).to.equal(cursors_fixture_1.FIRST_SPEC_REQ_ID);
14
14
  const openUpper = (0, cursors_fixture_1.Reopening)(upper, 1, 2);
15
15
  const openLower = (0, cursors_fixture_1.Reopening)(lower, 3, 4);
16
- (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)(upperId, openUpper)).to.deep.equal([1, 2]);
17
- (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)(lowerId, openLower)).to.deep.equal([3, 4]);
16
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)(upperId, openUpper)).to.deep.equal([[1, 2]]);
17
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)(lowerId, openLower)).to.deep.equal([[3, 4]]);
18
18
  await (0, cursors_fixture_1.OverflowEndings)();
19
19
  const refusedUpper = await (0, cursors_fixture_1.Rejection)((0, cursors_fixture_1.Read)(upperId, openUpper));
20
20
  const refusedLower = await (0, cursors_fixture_1.Rejection)((0, cursors_fixture_1.Read)(lowerId, openLower));
@@ -25,10 +25,13 @@ describe("the cursor registry", () => {
25
25
  (0, chai_1.expect)([upper.acquires, lower.acquires]).to.deep.equal([1, 1]);
26
26
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline);
27
27
  });
28
- it("yields a full batch and then a short one, in order, and then ends", async () => {
28
+ it("hands over a full batch and then a short one, each in one read, and then ends", async () => {
29
29
  const log = (0, cursors_fixture_1.Recorder)();
30
30
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4, 5)]);
31
- (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)((0, cursors_fixture_1.NextReqId)(), open)).to.deep.equal([1, 2, 3, 4, 5]);
31
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)((0, cursors_fixture_1.NextReqId)(), open)).to.deep.equal([
32
+ [1, 2, 3],
33
+ [4, 5],
34
+ ]);
32
35
  (0, chai_1.expect)(log.statements).to.deep.equal([
33
36
  cursors_fixture_1.BEGIN,
34
37
  cursors_fixture_1.DECLARE,
@@ -43,7 +46,7 @@ describe("the cursor registry", () => {
43
46
  it("ends after a short first batch without fetching a second time", async () => {
44
47
  const log = (0, cursors_fixture_1.Recorder)();
45
48
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2)]);
46
- (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)((0, cursors_fixture_1.NextReqId)(), open)).to.deep.equal([1, 2]);
49
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)((0, cursors_fixture_1.NextReqId)(), open)).to.deep.equal([[1, 2]]);
47
50
  (0, chai_1.expect)(log.statements).to.deep.equal([
48
51
  cursors_fixture_1.BEGIN,
49
52
  cursors_fixture_1.DECLARE,
@@ -53,12 +56,10 @@ describe("the cursor registry", () => {
53
56
  cursors_fixture_1.RELEASE,
54
57
  ]);
55
58
  });
56
- it("ends immediately over a cursor that read no rows", async () => {
59
+ it("answers an empty first batch over a cursor that read no rows", async () => {
57
60
  const log = (0, cursors_fixture_1.Recorder)();
58
61
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)()]);
59
- const next = await (0, cursors_fixture_1.Read)((0, cursors_fixture_1.NextReqId)(), open);
60
- (0, chai_1.expect)(next.done).to.equal(true);
61
- (0, chai_1.expect)(next.value).to.equal(undefined);
62
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)((0, cursors_fixture_1.NextReqId)(), open)).to.deep.equal([]);
62
63
  (0, chai_1.expect)(log.statements).to.deep.equal([
63
64
  cursors_fixture_1.BEGIN,
64
65
  cursors_fixture_1.DECLARE,
@@ -82,44 +83,41 @@ describe("the cursor registry", () => {
82
83
  });
83
84
  describe("the cursor registry", () => {
84
85
  (0, cursors_fixture_1.GuardTheRegistry)();
85
- it("holds one registration while iterating and none once exhausted", async () => {
86
+ it("holds one registration while iterating and releases it on the empty batch", async () => {
86
87
  const log = (0, cursors_fixture_1.Recorder)();
87
88
  const reqId = (0, cursors_fixture_1.NextReqId)();
88
- const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2)]);
89
- await (0, cursors_fixture_1.Read)(reqId, open);
89
+ const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
90
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([1, 2, 3]);
90
91
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline + 1);
91
- await (0, cursors_fixture_1.Read)(reqId, open);
92
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([4]);
92
93
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline + 1);
93
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open)).done).to.equal(true);
94
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([]);
94
95
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline);
95
96
  (0, chai_1.expect)(log.releases).to.equal(1);
96
97
  });
97
- it("stays done after exhaustion, acquiring nothing", async () => {
98
+ it("stays exhausted after its empty batch, acquiring nothing", async () => {
98
99
  const log = (0, cursors_fixture_1.Recorder)();
99
100
  const reqId = (0, cursors_fixture_1.NextReqId)();
100
101
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1)]);
101
- (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)(reqId, open)).to.deep.equal([1]);
102
- const after = await (0, cursors_fixture_1.Read)(reqId, open);
103
- (0, chai_1.expect)(after.done).to.equal(true);
104
- (0, chai_1.expect)(after.value).to.equal(undefined);
102
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Drain)(reqId, open)).to.deep.equal([[1]]);
103
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([]);
105
104
  (0, chai_1.expect)(log.acquires).to.equal(1);
106
105
  (0, chai_1.expect)((0, cursors_fixture_1.Count)(log, cursors_fixture_1.BEGIN)).to.equal(1);
107
106
  (0, chai_1.expect)((0, cursors_fixture_1.Count)(log, cursors_fixture_1.DECLARE)).to.equal(1);
108
107
  (0, chai_1.expect)(log.releases).to.equal(1);
109
108
  });
110
- it("stays done after an explicit close, acquiring nothing", async () => {
109
+ it("answers an empty batch after an explicit close, acquiring nothing", async () => {
111
110
  const log = (0, cursors_fixture_1.Recorder)();
112
111
  const reqId = (0, cursors_fixture_1.NextReqId)();
113
112
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
114
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open)).value).to.equal(1);
113
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([1, 2, 3]);
115
114
  await (0, cursors_1.CloseOneCursor)(reqId);
116
- const after = await (0, cursors_fixture_1.Read)(reqId, open);
117
- (0, chai_1.expect)(after.done).to.equal(true);
115
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([]);
118
116
  (0, chai_1.expect)(log.acquires).to.equal(1);
119
117
  (0, chai_1.expect)(log.releases).to.equal(1);
120
118
  (0, chai_1.expect)((0, cursors_fixture_1.Count)(log, cursors_fixture_1.FETCH)).to.equal(1);
121
119
  });
122
- it("answers four concurrent reads over a two-row cursor on one client", async () => {
120
+ it("answers four concurrent reads over a one-batch cursor on one client", async () => {
123
121
  const log = (0, cursors_fixture_1.Recorder)();
124
122
  const reqId = (0, cursors_fixture_1.NextReqId)();
125
123
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2)]);
@@ -129,28 +127,26 @@ describe("the cursor registry", () => {
129
127
  (0, cursors_fixture_1.Read)(reqId, open),
130
128
  (0, cursors_fixture_1.Read)(reqId, open),
131
129
  ]);
132
- (0, chai_1.expect)(answers.map((answer) => answer.value)).to.deep.equal([
133
- 1,
134
- 2,
135
- undefined,
136
- undefined,
137
- ]);
138
- (0, chai_1.expect)(answers.map((answer) => answer.done)).to.deep.equal([
139
- false,
140
- false,
141
- true,
142
- true,
143
- ]);
130
+ (0, chai_1.expect)(answers).to.deep.equal([[1, 2], [], [], []]);
144
131
  (0, chai_1.expect)(log.acquires).to.equal(1);
145
132
  (0, chai_1.expect)(log.releases).to.equal(1);
146
133
  (0, chai_1.expect)((0, cursors_fixture_1.Count)(log, cursors_fixture_1.BEGIN)).to.equal(1);
147
134
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline);
148
135
  });
136
+ it("answers an empty batch after the last batch, even once the idle reaper has ended it", async () => {
137
+ const log = (0, cursors_fixture_1.Recorder)();
138
+ const reqId = (0, cursors_fixture_1.NextReqId)();
139
+ const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2)]);
140
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.REAPING)).to.deep.equal([1, 2]);
141
+ await (0, cursors_fixture_1.Delay)(cursors_fixture_1.REAP_WINDOW_MS);
142
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.REAPING)).to.deep.equal([]);
143
+ (0, chai_1.expect)(log.releases).to.equal(1);
144
+ });
149
145
  it("throws on a read after the idle reaper reclaimed the cursor", async () => {
150
146
  const log = (0, cursors_fixture_1.Recorder)();
151
147
  const reqId = (0, cursors_fixture_1.NextReqId)();
152
148
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
153
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.REAPING)).value).to.equal(1);
149
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.REAPING)).to.deep.equal([1, 2, 3]);
154
150
  await (0, cursors_fixture_1.Delay)(cursors_fixture_1.REAP_WINDOW_MS);
155
151
  await (0, cursors_1.CloseOneCursor)(reqId);
156
152
  const err = await (0, cursors_fixture_1.Rejection)((0, cursors_fixture_1.Read)(reqId, open));
@@ -164,7 +160,7 @@ describe("the cursor registry", () => {
164
160
  const log = (0, cursors_fixture_1.Recorder)();
165
161
  const reqId = (0, cursors_fixture_1.NextReqId)();
166
162
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
167
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open)).value).to.equal(1);
163
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([1, 2, 3]);
168
164
  await (0, cursors_1.CloseOneCursor)(reqId);
169
165
  (0, chai_1.expect)(log.statements).to.deep.equal([
170
166
  cursors_fixture_1.BEGIN,
@@ -180,19 +176,37 @@ describe("the cursor registry", () => {
180
176
  });
181
177
  describe("the cursor registry", () => {
182
178
  (0, cursors_fixture_1.GuardTheRegistry)();
183
- it("closes behind a read that is still in flight, and answers it first", async () => {
179
+ it("answers an empty batch to a read issued just before the close, opening nothing", async () => {
184
180
  const log = (0, cursors_fixture_1.Recorder)();
185
181
  const reqId = (0, cursors_fixture_1.NextReqId)();
186
182
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
187
183
  const reading = (0, cursors_fixture_1.Read)(reqId, open);
188
184
  const closing = (0, cursors_1.CloseOneCursor)(reqId);
189
- const first = await reading;
185
+ (0, chai_1.expect)(await reading).to.deep.equal([]);
186
+ await closing;
187
+ (0, chai_1.expect)(log.acquires).to.equal(0);
188
+ (0, chai_1.expect)(log.statements).to.deep.equal([]);
189
+ (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline);
190
+ });
191
+ it("answers an empty batch to a read whose FETCH is on the wire when the close arrives", async () => {
192
+ const log = (0, cursors_fixture_1.Recorder)();
193
+ const reqId = (0, cursors_fixture_1.NextReqId)();
194
+ const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4, 5, 6)]);
195
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([1, 2, 3]);
196
+ log.holdsNextFetch = true;
197
+ const reading = (0, cursors_fixture_1.Read)(reqId, open);
198
+ while (!log.resumeFetch) {
199
+ await (0, cursors_fixture_1.Delay)(cursors_fixture_1.NEXT_TURN_MS);
200
+ }
201
+ const closing = (0, cursors_1.CloseOneCursor)(reqId);
202
+ log.resumeFetch();
203
+ (0, chai_1.expect)(await reading).to.deep.equal([]);
190
204
  await closing;
191
- (0, chai_1.expect)(first.value).to.equal(1);
192
205
  (0, chai_1.expect)(log.statements).to.deep.equal([
193
206
  cursors_fixture_1.BEGIN,
194
207
  cursors_fixture_1.DECLARE,
195
208
  cursors_fixture_1.FETCH,
209
+ cursors_fixture_1.FETCH,
196
210
  cursors_fixture_1.CLOSE,
197
211
  cursors_fixture_1.ROLLBACK,
198
212
  cursors_fixture_1.RELEASE,
@@ -215,14 +229,12 @@ describe("the cursor registry", () => {
215
229
  await (0, cursors_1.CloseOneCursor)((0, cursors_fixture_1.NextReqId)());
216
230
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline);
217
231
  });
218
- it("answers done, acquiring nothing, after a close that preceded every read", async () => {
232
+ it("answers an empty batch, acquiring nothing, after a close that preceded every read", async () => {
219
233
  const log = (0, cursors_fixture_1.Recorder)();
220
234
  const reqId = (0, cursors_fixture_1.NextReqId)();
221
235
  const open = (0, cursors_fixture_1.Reopening)(log, 1, 2);
222
236
  await (0, cursors_1.CloseOneCursor)(reqId);
223
- const after = await (0, cursors_fixture_1.Read)(reqId, open);
224
- (0, chai_1.expect)(after.done).to.equal(true);
225
- (0, chai_1.expect)(after.value).to.equal(undefined);
237
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([]);
226
238
  (0, chai_1.expect)(log.acquires).to.equal(0);
227
239
  (0, chai_1.expect)(log.statements).to.deep.equal([]);
228
240
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline);
@@ -1 +1 @@
1
- {"version":3,"file":"cursors.spec.js","sourceRoot":"","sources":["../../../src/test/unit/cursors.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursors.spec.js","sourceRoot":"","sources":["../../../src/test/unit/cursors.spec.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ describe("the cursor registry", () => {
15
15
  (0, chai_1.expect)(log.statements).to.deep.equal([cursors_fixture_1.BEGIN, cursors_fixture_1.DECLARE, cursors_fixture_1.ROLLBACK, cursors_fixture_1.RELEASE]);
16
16
  (0, chai_1.expect)(log.releases).to.equal(1);
17
17
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline);
18
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open)).done).to.equal(true);
18
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([]);
19
19
  (0, chai_1.expect)(log.acquires).to.equal(1);
20
20
  });
21
21
  it("releases without rolling back when the BEGIN itself is refused", async () => {
@@ -50,16 +50,16 @@ describe("the cursor registry", () => {
50
50
  (0, chai_1.expect)(log.releases).to.equal(1);
51
51
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline);
52
52
  });
53
- it("answers two concurrent reads consecutive rows, over one open and one fetch", async () => {
53
+ it("answers two concurrent reads consecutive batches, over one open", async () => {
54
54
  const log = (0, cursors_fixture_1.Recorder)();
55
55
  const reqId = (0, cursors_fixture_1.NextReqId)();
56
- const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3)]);
57
- const [first, second] = await Promise.all([
58
- (0, cursors_fixture_1.Read)(reqId, open),
59
- (0, cursors_fixture_1.Read)(reqId, open),
56
+ const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4, 5, 6)]);
57
+ const answers = await Promise.all([(0, cursors_fixture_1.Read)(reqId, open), (0, cursors_fixture_1.Read)(reqId, open)]);
58
+ (0, chai_1.expect)(answers).to.deep.equal([
59
+ [1, 2, 3],
60
+ [4, 5, 6],
60
61
  ]);
61
- (0, chai_1.expect)([first.value, second.value]).to.deep.equal([1, 2]);
62
- (0, chai_1.expect)(log.statements).to.deep.equal([cursors_fixture_1.BEGIN, cursors_fixture_1.DECLARE, cursors_fixture_1.FETCH]);
62
+ (0, chai_1.expect)(log.statements).to.deep.equal([cursors_fixture_1.BEGIN, cursors_fixture_1.DECLARE, cursors_fixture_1.FETCH, cursors_fixture_1.FETCH]);
63
63
  (0, chai_1.expect)(log.acquires).to.equal(1);
64
64
  await (0, cursors_1.CloseOneCursor)(reqId);
65
65
  (0, chai_1.expect)(log.releases).to.equal(1);
@@ -67,7 +67,12 @@ describe("the cursor registry", () => {
67
67
  it("arms an unreferenced reaper on every read", async () => {
68
68
  const log = (0, cursors_fixture_1.Recorder)();
69
69
  const reqId = (0, cursors_fixture_1.NextReqId)();
70
- const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
70
+ const open = (0, cursors_fixture_1.Requesting)(log, [
71
+ (0, cursors_fixture_1.Rows)(1, 2, 3),
72
+ (0, cursors_fixture_1.Rows)(4, 5, 6),
73
+ (0, cursors_fixture_1.Rows)(7, 8, 9),
74
+ (0, cursors_fixture_1.Rows)(10),
75
+ ]);
71
76
  const timers = (0, cursors_fixture_1.TimerRecorder)();
72
77
  await (0, cursors_fixture_1.CapturingTimers)(timers, cursors_fixture_1.REAPER_PROBE_MS, async () => {
73
78
  await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.PROBING);
@@ -85,7 +90,12 @@ describe("the cursor registry", () => {
85
90
  it("clears the reaper it armed on the previous read, and the last one on close", async () => {
86
91
  const log = (0, cursors_fixture_1.Recorder)();
87
92
  const reqId = (0, cursors_fixture_1.NextReqId)();
88
- const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
93
+ const open = (0, cursors_fixture_1.Requesting)(log, [
94
+ (0, cursors_fixture_1.Rows)(1, 2, 3),
95
+ (0, cursors_fixture_1.Rows)(4, 5, 6),
96
+ (0, cursors_fixture_1.Rows)(7, 8, 9),
97
+ (0, cursors_fixture_1.Rows)(10),
98
+ ]);
89
99
  const timers = (0, cursors_fixture_1.TimerRecorder)();
90
100
  await (0, cursors_fixture_1.CapturingTimers)(timers, cursors_fixture_1.REAPER_PROBE_MS, async () => {
91
101
  await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.PROBING);
@@ -102,7 +112,7 @@ describe("the cursor registry", () => {
102
112
  it("ignores a reaper timer that fired before a read re-armed it", async () => {
103
113
  const log = (0, cursors_fixture_1.Recorder)();
104
114
  const reqId = (0, cursors_fixture_1.NextReqId)();
105
- const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3)]);
115
+ const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4, 5, 6)]);
106
116
  const timers = (0, cursors_fixture_1.TimerRecorder)();
107
117
  await (0, cursors_fixture_1.CapturingTimers)(timers, cursors_fixture_1.REAPER_PROBE_MS, async () => {
108
118
  await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.PROBING);
@@ -110,7 +120,7 @@ describe("the cursor registry", () => {
110
120
  });
111
121
  timers.handlers[cursors_fixture_1.STALE_TIMER]();
112
122
  await (0, cursors_fixture_1.Delay)(cursors_fixture_1.REAP_WINDOW_MS);
113
- (0, chai_1.expect)(log.statements).to.deep.equal([cursors_fixture_1.BEGIN, cursors_fixture_1.DECLARE, cursors_fixture_1.FETCH]);
123
+ (0, chai_1.expect)(log.statements).to.deep.equal([cursors_fixture_1.BEGIN, cursors_fixture_1.DECLARE, cursors_fixture_1.FETCH, cursors_fixture_1.FETCH]);
114
124
  (0, chai_1.expect)(log.releases).to.equal(0);
115
125
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline + 1);
116
126
  await (0, cursors_1.CloseOneCursor)(reqId);
@@ -121,8 +131,6 @@ describe("the cursor registry", () => {
121
131
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4, 5, 6)]);
122
132
  const timers = (0, cursors_fixture_1.TimerRecorder)();
123
133
  await (0, cursors_fixture_1.CapturingTimers)(timers, cursors_fixture_1.REAPER_PROBE_MS, async () => {
124
- await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.PROBING);
125
- await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.PROBING);
126
134
  await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.PROBING);
127
135
  log.holdsNextFetch = true;
128
136
  const held = (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.PROBING);
@@ -131,7 +139,7 @@ describe("the cursor registry", () => {
131
139
  }
132
140
  timers.handlers[timers.handlers.length - cursors_fixture_1.LAST_TIMER]();
133
141
  log.resumeFetch();
134
- (0, chai_1.expect)((await held).value).to.equal(4);
142
+ (0, chai_1.expect)(await held).to.deep.equal([4, 5, 6]);
135
143
  });
136
144
  (0, chai_1.expect)(log.statements).to.deep.equal([cursors_fixture_1.BEGIN, cursors_fixture_1.DECLARE, cursors_fixture_1.FETCH, cursors_fixture_1.FETCH]);
137
145
  (0, chai_1.expect)(log.releases).to.equal(0);
@@ -141,7 +149,7 @@ describe("the cursor registry", () => {
141
149
  const log = (0, cursors_fixture_1.Recorder)();
142
150
  const reqId = (0, cursors_fixture_1.NextReqId)();
143
151
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
144
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.REAPING)).value).to.equal(1);
152
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.REAPING)).to.deep.equal([1, 2, 3]);
145
153
  await (0, cursors_fixture_1.Delay)(cursors_fixture_1.REAP_WINDOW_MS);
146
154
  (0, chai_1.expect)(log.statements).to.deep.equal([
147
155
  cursors_fixture_1.BEGIN,
@@ -208,13 +216,13 @@ describe("the cursor registry", () => {
208
216
  });
209
217
  };
210
218
  const openHeld = (0, cursors_fixture_1.Requesting)(held, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4, 5, 6)]);
211
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(heldId, openHeld)).value).to.equal(1);
219
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(heldId, openHeld)).to.deep.equal([1, 2, 3]);
212
220
  await (0, cursors_1.CloseAllCursors)();
213
221
  if (!late) {
214
222
  throw new Error(cursors_fixture_1.NEVER_ARRIVED);
215
223
  }
216
224
  (0, chai_1.expect)(isAnswered).to.equal(true);
217
- (0, chai_1.expect)((await late).done).to.equal(true);
225
+ (0, chai_1.expect)(await late).to.deep.equal([]);
218
226
  (0, chai_1.expect)(arriving.acquires).to.equal(0);
219
227
  (0, chai_1.expect)(arriving.statements).to.deep.equal([]);
220
228
  (0, chai_1.expect)(held.acquires).to.equal(1);
@@ -224,14 +232,14 @@ describe("the cursor registry", () => {
224
232
  const log = (0, cursors_fixture_1.Recorder)();
225
233
  const reqId = (0, cursors_fixture_1.NextReqId)();
226
234
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1)]);
227
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open)).value).to.equal(1);
235
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([1]);
228
236
  log.holdsStatement = cursors_fixture_1.CLOSE;
229
237
  const ending = (0, cursors_fixture_1.Read)(reqId, open);
230
238
  const resume = await (0, cursors_fixture_1.WhenHeld)(log);
231
239
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline + 1);
232
240
  (0, chai_1.expect)(log.releases).to.equal(0);
233
241
  resume();
234
- (0, chai_1.expect)((await ending).done).to.equal(true);
242
+ (0, chai_1.expect)(await ending).to.deep.equal([]);
235
243
  (0, chai_1.expect)(log.releases).to.equal(1);
236
244
  (0, chai_1.expect)((0, cursors_1.CountOpenCursors)()).to.equal(cursors_fixture_1.baseline);
237
245
  });
@@ -239,7 +247,7 @@ describe("the cursor registry", () => {
239
247
  const log = (0, cursors_fixture_1.Recorder)();
240
248
  const reqId = (0, cursors_fixture_1.NextReqId)();
241
249
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1)]);
242
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open)).value).to.equal(1);
250
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([1]);
243
251
  log.holdsStatement = cursors_fixture_1.CLOSE;
244
252
  const ending = (0, cursors_fixture_1.Read)(reqId, open);
245
253
  const resume = await (0, cursors_fixture_1.WhenHeld)(log);
@@ -253,13 +261,13 @@ describe("the cursor registry", () => {
253
261
  resume();
254
262
  await sweeping;
255
263
  (0, chai_1.expect)(log.releases).to.equal(1);
256
- (0, chai_1.expect)((await ending).done).to.equal(true);
264
+ (0, chai_1.expect)(await ending).to.deep.equal([]);
257
265
  });
258
266
  it("does not resolve the sweep while an explicit close is still on the wire", async () => {
259
267
  const log = (0, cursors_fixture_1.Recorder)();
260
268
  const reqId = (0, cursors_fixture_1.NextReqId)();
261
269
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
262
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open)).value).to.equal(1);
270
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([1, 2, 3]);
263
271
  log.holdsStatement = cursors_fixture_1.CLOSE;
264
272
  const closing = (0, cursors_1.CloseOneCursor)(reqId);
265
273
  const resume = await (0, cursors_fixture_1.WhenHeld)(log);
@@ -282,7 +290,7 @@ describe("the cursor registry", () => {
282
290
  const reqId = (0, cursors_fixture_1.NextReqId)();
283
291
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1, 2, 3), (0, cursors_fixture_1.Rows)(4)]);
284
292
  log.holdsStatement = cursors_fixture_1.CLOSE;
285
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.REAPING)).value).to.equal(1);
293
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open, cursors_fixture_1.REAPING)).to.deep.equal([1, 2, 3]);
286
294
  const resume = await (0, cursors_fixture_1.WhenHeld)(log);
287
295
  let isSwept = false;
288
296
  const sweeping = (0, cursors_1.CloseAllCursors)().then(() => {
@@ -299,7 +307,7 @@ describe("the cursor registry", () => {
299
307
  const log = (0, cursors_fixture_1.Recorder)();
300
308
  const reqId = (0, cursors_fixture_1.NextReqId)();
301
309
  const open = (0, cursors_fixture_1.Requesting)(log, [(0, cursors_fixture_1.Rows)(1)]);
302
- (0, chai_1.expect)((await (0, cursors_fixture_1.Read)(reqId, open)).value).to.equal(1);
310
+ (0, chai_1.expect)(await (0, cursors_fixture_1.Read)(reqId, open)).to.deep.equal([1]);
303
311
  log.holdsStatement = cursors_fixture_1.CLOSE;
304
312
  const ending = (0, cursors_fixture_1.Read)(reqId, open);
305
313
  const resume = await (0, cursors_fixture_1.WhenHeld)(log);
@@ -316,7 +324,7 @@ describe("the cursor registry", () => {
316
324
  await disconnecting;
317
325
  (0, chai_1.expect)(checkedOutAtEnd).to.equal(0);
318
326
  (0, chai_1.expect)(releasesAtEnd).to.equal(1);
319
- (0, chai_1.expect)((await ending).done).to.equal(true);
327
+ (0, chai_1.expect)(await ending).to.deep.equal([]);
320
328
  });
321
329
  });
322
330
  //# sourceMappingURL=cursors.teardown.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursors.teardown.spec.js","sourceRoot":"","sources":["../../../src/test/unit/cursors.teardown.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursors.teardown.spec.js","sourceRoot":"","sources":["../../../src/test/unit/cursors.teardown.spec.ts"],"names":[],"mappings":"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"}