@milaboratories/pl-middle-layer 1.37.3 → 1.37.4

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.
@@ -16,6 +16,15 @@ export interface InternalPFrameDriver extends SdkPFrameDriver {
16
16
  calculateTableData(handle: PFrameHandle, request: CalculateTableDataRequest<PObjectId>, signal?: AbortSignal): Promise<CalculateTableDataResponse>;
17
17
  /** Calculate set of unique values for a specific axis for the filtered set of records */
18
18
  getUniqueValues(handle: PFrameHandle, request: UniqueValuesRequest, signal?: AbortSignal): Promise<UniqueValuesResponse>;
19
+ /**
20
+ * Retrieve the data from the table. To retrieve only data required, it can be
21
+ * sliced both horizontally ({@link columnIndices}) and vertically
22
+ * ({@link range}).
23
+ *
24
+ * @param columnIndices unified indices of columns to be retrieved
25
+ * @param range optionally limit the range of records to retrieve
26
+ * */
27
+ getData(handle: PTableHandle, columnIndices: number[], range: TableRange | undefined, signal?: AbortSignal): Promise<PTableVector[]>;
19
28
  }
20
29
  export declare class PFrameDriver implements InternalPFrameDriver {
21
30
  private readonly blobDriver;
@@ -35,6 +44,6 @@ export declare class PFrameDriver implements InternalPFrameDriver {
35
44
  getUniqueValues(handle: PFrameHandle, request: UniqueValuesRequest, signal?: AbortSignal): Promise<UniqueValuesResponse>;
36
45
  getShape(handle: PTableHandle): Promise<PTableShape>;
37
46
  getSpec(handle: PTableHandle): Promise<PTableColumnSpec[]>;
38
- getData(handle: PTableHandle, columnIndices: number[], range?: TableRange): Promise<PTableVector[]>;
47
+ getData(handle: PTableHandle, columnIndices: number[], range: TableRange | undefined, signal?: AbortSignal): Promise<PTableVector[]>;
39
48
  }
40
49
  //# sourceMappingURL=driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/pool/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/pool/driver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pl-middle-layer",
3
- "version": "1.37.3",
3
+ "version": "1.37.4",
4
4
  "description": "Pl Middle Layer",
5
5
  "engines": {
6
6
  "node": ">=20.16.0"
@@ -22,7 +22,7 @@
22
22
  "keywords": [],
23
23
  "license": "UNLICENSED",
24
24
  "dependencies": {
25
- "@milaboratories/pframes-rs-node": "1.0.29",
25
+ "@milaboratories/pframes-rs-node": "1.0.31",
26
26
  "canonicalize": "~2.1.0",
27
27
  "denque": "^2.1.0",
28
28
  "lru-cache": "^11.1.0",
@@ -32,22 +32,22 @@
32
32
  "yaml": "^2.7.0",
33
33
  "zod": "~3.23.8",
34
34
  "remeda": "^2.21.2",
35
- "@milaboratories/resolve-helper": "^1.1.0",
36
35
  "@milaboratories/pl-http": "^1.1.2",
36
+ "@milaboratories/resolve-helper": "^1.1.0",
37
+ "@milaboratories/pl-drivers": "^1.5.50",
37
38
  "@milaboratories/computable": "^2.4.7",
39
+ "@platforma-sdk/block-tools": "^2.5.44",
38
40
  "@milaboratories/pl-client": "^2.9.0",
39
- "@platforma-sdk/block-tools": "^2.5.43",
40
- "@milaboratories/pl-drivers": "^1.5.50",
41
41
  "@milaboratories/pl-model-common": "^1.14.0",
42
+ "@milaboratories/pl-model-middle-layer": "^1.7.29",
42
43
  "@milaboratories/pl-model-backend": "^1.1.0",
43
- "@milaboratories/pl-model-middle-layer": "^1.7.28",
44
44
  "@platforma-sdk/model": "^1.30.3",
45
- "@platforma-sdk/workflow-tengo": "4.2.0",
45
+ "@milaboratories/ts-helpers": "^1.2.0",
46
46
  "@milaboratories/pl-tree": "^1.6.0",
47
47
  "@milaboratories/pl-config": "^1.4.9",
48
+ "@platforma-sdk/workflow-tengo": "4.2.0",
48
49
  "@milaboratories/pl-deployments": "^2.1.2",
49
- "@milaboratories/pl-errors": "^1.0.9",
50
- "@milaboratories/ts-helpers": "^1.2.0"
50
+ "@milaboratories/pl-errors": "^1.0.9"
51
51
  },
52
52
  "devDependencies": {
53
53
  "semver": "^7.6.3",
@@ -60,8 +60,8 @@
60
60
  "jest": "^29.7.0",
61
61
  "@jest/globals": "^29.7.0",
62
62
  "ts-jest": "^29.2.6",
63
- "@milaboratories/platforma-build-configs": "1.0.3",
64
- "@milaboratories/eslint-config": "^1.0.4"
63
+ "@milaboratories/eslint-config": "^1.0.4",
64
+ "@milaboratories/platforma-build-configs": "1.0.3"
65
65
  },
66
66
  "scripts": {
67
67
  "type-check": "tsc --noEmit --composite false",
@@ -84,7 +84,7 @@ function migrateFilters(filters: PTableRecordFilter[]): PTableRecordFilter[] {
84
84
  const bigintReplacer = (_: string, v: unknown) => (typeof v === 'bigint' ? v.toString() : v);
85
85
 
86
86
  class PFrameHolder implements PFrameInternal.PFrameDataSource, Disposable {
87
- public readonly pFrame: PFrameInternal.PFrameV4;
87
+ public readonly pFrame: PFrameInternal.PFrameV5;
88
88
  private readonly blobIdToResource = new Map<string, ResourceInfo>();
89
89
  private readonly blobHandleComputables = new Map<
90
90
  string,
@@ -174,7 +174,7 @@ class PFrameHolder implements PFrameInternal.PFrameDataSource, Disposable {
174
174
 
175
175
  class PTableHolder implements Disposable {
176
176
  constructor(
177
- public readonly table: Promise<PFrameInternal.PTableV3>,
177
+ public readonly table: Promise<PFrameInternal.PTableV4>,
178
178
  ) {}
179
179
 
180
180
  [Symbol.dispose](): void {
@@ -219,6 +219,21 @@ export interface InternalPFrameDriver extends SdkPFrameDriver {
219
219
  request: UniqueValuesRequest,
220
220
  signal?: AbortSignal
221
221
  ): Promise<UniqueValuesResponse>;
222
+
223
+ /**
224
+ * Retrieve the data from the table. To retrieve only data required, it can be
225
+ * sliced both horizontally ({@link columnIndices}) and vertically
226
+ * ({@link range}).
227
+ *
228
+ * @param columnIndices unified indices of columns to be retrieved
229
+ * @param range optionally limit the range of records to retrieve
230
+ * */
231
+ getData(
232
+ handle: PTableHandle,
233
+ columnIndices: number[],
234
+ range: TableRange | undefined,
235
+ signal?: AbortSignal,
236
+ ): Promise<PTableVector[]>;
222
237
  }
223
238
 
224
239
  export class PFrameDriver implements InternalPFrameDriver {
@@ -421,7 +436,7 @@ export class PFrameDriver implements InternalPFrameDriver {
421
436
  }).then(async (table) => {
422
437
  try {
423
438
  const spec = table.getSpec();
424
- const data = await this.concurrencyLimiter.run(async () => await table.getData([...spec.keys()]));
439
+ const data = await this.concurrencyLimiter.run(async () => await table.getData([...spec.keys()], undefined, signal));
425
440
  return spec.map((spec, i) => ({
426
441
  spec: spec,
427
442
  data: data[i],
@@ -467,10 +482,11 @@ export class PFrameDriver implements InternalPFrameDriver {
467
482
  public async getData(
468
483
  handle: PTableHandle,
469
484
  columnIndices: number[],
470
- range?: TableRange,
485
+ range: TableRange | undefined,
486
+ signal?: AbortSignal,
471
487
  ): Promise<PTableVector[]> {
472
488
  const pTable = await this.pTables.getByKey(handle).table;
473
- return await this.concurrencyLimiter.run(async () => await pTable.getData(columnIndices, range));
489
+ return await this.concurrencyLimiter.run(async () => await pTable.getData(columnIndices, range, signal));
474
490
  }
475
491
  }
476
492