diff --git a/benchmarking/src/app/dbm-context/parallel-memory-dbm-context.tsx b/benchmarking/src/app/dbm-context/parallel-memory-dbm-context.tsx index 9deebb7..540c4e3 100644 --- a/benchmarking/src/app/dbm-context/parallel-memory-dbm-context.tsx +++ b/benchmarking/src/app/dbm-context/parallel-memory-dbm-context.tsx @@ -15,7 +15,7 @@ export const ParallelMemoryDBMProvider = ({ }: { children: JSX.Element; }) => { - const [dbm, setdbm] = useState(null); + const [dbm, setdbm] = useState | null>(null); const instanceManagerRef = useRef(new InstanceManager()); const fileManagerRef = useRef( new ParallelMemoryFileManager({ diff --git a/benchmarking/src/app/hooks/dbm-context.tsx b/benchmarking/src/app/hooks/dbm-context.tsx index 6ec8818..ff3e86a 100644 --- a/benchmarking/src/app/hooks/dbm-context.tsx +++ b/benchmarking/src/app/hooks/dbm-context.tsx @@ -1,13 +1,17 @@ import { DBM, DBMParallel, FileManagerType } from '@devrev/meerkat-dbm'; import React from 'react'; -export const DBMContext = React.createContext<{ - dbm: DBM | DBMParallel; +export type DBMContextType = { + dbm: DBM | DBMParallel; fileManager: FileManagerType; -}>(null as any); +}; + +export const DBMContext = React.createContext | undefined>( + undefined +); -export const useDBM = () => { - const context = React.useContext(DBMContext); +export const useDBM = () => { + const context = React.useContext(DBMContext) as DBMContextType | undefined; if (context === undefined) { throw new Error('useDBM must be used within a DBMProvider'); } diff --git a/meerkat-browser-runner/src/app/app.tsx b/meerkat-browser-runner/src/app/app.tsx index 3004c80..b6610f9 100644 --- a/meerkat-browser-runner/src/app/app.tsx +++ b/meerkat-browser-runner/src/app/app.tsx @@ -6,7 +6,7 @@ import { FileManagerType, getMainAppName, getRunnerAppName, - RunnerIndexedDBFileManager, + RunnerMemoryDBFileManager, WindowCommunication, } from '@devrev/meerkat-dbm'; @@ -72,7 +72,7 @@ export function App() { } if (!fileManagerRef.current) { - fileManagerRef.current = new RunnerIndexedDBFileManager({ + fileManagerRef.current = new RunnerMemoryDBFileManager({ instanceManager: instanceManagerRef.current, fetchTableFileBuffers: async () => [], logger: log, @@ -82,6 +82,7 @@ export function App() { payload: event, }); }, + communication: communicationRef.current, }); } diff --git a/meerkat-dbm/package.json b/meerkat-dbm/package.json index bd11c12..435000b 100644 --- a/meerkat-dbm/package.json +++ b/meerkat-dbm/package.json @@ -1,6 +1,6 @@ { "name": "@devrev/meerkat-dbm", - "version": "0.1.1", + "version": "0.1.2", "dependencies": { "tslib": "^2.3.0", "@devrev/duckdb-wasm": "1.14.3", diff --git a/meerkat-dbm/src/dbm/dbm-parallel/dbm-parallel.ts b/meerkat-dbm/src/dbm/dbm-parallel/dbm-parallel.ts index 2bce170..9e773d2 100644 --- a/meerkat-dbm/src/dbm/dbm-parallel/dbm-parallel.ts +++ b/meerkat-dbm/src/dbm/dbm-parallel/dbm-parallel.ts @@ -21,8 +21,8 @@ const roundRobin = (counter: number, maxValue: number): number => { return counter + 1; }; -export class DBMParallel { - private fileManager: FileManagerType; +export class DBMParallel { + private fileManager: FileManagerType; private logger: DBMLogger; private tableLockRegistry: Record = {}; @@ -42,7 +42,7 @@ export class DBMParallel { instanceManager, onDuckDBShutdown, iFrameRunnerManager, - }: DBMConstructorOptions & { + }: DBMConstructorOptions & { iFrameRunnerManager: IFrameRunnerManager; }) { this.fileManager = fileManager; diff --git a/meerkat-dbm/src/file-manager/indexed-db/indexed-db-file-manager.ts b/meerkat-dbm/src/file-manager/indexed-db/indexed-db-file-manager.ts index a47d277..dcb661b 100644 --- a/meerkat-dbm/src/file-manager/indexed-db/indexed-db-file-manager.ts +++ b/meerkat-dbm/src/file-manager/indexed-db/indexed-db-file-manager.ts @@ -228,7 +228,7 @@ export class IndexedDBFileManager implements FileManagerType { async mountFileBufferByTables(tables: TableConfig[]): Promise { const tableData = await this.getFilesNameForTables(tables); - console.log('tableData', tableData); + /** * Check if the file registered size is not more than the limit * If it is more than the limit, then remove the files which are not needed while mounting this the tables @@ -245,7 +245,7 @@ export class IndexedDBFileManager implements FileManagerType { const filesList = _filesList.filter( (fileName) => !this.fileRegisterer.isFileRegisteredInDB(fileName) ); - console.log('filesList', filesList); + const uniqueFileNames = Array.from(new Set(filesList)); const filesData = await this.indexedDB?.files.bulkGet(uniqueFileNames); @@ -267,12 +267,12 @@ export class IndexedDBFileManager implements FileManagerType { async getTableData(table: TableConfig): Promise { const tableData = await this.indexedDB.tablesKey.get(table.name); - if (!tableData) return undefined; + if (!tableData) return undefined; - return { - ...tableData, - files: getFilesByPartition(tableData?.files ?? [], table.partitions), - }; + return { + ...tableData, + files: getFilesByPartition(tableData?.files ?? [], table.partitions), + }; } async setTableMetadata(tableName: string, metadata: object): Promise { diff --git a/meerkat-dbm/src/file-manager/indexed-db/runner-indexed-db-file-manager.ts b/meerkat-dbm/src/file-manager/indexed-db/runner-indexed-db-file-manager.ts index e4ff265..53656d0 100644 --- a/meerkat-dbm/src/file-manager/indexed-db/runner-indexed-db-file-manager.ts +++ b/meerkat-dbm/src/file-manager/indexed-db/runner-indexed-db-file-manager.ts @@ -14,10 +14,6 @@ export class RunnerIndexedDBFileManager super(options); } - override async initializeDB(): Promise { - return; - } - override async bulkRegisterFileBuffer( fileBuffers: FileBufferStore[] ): Promise {