Skip to content

Commit 52f2e7d

Browse files
authored
Merge pull request #56 from danielmsft/clean-log-lines
Clean log lines
2 parents c7cc245 + 07149f5 commit 52f2e7d

File tree

2 files changed

+32
-17
lines changed

2 files changed

+32
-17
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@microsoft/objectstoreprovider",
3-
"version": "0.6.43",
3+
"version": "0.6.44",
44
"description": "A cross-browser object store library",
55
"author": "Mukundan Kavanur Kidambi <[email protected]>",
66
"scripts": {

src/IndexedDbProvider.ts

+31-16
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,6 @@ export class IndexedDbProvider extends DbProvider {
178178

179179
this._lockHelper = new TransactionLockHelper(schema, true);
180180

181-
this.logWriter.log(`Opening db, version: ${schema.version}`, { dbName });
182181
const dbOpen = this._dbFactory.open(dbName, schema.version);
183182

184183
let migrationPutters: Promise<void>[] = [];
@@ -187,21 +186,22 @@ export class IndexedDbProvider extends DbProvider {
187186
const db: IDBDatabase = dbOpen.result;
188187
const target = <IDBOpenDBRequest>(event.currentTarget || event.target);
189188
const trans = target.transaction;
189+
// Differentiate between upgrade and new db
190+
let isActualUpgrade = false;
190191

191192
if (!trans) {
192193
this.logWriter.error(`No transaction, unable to do upgrade`);
193194
throw new Error("onupgradeneeded: target is null!");
194195
}
195196

196-
this.logWriter.log(`Upgrade needed for db`, { dbName });
197-
198197
// Avoid clearing object stores when event.oldVersion returns 0.
199198
// oldVersion returns 0 if db doesn't exist yet: https://developer.mozilla.org/en-US/docs/Web/API/IDBVersionChangeEvent/oldVersion
200199
if (event.oldVersion) {
201200
if (
202201
schema.lastUsableVersion &&
203202
event.oldVersion < schema.lastUsableVersion
204203
) {
204+
isActualUpgrade = true;
205205
// Clear all stores if it's past the usable version
206206
this.logWriter.log(
207207
`Old version detected (${event.oldVersion}), clearing all data`
@@ -222,7 +222,11 @@ export class IndexedDbProvider extends DbProvider {
222222
}
223223

224224
// Create all stores
225-
this.logWriter.log(`Creating stores as part of upgrade process`);
225+
if (isActualUpgrade) {
226+
this.logWriter.log(
227+
`Creating stores after db wipe due to lastUsableVersion change`
228+
);
229+
}
226230
each(schema.stores, (storeSchema) => {
227231
let store: IDBObjectStore;
228232
const storeExistedBefore = includes(
@@ -238,10 +242,6 @@ export class IndexedDbProvider extends DbProvider {
238242
}
239243

240244
// Any is to fix a lib.d.ts issue in TS 2.0.3 - it doesn't realize that keypaths can be compound for some reason...
241-
this.logWriter.log(`Store doesn't exist, creating object store`, {
242-
dbName,
243-
storeName: storeSchema.name,
244-
});
245245
store = db.createObjectStore(storeSchema.name, {
246246
keyPath: primaryKeyPath,
247247
} as any);
@@ -373,6 +373,12 @@ export class IndexedDbProvider extends DbProvider {
373373
});
374374
}
375375
}
376+
377+
if (needsMigrate) {
378+
this.logWriter.log(`schema changes require rebuilding indices`);
379+
} else {
380+
this.logWriter.log(`Creating stores as part of upgrade process`);
381+
}
376382
});
377383

378384
if (needsMigrate) {
@@ -428,12 +434,18 @@ export class IndexedDbProvider extends DbProvider {
428434

429435
return promise.then(
430436
(db) => {
431-
this.logWriter.log(
432-
`Waiting for migrationPutters: ${migrationPutters.length} to complete for db`,
433-
{ dbName }
434-
);
437+
// OnUpgradeNeeded will get called for new DBs too so we want to avoid logging those
438+
const isActualMigration = migrationPutters.length > 0;
439+
if (isActualMigration) {
440+
this.logWriter.log(
441+
`Waiting for migrationPutters: ${migrationPutters.length} to complete for db`,
442+
{ dbName }
443+
);
444+
}
435445
return Promise.all(migrationPutters).then(() => {
436-
this.logWriter.log(`Opening db success`, { dbName });
446+
if (isActualMigration) {
447+
this.logWriter.log(`Opening db success`, { dbName });
448+
}
437449
this._db = db;
438450
this._db.onclose = (event: Event) => {
439451
if (this._handleOnClose) {
@@ -483,9 +495,12 @@ export class IndexedDbProvider extends DbProvider {
483495
return this.open(dbName, schema, true, verbose);
484496
}
485497
}
486-
this.logWriter.error(`Error opening db, message: ${err?.message}`, {
487-
dbName,
488-
});
498+
this.logWriter.error(
499+
`Error opening db, message: ${err?.message} ${err?.target?.error} ${err?.target?.error?.name}`,
500+
{
501+
dbName,
502+
}
503+
);
489504
return Promise.reject<void>(err);
490505
}
491506
);

0 commit comments

Comments
 (0)