Skip to content

Commit 640af75

Browse files
authored
chore: refactor tablewisefiles to table (#152)
* refactor prequery * fix: test * update: test
1 parent 636add9 commit 640af75

File tree

19 files changed

+91
-97
lines changed

19 files changed

+91
-97
lines changed

benchmarking/public/runner/memory-runner.html

Lines changed: 15 additions & 17 deletions
Large diffs are not rendered by default.

benchmarking/src/app/dbm-context/parallel-indexed-dbm-context.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import {
22
DBMParallel,
33
IFrameRunnerManager,
44
ParallelIndexedDBFileManager,
5+
Table,
56
} from '@devrev/meerkat-dbm';
67
import log from 'loglevel';
7-
import { TableWiseFiles } from 'meerkat-dbm/src/types/common-types';
88
import { useRef, useState } from 'react';
99
import { DBMContext } from '../hooks/dbm-context';
1010
import { useClassicEffect } from '../hooks/use-classic-effect';
@@ -45,14 +45,14 @@ export const ParallelIndexedDBMProvider = ({
4545
fetchTableFileBuffers: async (table) => {
4646
return [];
4747
},
48-
fetchPreQuery: (runnerId: string, tableWiseFiles: TableWiseFiles[]) => {
48+
fetchPreQuery: (runnerId: string, tables: Table[]) => {
4949
const preQueries: string[] = [];
5050

51-
for (const tableWiseFile of tableWiseFiles) {
51+
for (const tableData of tables) {
5252
preQueries.push(
5353
generateViewQuery(
54-
tableWiseFile.tableName,
55-
tableWiseFile.files.map((file) => file.fileName)
54+
tableData.tableName,
55+
tableData.files.map((file) => file.fileName)
5656
)
5757
);
5858
}

benchmarking/src/app/dbm-context/parallel-memory-dbm-context.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import {
22
DBMParallel,
33
IFrameRunnerManager,
44
ParallelMemoryFileManager,
5+
Table,
56
} from '@devrev/meerkat-dbm';
67
import log from 'loglevel';
7-
import { TableWiseFiles } from 'meerkat-dbm/src/types/common-types';
88
import { useRef, useState } from 'react';
99
import { DBMContext } from '../hooks/dbm-context';
1010
import { useClassicEffect } from '../hooks/use-classic-effect';
@@ -45,14 +45,14 @@ export const ParallelMemoryDBMProvider = ({
4545
fetchTableFileBuffers: async (table) => {
4646
return fileManagerRef.current.getTableBufferData(table);
4747
},
48-
fetchPreQuery: (runnerId: string, tableWiseFiles: TableWiseFiles[]) => {
48+
fetchPreQuery: (runnerId: string, tables: Table[]) => {
4949
const preQueries: string[] = [];
5050

51-
for (const tableWiseFile of tableWiseFiles) {
51+
for (const tableData of tables) {
5252
preQueries.push(
5353
generateViewQuery(
54-
tableWiseFile.tableName,
55-
tableWiseFile.files.map((file) => file.fileName)
54+
tableData.tableName,
55+
tableData.files.map((file) => file.fileName)
5656
)
5757
);
5858
}

benchmarking/src/app/query-benchmarking/query-benchmarking.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { TableWiseFiles } from 'meerkat-dbm/src/types';
1+
import { Table } from '@devrev/meerkat-dbm';
22
import { useMemo, useState } from 'react';
33
import { TEST_QUERIES } from '../constants';
44
import { useDBM } from '../hooks/dbm-context';
@@ -17,8 +17,8 @@ export const QueryBenchmarking = () => {
1717

1818
const preQuery = useMemo(
1919
() =>
20-
async (tablesFileData: TableWiseFiles[]): Promise<void> => {
21-
for (const table of tablesFileData) {
20+
async (tables: Table[]): Promise<void> => {
21+
for (const table of tables) {
2222
let filePaths: string[] = [];
2323

2424
if (fileManagerType === 'native' && window.api) {

meerkat-browser-runner/src/app/app.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
} from '@devrev/meerkat-dbm';
1212

1313
import log from 'loglevel';
14-
import { TableWiseFiles } from 'meerkat-dbm/src/types';
14+
import { Table } from 'meerkat-dbm/src/types';
1515
import { useEffect, useRef, useState } from 'react';
1616
import { InstanceManager } from './duck-db/instance-manager';
1717

@@ -110,13 +110,13 @@ export function App() {
110110
...message.message.payload,
111111
options: {
112112
...message.message.payload.options,
113-
preQuery: async (tableWiseFiles: TableWiseFiles[]) => {
113+
preQuery: async (tables: Table[]) => {
114114
const preQueryMessage =
115115
await communicationRef.current?.sendRequest<string[]>({
116116
type: BROWSER_RUNNER_TYPE.RUNNER_PRE_QUERY,
117117
payload: {
118118
runnerId: uuid,
119-
tableWiseFiles: tableWiseFiles,
119+
tables: tables,
120120
},
121121
});
122122

meerkat-dbm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@devrev/meerkat-dbm",
3-
"version": "0.1.31",
3+
"version": "0.1.32",
44
"dependencies": {
55
"tslib": "^2.3.0",
66
"@duckdb/duckdb-wasm": "1.28.1-dev258.0",

meerkat-dbm/src/dbm/__test__/dbm.spec.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
FileJsonStore,
55
FileManagerType,
66
} from '../../file-manager/file-manager-type';
7-
import { FileData, Table, TableWiseFiles } from '../../types';
7+
import { FileData, Table } from '../../types';
88
import { DBM } from '../dbm';
99
import { DBMConstructorOptions, TableConfig } from '../types';
1010
import { InstanceManager } from './mock';
@@ -77,10 +77,8 @@ export class MockFileManager implements FileManagerType {
7777
}
7878
}
7979

80-
async getFilesNameForTables(
81-
tableNames: TableConfig[]
82-
): Promise<TableWiseFiles[]> {
83-
const data: TableWiseFiles[] = [];
80+
async getFilesNameForTables(tableNames: TableConfig[]): Promise<Table[]> {
81+
const data: Table[] = [];
8482

8583
for (const { name: tableName } of tableNames) {
8684
const files: FileData[] = [];

meerkat-dbm/src/dbm/dbm-parallel/runner-manager.ts

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { FileBufferStore } from '../../file-manager/file-manager-type';
22
import { DBMEvent, DBMLogger } from '../../logger';
3-
import { TableWiseFiles } from '../../types';
3+
import { Table } from '../../types';
44
import {
55
BROWSER_RUNNER_TYPE,
66
BrowserRunnerMessage,
@@ -13,10 +13,7 @@ export interface IFrameRunnerManagerConstructor {
1313
runnerURL: string;
1414
origin: string;
1515
fetchTableFileBuffers: (tables: TableConfig[]) => Promise<FileBufferStore[]>;
16-
fetchPreQuery: (
17-
runnerId: string,
18-
tableWiseFiles: TableWiseFiles[]
19-
) => string[];
16+
fetchPreQuery: (runnerId: string, tables: Table[]) => string[];
2017
totalRunners: number;
2118
logger: DBMLogger;
2219
onEvent?: (event: DBMEvent) => void;
@@ -46,10 +43,7 @@ export class IFrameRunnerManager {
4643
private fetchTableFileBuffers: (
4744
tables: TableConfig[]
4845
) => Promise<FileBufferStore[]>;
49-
private fetchPreQuery: (
50-
runnerId: string,
51-
tableWiseFiles: TableWiseFiles[]
52-
) => string[];
46+
private fetchPreQuery: (runnerId: string, tables: Table[]) => string[];
5347

5448
constructor({
5549
runnerURL,
@@ -173,9 +167,9 @@ export class IFrameRunnerManager {
173167
return;
174168
}
175169

176-
const { tableWiseFiles } = message.message.payload;
170+
const { tables } = message.message.payload;
177171

178-
const preQueries = this.fetchPreQuery(runnerId, tableWiseFiles);
172+
const preQueries = this.fetchPreQuery(runnerId, tables);
179173

180174
manager.communication.sendResponse(message.uuid, preQueries);
181175
}

meerkat-dbm/src/dbm/types.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { AsyncDuckDBConnection } from '@duckdb/duckdb-wasm';
22
import { FileManagerType } from '../file-manager/file-manager-type';
33
import { DBMEvent, DBMLogger } from '../logger';
4-
import { TableWiseFiles } from '../types';
4+
import { Table } from '../types';
55
import { InstanceManagerType } from './instance-manager';
66

77
export interface DBMConstructorOptions {
@@ -66,9 +66,9 @@ export interface QueryOptions {
6666
/**
6767
* @description
6868
* A callback function which will be executed before the query is executed.
69-
* @param tableWiseFiles - An array of tables with associated file names.
69+
* @param tables - An array of tables with associated file names.
7070
*/
71-
preQuery?: (tableWiseFiles: TableWiseFiles[]) => Promise<void>;
71+
preQuery?: (tables: Table[]) => Promise<void>;
7272

7373
/**
7474
* @description

meerkat-dbm/src/file-manager/__tests__/indexed-db-file-manager.spec.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,4 +244,30 @@ describe('IndexedDBFileManager', () => {
244244
expect.arrayContaining(JSON_FILES.map((file) => file.fileName))
245245
);
246246
});
247+
248+
it('should get the files for tables', async () => {
249+
const metadata = {
250+
test: 'test',
251+
};
252+
253+
await fileManager.registerFileBuffer(fileBuffer);
254+
255+
await fileManager.setTableMetadata('taxi1', metadata);
256+
257+
const files = await fileManager.getFilesNameForTables([{ name: 'taxi1' }]);
258+
259+
expect(files).toEqual([
260+
{
261+
tableName: 'taxi1',
262+
files: [
263+
{
264+
fileName: 'taxi1.parquet',
265+
fileType: 'parquet',
266+
partitions: fileBuffer.partitions,
267+
},
268+
],
269+
metadata,
270+
},
271+
]);
272+
});
247273
});

0 commit comments

Comments
 (0)