@channel.io/app-sdk-server 0.31.0 → 0.32.0
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.
- package/dist/decorators/extension.decorator.d.ts +6 -0
- package/dist/decorators/extension.decorator.d.ts.map +1 -1
- package/dist/decorators/extension.decorator.js +14 -0
- package/dist/decorators/extension.decorator.js.map +1 -1
- package/dist/decorators/index.d.ts +1 -1
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +1 -1
- package/dist/decorators/index.js.map +1 -1
- package/dist/native/client.d.ts +7 -22
- package/dist/native/client.d.ts.map +1 -1
- package/dist/native/client.js +13 -31
- package/dist/native/client.js.map +1 -1
- package/dist/native/proxy-api.d.ts +3 -15
- package/dist/native/proxy-api.d.ts.map +1 -1
- package/dist/native/proxy-api.js +2 -20
- package/dist/native/proxy-api.js.map +1 -1
- package/dist/native/proxy-api.types.d.ts +1 -1
- package/dist/native/proxy-api.types.d.ts.map +1 -1
- package/dist/native/types.d.ts +6 -0
- package/dist/native/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/__tests__/datasource-runners.test.d.ts +0 -2
- package/dist/__tests__/datasource-runners.test.d.ts.map +0 -1
- package/dist/__tests__/datasource-runners.test.js +0 -354
- package/dist/__tests__/datasource-runners.test.js.map +0 -1
- package/dist/__tests__/datasource.test.d.ts +0 -2
- package/dist/__tests__/datasource.test.d.ts.map +0 -1
- package/dist/__tests__/datasource.test.js +0 -374
- package/dist/__tests__/datasource.test.js.map +0 -1
- package/dist/__tests__/decorators.test.d.ts +0 -2
- package/dist/__tests__/decorators.test.d.ts.map +0 -1
- package/dist/__tests__/decorators.test.js +0 -441
- package/dist/__tests__/decorators.test.js.map +0 -1
- package/dist/__tests__/extension-result-normalizer.test.d.ts +0 -2
- package/dist/__tests__/extension-result-normalizer.test.d.ts.map +0 -1
- package/dist/__tests__/extension-result-normalizer.test.js +0 -184
- package/dist/__tests__/extension-result-normalizer.test.js.map +0 -1
- package/dist/__tests__/function-input-validator.test.d.ts +0 -2
- package/dist/__tests__/function-input-validator.test.d.ts.map +0 -1
- package/dist/__tests__/function-input-validator.test.js +0 -56
- package/dist/__tests__/function-input-validator.test.js.map +0 -1
- package/dist/__tests__/native-client.test.d.ts +0 -2
- package/dist/__tests__/native-client.test.d.ts.map +0 -1
- package/dist/__tests__/native-client.test.js +0 -504
- package/dist/__tests__/native-client.test.js.map +0 -1
- package/dist/__tests__/proxy-api.test.d.ts +0 -2
- package/dist/__tests__/proxy-api.test.d.ts.map +0 -1
- package/dist/__tests__/proxy-api.test.js +0 -310
- package/dist/__tests__/proxy-api.test.js.map +0 -1
- package/dist/__tests__/sanitize-for-logging.test.d.ts +0 -2
- package/dist/__tests__/sanitize-for-logging.test.d.ts.map +0 -1
- package/dist/__tests__/sanitize-for-logging.test.js +0 -97
- package/dist/__tests__/sanitize-for-logging.test.js.map +0 -1
- package/dist/__tests__/signature.test.d.ts +0 -2
- package/dist/__tests__/signature.test.d.ts.map +0 -1
- package/dist/__tests__/signature.test.js +0 -172
- package/dist/__tests__/signature.test.js.map +0 -1
- package/dist/__tests__/testing-utils.test.d.ts +0 -2
- package/dist/__tests__/testing-utils.test.d.ts.map +0 -1
- package/dist/__tests__/testing-utils.test.js +0 -244
- package/dist/__tests__/testing-utils.test.js.map +0 -1
- package/dist/__tests__/token-manager.test.d.ts +0 -2
- package/dist/__tests__/token-manager.test.d.ts.map +0 -1
- package/dist/__tests__/token-manager.test.js +0 -528
- package/dist/__tests__/token-manager.test.js.map +0 -1
- package/dist/discovery/extension-discovery.service.test.d.ts +0 -2
- package/dist/discovery/extension-discovery.service.test.d.ts.map +0 -1
- package/dist/discovery/extension-discovery.service.test.js +0 -116
- package/dist/discovery/extension-discovery.service.test.js.map +0 -1
- package/dist/nestjs/channel-app.controller.test.d.ts +0 -2
- package/dist/nestjs/channel-app.controller.test.d.ts.map +0 -1
- package/dist/nestjs/channel-app.controller.test.js +0 -37
- package/dist/nestjs/channel-app.controller.test.js.map +0 -1
- package/dist/nestjs/channel-app.service.test.d.ts +0 -2
- package/dist/nestjs/channel-app.service.test.d.ts.map +0 -1
- package/dist/nestjs/channel-app.service.test.js +0 -583
- package/dist/nestjs/channel-app.service.test.js.map +0 -1
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
import { createRequire } from "node:module";
|
|
2
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
-
import { BigQueryDataSourceExecutor, DataSourceErrorCode, PostgresDataSourceExecutor, queryWithRowLimit, validateReadOnlyQuery, writeRowsAsArrowIpcBatch, } from "../datasource/index.js";
|
|
4
|
-
describe("datasource policy helpers", () => {
|
|
5
|
-
it("validates read-only queries and wraps row limits", () => {
|
|
6
|
-
expect(() => validateReadOnlyQuery("select * from orders", [], [{ name: "orders" }])).not.toThrow();
|
|
7
|
-
expect(() => validateReadOnlyQuery("SELECT\n COUNT(*) AS order_count\nFROM orders", ["orders"], [{ name: "orders" }])).not.toThrow();
|
|
8
|
-
expect(() => validateReadOnlyQuery("WITH\n recent_orders AS (SELECT id FROM orders)\nSELECT COUNT(*) FROM recent_orders", ["orders"], [{ name: "orders" }])).not.toThrow();
|
|
9
|
-
expect(() => validateReadOnlyQuery("delete from orders", [], [{ name: "orders" }])).toThrow("read-only SELECT");
|
|
10
|
-
expect(queryWithRowLimit("select * from orders;", 10)).toBe("SELECT * FROM (select * from orders) AS datasource_query LIMIT 10");
|
|
11
|
-
expect(queryWithRowLimit(`select * from orders${";".repeat(10_000)}`, 10)).toBe("SELECT * FROM (select * from orders) AS datasource_query LIMIT 10");
|
|
12
|
-
expect(queryWithRowLimit("WITH RECURSIVE seq AS (SELECT 1 AS n UNION ALL SELECT n + 1 FROM seq WHERE n < 3) SELECT * FROM seq;", 10)).toBe("WITH RECURSIVE seq AS (SELECT 1 AS n UNION ALL SELECT n + 1 FROM seq WHERE n < 3) SELECT * FROM (SELECT * FROM seq) AS datasource_query LIMIT 10");
|
|
13
|
-
expect(queryWithRowLimit("WITH /* recursive query */ RECURSIVE seq AS (SELECT 1 AS n)\n-- final query\nSELECT * FROM seq", 10)).toBe("WITH /* recursive query */ RECURSIVE seq AS (SELECT 1 AS n)\n-- final query\nSELECT * FROM (SELECT * FROM seq) AS datasource_query LIMIT 10");
|
|
14
|
-
});
|
|
15
|
-
it("accepts comments and literals in read-only queries", () => {
|
|
16
|
-
const queries = [
|
|
17
|
-
"-- generated query; do not update\nSELECT * FROM orders",
|
|
18
|
-
"# generated query; do not delete\nSELECT * FROM orders",
|
|
19
|
-
"/* generated query; do not insert */\nSELECT * FROM orders",
|
|
20
|
-
"SELECT * /* delete; update */ FROM orders -- drop;\n",
|
|
21
|
-
"SELECT 'delete; update' AS note FROM orders",
|
|
22
|
-
"SELECT 'don''t delete; update' AS note FROM orders",
|
|
23
|
-
"SELECT $$delete; update$$ AS note FROM orders",
|
|
24
|
-
"SELECT * FROM `project.dataset.orders`",
|
|
25
|
-
];
|
|
26
|
-
for (const query of queries) {
|
|
27
|
-
expect(() => validateReadOnlyQuery(query, [], [{ name: "orders" }])).not.toThrow();
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
it("rejects executable writes hidden after comments and literals", () => {
|
|
31
|
-
const queries = [
|
|
32
|
-
"-- generated query\nUPDATE orders SET id = 'x'",
|
|
33
|
-
"SELECT * FROM orders; DELETE FROM orders",
|
|
34
|
-
"WITH changed AS (UPDATE orders SET id = 'x') SELECT * FROM changed",
|
|
35
|
-
"SELECT * FROM orders /* unfinished",
|
|
36
|
-
"SELECT * FROM orders; -- wrapper would be invalid",
|
|
37
|
-
"SELECT payload #>> '{path}' FROM orders; DELETE FROM orders",
|
|
38
|
-
"SELECT 1 /* /* */ ; DELETE FROM orders */",
|
|
39
|
-
"SELECT 'a\\'' AS note FROM orders",
|
|
40
|
-
];
|
|
41
|
-
for (const query of queries) {
|
|
42
|
-
expect(() => validateReadOnlyQuery(query)).toThrow("read-only SELECT");
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
it("allows tableless queries with configured tables", () => {
|
|
46
|
-
for (const query of ["SELECT 'orders' AS note", "SELECT 1 /* FROM orders */"]) {
|
|
47
|
-
expect(() => validateReadOnlyQuery(query, [], [{ name: "orders" }])).not.toThrow();
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
it("defers table authorization and dialect syntax to App Store and the provider", () => {
|
|
51
|
-
for (const query of [
|
|
52
|
-
"SELECT * FROM customers",
|
|
53
|
-
"SELECT * FROM UNNEST([1, 2, 3])",
|
|
54
|
-
"SELECT * FROM (SELECT 1)",
|
|
55
|
-
]) {
|
|
56
|
-
expect(() => validateReadOnlyQuery(query, [], [{ name: "orders" }])).not.toThrow();
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
describe("Arrow row conversion", () => {
|
|
61
|
-
it("serializes row batches as schema and body frames", () => {
|
|
62
|
-
const sink = new CaptureSink();
|
|
63
|
-
const result = writeRowsAsArrowIpcBatch(sink, [
|
|
64
|
-
{ name: "id", dataTypeID: 23 },
|
|
65
|
-
{ name: "name", dataTypeID: 25 },
|
|
66
|
-
], [
|
|
67
|
-
[1, "alpha"],
|
|
68
|
-
[2, "beta"],
|
|
69
|
-
]);
|
|
70
|
-
expect(result.schemaSent).toBe(true);
|
|
71
|
-
expect(sink.schemas).toHaveLength(1);
|
|
72
|
-
expect(sink.batches.length).toBeGreaterThan(0);
|
|
73
|
-
const arrow = loadApacheArrowForTest();
|
|
74
|
-
const table = arrow.tableFromIPC(concatBytes([...sink.frames, arrowEos()]));
|
|
75
|
-
expect(table.numRows).toBe(2);
|
|
76
|
-
expect(table.schema.fields.map((field) => field.name)).toEqual(["id", "name"]);
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
describe("PostgresDataSourceExecutor", () => {
|
|
80
|
-
it("streams pg-query-stream rows in bounded Arrow batches", async () => {
|
|
81
|
-
const client = new FakePostgresClient([
|
|
82
|
-
[1, "first"],
|
|
83
|
-
[2, "second"],
|
|
84
|
-
[3, "third"],
|
|
85
|
-
]);
|
|
86
|
-
const executor = new PostgresDataSourceExecutor({
|
|
87
|
-
sources: [
|
|
88
|
-
{
|
|
89
|
-
sourceId: "postgresql",
|
|
90
|
-
pool: { connect: async () => client },
|
|
91
|
-
tables: [{ name: "orders" }],
|
|
92
|
-
batchSize: 2,
|
|
93
|
-
},
|
|
94
|
-
],
|
|
95
|
-
});
|
|
96
|
-
const sink = new CaptureSink();
|
|
97
|
-
await executor.executeQuery({
|
|
98
|
-
session: { channelId: "channel-1" },
|
|
99
|
-
sourceId: "postgresql",
|
|
100
|
-
query: "select * from orders",
|
|
101
|
-
rowLimit: 100,
|
|
102
|
-
byteLimit: 1024 * 1024,
|
|
103
|
-
timeoutMs: 1000,
|
|
104
|
-
}, sink);
|
|
105
|
-
expect(client.sqlQueries).toEqual([
|
|
106
|
-
"BEGIN READ ONLY",
|
|
107
|
-
"SET LOCAL statement_timeout = 1000",
|
|
108
|
-
"COMMIT",
|
|
109
|
-
]);
|
|
110
|
-
expect(client.streamQueryText).toBe("SELECT * FROM (select * from orders) AS datasource_query LIMIT 100");
|
|
111
|
-
expect(sink.schemas).toHaveLength(1);
|
|
112
|
-
expect(sink.batches.length).toBeGreaterThanOrEqual(2);
|
|
113
|
-
expect(sink.results).toEqual([{ rowCount: 3, limitExceeded: false }]);
|
|
114
|
-
});
|
|
115
|
-
it("uses PostgreSQL NUMERIC typmod for Arrow decimal precision and scale", async () => {
|
|
116
|
-
const client = new FakePostgresClient([["123.456789"]], [{ name: "amount", dataTypeID: 1700, dataTypeModifier: postgresNumericTypmod(20, 6) }]);
|
|
117
|
-
const executor = new PostgresDataSourceExecutor({
|
|
118
|
-
sources: [
|
|
119
|
-
{
|
|
120
|
-
sourceId: "postgresql",
|
|
121
|
-
pool: { connect: async () => client },
|
|
122
|
-
tables: [{ name: "orders" }],
|
|
123
|
-
},
|
|
124
|
-
],
|
|
125
|
-
});
|
|
126
|
-
const sink = new CaptureSink();
|
|
127
|
-
await executor.executeQuery({
|
|
128
|
-
sourceId: "postgresql",
|
|
129
|
-
query: "select amount from orders",
|
|
130
|
-
rowLimit: 10,
|
|
131
|
-
}, sink);
|
|
132
|
-
const arrow = loadApacheArrowForTest();
|
|
133
|
-
const table = arrow.tableFromIPC(concatBytes([...sink.frames, arrowEos()]));
|
|
134
|
-
const amountType = table.schema.fields[0]?.type;
|
|
135
|
-
expect(amountType).toMatchObject({ precision: 20, scale: 6, bitWidth: 128 });
|
|
136
|
-
expect(table.getChild("amount")?.get(0)?.valueOf(6)).toBe(123.456789);
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
describe("BigQueryDataSourceExecutor", () => {
|
|
140
|
-
it("runs a query job and relays BigQuery Storage Arrow chunks", async () => {
|
|
141
|
-
const job = new FakeBigQueryJob();
|
|
142
|
-
const bigQueryClient = new FakeBigQueryClient(job);
|
|
143
|
-
const readClient = new FakeBigQueryReadClient();
|
|
144
|
-
const executor = new BigQueryDataSourceExecutor({
|
|
145
|
-
projectId: "project-1",
|
|
146
|
-
bigQueryClient,
|
|
147
|
-
readClient,
|
|
148
|
-
sources: [
|
|
149
|
-
{
|
|
150
|
-
sourceId: "bigquery",
|
|
151
|
-
datasetId: "app_cafe24",
|
|
152
|
-
maximumBytesBilled: "1048576",
|
|
153
|
-
tables: [{ name: "orders" }],
|
|
154
|
-
},
|
|
155
|
-
],
|
|
156
|
-
});
|
|
157
|
-
const sink = new CaptureSink();
|
|
158
|
-
await executor.executeQuery({
|
|
159
|
-
session: { channelId: "channel-1" },
|
|
160
|
-
sourceId: "bigquery",
|
|
161
|
-
query: "select * from orders",
|
|
162
|
-
rowLimit: 10,
|
|
163
|
-
byteLimit: 1024 * 1024,
|
|
164
|
-
timeoutMs: 2000,
|
|
165
|
-
}, sink);
|
|
166
|
-
expect(bigQueryClient.options?.query).toBe("SELECT * FROM (select * from orders) AS datasource_query LIMIT 10");
|
|
167
|
-
expect(bigQueryClient.options?.maximumBytesBilled).toBe("1048576");
|
|
168
|
-
expect(readClient.createReadSessionRequest?.readSession.table).toBe("projects/project-1/datasets/_anon/tables/job_result");
|
|
169
|
-
expect(sink.schemas).toHaveLength(1);
|
|
170
|
-
expect(sink.batches).toHaveLength(2);
|
|
171
|
-
expect(sink.results).toEqual([{ rowCount: 3, limitExceeded: false }]);
|
|
172
|
-
const arrow = loadApacheArrowForTest();
|
|
173
|
-
const table = arrow.tableFromIPC(concatBytes([...sink.frames, arrowEos()]));
|
|
174
|
-
expect(table.numRows).toBe(3);
|
|
175
|
-
expect(table.schema.fields.map((field) => field.name)).toEqual(["id"]);
|
|
176
|
-
});
|
|
177
|
-
it("maps BigQuery failures to external datasource errors", async () => {
|
|
178
|
-
const bigQueryClient = {
|
|
179
|
-
createQueryJob: async () => {
|
|
180
|
-
const error = new Error("denied");
|
|
181
|
-
error.code = "accessDenied";
|
|
182
|
-
throw error;
|
|
183
|
-
},
|
|
184
|
-
};
|
|
185
|
-
const executor = new BigQueryDataSourceExecutor({
|
|
186
|
-
projectId: "project-1",
|
|
187
|
-
bigQueryClient,
|
|
188
|
-
readClient: new FakeBigQueryReadClient(),
|
|
189
|
-
sources: [{ sourceId: "bigquery", datasetId: "app_cafe24" }],
|
|
190
|
-
});
|
|
191
|
-
await expect(executor.executeQuery({
|
|
192
|
-
session: { channelId: "channel-1" },
|
|
193
|
-
sourceId: "bigquery",
|
|
194
|
-
query: "select 1",
|
|
195
|
-
rowLimit: 10,
|
|
196
|
-
byteLimit: 100,
|
|
197
|
-
timeoutMs: 1000,
|
|
198
|
-
}, new CaptureSink())).rejects.toMatchObject({
|
|
199
|
-
code: DataSourceErrorCode.ExternalError,
|
|
200
|
-
upstream: { engine: "bigquery", code: "accessDenied" },
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
});
|
|
204
|
-
class CaptureSink {
|
|
205
|
-
frames = [];
|
|
206
|
-
schemas = [];
|
|
207
|
-
batches = [];
|
|
208
|
-
batchMessages = [];
|
|
209
|
-
results = [];
|
|
210
|
-
send(chunk) {
|
|
211
|
-
const header = chunk.arrow?.dataHeader;
|
|
212
|
-
const body = chunk.arrow?.dataBody;
|
|
213
|
-
if (header) {
|
|
214
|
-
this.frames.push(header);
|
|
215
|
-
if (!body) {
|
|
216
|
-
this.schemas.push(header);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
if (body) {
|
|
220
|
-
this.frames.push(body);
|
|
221
|
-
this.batches.push(body);
|
|
222
|
-
if (header) {
|
|
223
|
-
this.batchMessages.push(concatBytes([header, body]));
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
if (chunk.result) {
|
|
227
|
-
this.results.push({
|
|
228
|
-
rowCount: chunk.result.rowCount ?? 0,
|
|
229
|
-
limitExceeded: chunk.result.limitExceeded ?? false,
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
class FakePostgresClient {
|
|
235
|
-
rows;
|
|
236
|
-
fields;
|
|
237
|
-
sqlQueries = [];
|
|
238
|
-
streamQueryText;
|
|
239
|
-
constructor(rows, fields = [
|
|
240
|
-
{ name: "id", dataTypeID: 23 },
|
|
241
|
-
{ name: "name", dataTypeID: 25 },
|
|
242
|
-
]) {
|
|
243
|
-
this.rows = rows;
|
|
244
|
-
this.fields = fields;
|
|
245
|
-
}
|
|
246
|
-
query(query) {
|
|
247
|
-
if (typeof query === "string") {
|
|
248
|
-
this.sqlQueries.push(query);
|
|
249
|
-
return Promise.resolve();
|
|
250
|
-
}
|
|
251
|
-
const queryStream = query;
|
|
252
|
-
if (queryStream.cursor?.text) {
|
|
253
|
-
this.streamQueryText = queryStream.cursor.text;
|
|
254
|
-
}
|
|
255
|
-
queryStream._result = {
|
|
256
|
-
fields: this.fields,
|
|
257
|
-
};
|
|
258
|
-
return asyncRows(this.rows);
|
|
259
|
-
}
|
|
260
|
-
release() { }
|
|
261
|
-
}
|
|
262
|
-
class FakeBigQueryClient {
|
|
263
|
-
job;
|
|
264
|
-
options;
|
|
265
|
-
constructor(job) {
|
|
266
|
-
this.job = job;
|
|
267
|
-
}
|
|
268
|
-
async createQueryJob(options) {
|
|
269
|
-
this.options = options;
|
|
270
|
-
return [this.job];
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
class FakeBigQueryJob {
|
|
274
|
-
async getQueryResults() {
|
|
275
|
-
return undefined;
|
|
276
|
-
}
|
|
277
|
-
async getMetadata() {
|
|
278
|
-
return [
|
|
279
|
-
{
|
|
280
|
-
configuration: {
|
|
281
|
-
query: {
|
|
282
|
-
destinationTable: {
|
|
283
|
-
projectId: "project-1",
|
|
284
|
-
datasetId: "_anon",
|
|
285
|
-
tableId: "job_result",
|
|
286
|
-
},
|
|
287
|
-
},
|
|
288
|
-
},
|
|
289
|
-
},
|
|
290
|
-
];
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
class FakeBigQueryReadClient {
|
|
294
|
-
arrow = arrowStorageMessagesForTest();
|
|
295
|
-
createReadSessionRequest;
|
|
296
|
-
async createReadSession(request) {
|
|
297
|
-
this.createReadSessionRequest = request;
|
|
298
|
-
return [
|
|
299
|
-
{
|
|
300
|
-
arrowSchema: { serializedSchema: this.arrow.schema },
|
|
301
|
-
streams: [{ name: "stream-1" }],
|
|
302
|
-
},
|
|
303
|
-
];
|
|
304
|
-
}
|
|
305
|
-
readRows() {
|
|
306
|
-
const [firstBatch, secondBatch] = this.arrow.batches;
|
|
307
|
-
if (!firstBatch || !secondBatch) {
|
|
308
|
-
throw new Error("BigQuery Arrow test batches are missing");
|
|
309
|
-
}
|
|
310
|
-
return asyncRows([
|
|
311
|
-
{ arrowRecordBatch: { serializedRecordBatch: firstBatch }, rowCount: 2 },
|
|
312
|
-
{ arrowRecordBatch: { serializedRecordBatch: secondBatch }, rowCount: 1 },
|
|
313
|
-
]);
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
function arrowStorageMessagesForTest() {
|
|
317
|
-
const first = new CaptureSink();
|
|
318
|
-
writeRowsAsArrowIpcBatch(first, [{ name: "id", dataTypeID: 23 }], [[1], [2]]);
|
|
319
|
-
const second = new CaptureSink();
|
|
320
|
-
writeRowsAsArrowIpcBatch(second, [{ name: "id", dataTypeID: 23 }], [[3]]);
|
|
321
|
-
const schema = first.schemas[0];
|
|
322
|
-
const firstBatch = first.batchMessages[0];
|
|
323
|
-
const secondBatch = second.batchMessages[0];
|
|
324
|
-
if (!schema || !firstBatch || !secondBatch) {
|
|
325
|
-
throw new Error("failed to build Arrow IPC test messages");
|
|
326
|
-
}
|
|
327
|
-
return { schema, batches: [firstBatch, secondBatch] };
|
|
328
|
-
}
|
|
329
|
-
async function* asyncRows(rows) {
|
|
330
|
-
for (const row of rows) {
|
|
331
|
-
yield row;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
function concatBytes(chunks) {
|
|
335
|
-
const total = chunks.reduce((sum, chunk) => sum + chunk.byteLength, 0);
|
|
336
|
-
const out = new Uint8Array(total);
|
|
337
|
-
let offset = 0;
|
|
338
|
-
for (const chunk of chunks) {
|
|
339
|
-
out.set(chunk, offset);
|
|
340
|
-
offset += chunk.byteLength;
|
|
341
|
-
}
|
|
342
|
-
return out;
|
|
343
|
-
}
|
|
344
|
-
function arrowEos() {
|
|
345
|
-
return new Uint8Array([255, 255, 255, 255, 0, 0, 0, 0]);
|
|
346
|
-
}
|
|
347
|
-
function postgresNumericTypmod(precision, scale) {
|
|
348
|
-
return ((precision << 16) | scale) + 4;
|
|
349
|
-
}
|
|
350
|
-
function loadApacheArrowForTest() {
|
|
351
|
-
const require = createRequire(import.meta.url);
|
|
352
|
-
return require("apache-arrow");
|
|
353
|
-
}
|
|
354
|
-
//# sourceMappingURL=datasource-runners.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datasource-runners.test.js","sourceRoot":"","sources":["../../src/__tests__/datasource-runners.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datasource.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/datasource.test.ts"],"names":[],"mappings":""}
|