为rowStore增加了mergeMultipleResults接口

This commit is contained in:
Xu Chang 2022-09-24 17:14:06 +08:00
parent f29a309f2f
commit 01512c5a73
3 changed files with 14 additions and 0 deletions

View File

@ -19,4 +19,5 @@ export declare abstract class RowStore<ED extends EntityDict, Cxt extends Contex
abstract rollback(txnId: string): Promise<void>;
getSchema(): StorageSchema<ED>;
mergeOperationResult(result: OperationResult<ED>, toBeMerged: OperationResult<ED>): void;
mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
}

View File

@ -22,6 +22,12 @@ var RowStore = /** @class */ (function () {
}
}
};
RowStore.prototype.mergeMultipleResults = function (toBeMerged) {
var _this = this;
var result = {};
toBeMerged.forEach(function (ele) { return _this.mergeOperationResult(result, ele); });
return result;
};
RowStore.$$LEVEL = 'store';
RowStore.$$CODES = {
primaryKeyConfilict: [1, '主键重复'],

View File

@ -68,4 +68,11 @@ export abstract class RowStore<ED extends EntityDict, Cxt extends Context<ED>> {
}
}
mergeMultipleResults(toBeMerged: OperationResult<ED>[]) {
const result: OperationResult<ED> = {};
toBeMerged.forEach(
ele => this.mergeOperationResult(result, ele)
);
return result;
}
}