@itwin/core-backend 5.6.0-dev.8 → 5.7.0-dev.2
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.
- package/CHANGELOG.md +11 -1
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
- package/lib/cjs/BriefcaseManager.js +37 -14
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +33 -24
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +42 -4
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/SQLiteDb.d.ts.map +1 -1
- package/lib/cjs/SQLiteDb.js +0 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.d.ts +5 -0
- package/lib/cjs/SqliteChangesetReader.d.ts.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js +7 -0
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/StashManager.d.ts +1 -2
- package/lib/cjs/StashManager.d.ts.map +1 -1
- package/lib/cjs/StashManager.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +74 -52
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +114 -26
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.d.ts +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.js +14 -1
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.d.ts +14 -0
- package/lib/cjs/annotations/TextAnnotationGeometry.d.ts.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.js +29 -10
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.js +6 -6
- package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/BriefcaseManager.d.ts.map +1 -1
- package/lib/esm/BriefcaseManager.js +37 -14
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +33 -24
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +42 -4
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/SQLiteDb.d.ts.map +1 -1
- package/lib/esm/SQLiteDb.js +0 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.d.ts +5 -0
- package/lib/esm/SqliteChangesetReader.d.ts.map +1 -1
- package/lib/esm/SqliteChangesetReader.js +7 -0
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/StashManager.d.ts +1 -2
- package/lib/esm/StashManager.d.ts.map +1 -1
- package/lib/esm/StashManager.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +74 -52
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +114 -26
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.d.ts +1 -1
- package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js +14 -1
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.d.ts +14 -0
- package/lib/esm/annotations/TextAnnotationGeometry.d.ts.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js +29 -10
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js +6 -6
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js +2 -3
- package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js +39 -4
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.js +49 -42
- package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
- package/lib/esm/test/hubaccess/Rebase.test.js +546 -22
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js +87 -44
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaImportCallbacks.test.js +4 -4
- package/lib/esm/test/schema/SchemaImportCallbacks.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js +9 -9
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/package.json +14 -14
package/lib/esm/TxnManager.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @module iModels
|
|
3
3
|
*/
|
|
4
4
|
import { BeEvent, DbConflictResolution, DbResult, Id64String, IModelStatus } from "@itwin/core-bentley";
|
|
5
|
-
import { ChangesetIndexAndId, EntityIdAndClassIdIterable, ModelGeometryChangesProps, ModelIdAndGeometryGuid } from "@itwin/core-common";
|
|
6
|
-
import { BriefcaseDb,
|
|
5
|
+
import { ChangesetIdWithIndex, ChangesetIndexAndId, ChangesetProps, EntityIdAndClassIdIterable, ModelGeometryChangesProps, ModelIdAndGeometryGuid, TxnProps } from "@itwin/core-common";
|
|
6
|
+
import { BriefcaseDb, StandaloneDb } from "./IModelDb";
|
|
7
7
|
import { RelationshipProps } from "./Relationship";
|
|
8
8
|
import { DbRebaseChangesetConflictArgs, RebaseChangesetConflictArgs } from "./internal/ChangesetConflictArgs";
|
|
9
9
|
/** A string that identifies a Txn.
|
|
@@ -57,41 +57,11 @@ export interface ChangeInstanceKey {
|
|
|
57
57
|
}
|
|
58
58
|
/** Strictly for tests. @internal */
|
|
59
59
|
export declare function setMaxEntitiesPerEvent(max: number): number;
|
|
60
|
-
/**
|
|
61
|
-
* @alpha
|
|
62
|
-
* Transaction types
|
|
63
|
-
*/
|
|
64
|
-
export type TxnType = "Data" | "ECSchema" | "Ddl";
|
|
65
60
|
/**
|
|
66
61
|
* @alpha
|
|
67
62
|
* Transaction modes
|
|
68
63
|
*/
|
|
69
64
|
export type TxnMode = "direct" | "indirect";
|
|
70
|
-
/**
|
|
71
|
-
* @alpha
|
|
72
|
-
* Represents the properties of a transaction within the transaction manager.
|
|
73
|
-
*
|
|
74
|
-
* @property id - The unique identifier for the transaction.
|
|
75
|
-
* @property sessionId - The identifier of the session to which the transaction belongs.
|
|
76
|
-
* @property nextId - (Optional) The identifier of the next transaction in the sequence.
|
|
77
|
-
* @property prevId - (Optional) The identifier of the previous transaction in the sequence.
|
|
78
|
-
* @property props - The arguments or properties associated with the save changes operation.
|
|
79
|
-
* @property type - The type of transaction, which can be "Data", "ECSchema", or "Ddl".
|
|
80
|
-
* @property reversed - Indicates whether the transaction has been reversed.
|
|
81
|
-
* @property grouped - Indicates whether the transaction is grouped with others.
|
|
82
|
-
* @property timestamp - The timestamp when the transaction was created.
|
|
83
|
-
*/
|
|
84
|
-
export interface TxnProps {
|
|
85
|
-
id: TxnIdString;
|
|
86
|
-
sessionId: number;
|
|
87
|
-
nextId?: TxnIdString;
|
|
88
|
-
prevId?: TxnIdString;
|
|
89
|
-
props: SaveChangesArgs;
|
|
90
|
-
type: TxnType;
|
|
91
|
-
reversed: boolean;
|
|
92
|
-
grouped: boolean;
|
|
93
|
-
timestamp: string;
|
|
94
|
-
}
|
|
95
65
|
/**
|
|
96
66
|
* Manages the process of merging and rebasing local changes (transactions) in a [[BriefcaseDb]] or [[StandaloneDb]].
|
|
97
67
|
*
|
|
@@ -114,6 +84,78 @@ export declare class RebaseManager {
|
|
|
114
84
|
private _conflictHandlers?;
|
|
115
85
|
private _customHandler?;
|
|
116
86
|
private _aborting;
|
|
87
|
+
/** Event raised before pull merge process begins.
|
|
88
|
+
* @alpha
|
|
89
|
+
*/
|
|
90
|
+
readonly onPullMergeBegin: BeEvent<(changeset: ChangesetIdWithIndex) => void>;
|
|
91
|
+
/** Event raised before a rebase operation begins.
|
|
92
|
+
* @alpha
|
|
93
|
+
*/
|
|
94
|
+
readonly onRebaseBegin: BeEvent<(txns: TxnProps[]) => void>;
|
|
95
|
+
/** Event raised before a transaction is rebased.
|
|
96
|
+
* @alpha
|
|
97
|
+
*/
|
|
98
|
+
readonly onRebaseTxnBegin: BeEvent<(txnProps: TxnProps) => void>;
|
|
99
|
+
/** Event raised after a transaction is rebased.
|
|
100
|
+
* @alpha
|
|
101
|
+
*/
|
|
102
|
+
readonly onRebaseTxnEnd: BeEvent<(txnProps: TxnProps) => void>;
|
|
103
|
+
/** Event raised after a rebase operation ends.
|
|
104
|
+
* @alpha
|
|
105
|
+
*/
|
|
106
|
+
readonly onRebaseEnd: BeEvent<(txns: TxnProps[]) => void>;
|
|
107
|
+
/** Event raised after pull merge process ends.
|
|
108
|
+
* @alpha
|
|
109
|
+
*/
|
|
110
|
+
readonly onPullMergeEnd: BeEvent<(changeset: ChangesetIdWithIndex) => void>;
|
|
111
|
+
/** Event raised before applying incoming changes.
|
|
112
|
+
* @alpha
|
|
113
|
+
*/
|
|
114
|
+
readonly onApplyIncomingChangesBegin: BeEvent<(changesets: ChangesetProps[]) => void>;
|
|
115
|
+
/** Event raised after applying incoming changes.
|
|
116
|
+
* @alpha
|
|
117
|
+
*/
|
|
118
|
+
readonly onApplyIncomingChangesEnd: BeEvent<(changes: ChangesetProps[]) => void>;
|
|
119
|
+
/** Event raised before reversing local changes.
|
|
120
|
+
* @alpha
|
|
121
|
+
*/
|
|
122
|
+
readonly onReverseLocalChangesBegin: BeEvent<() => void>;
|
|
123
|
+
/** Event raised after reversing local changes.
|
|
124
|
+
* @alpha
|
|
125
|
+
*/
|
|
126
|
+
readonly onReverseLocalChangesEnd: BeEvent<(txns: TxnProps[]) => void>;
|
|
127
|
+
/** Event raised before downloading changesets.
|
|
128
|
+
* @alpha
|
|
129
|
+
*/
|
|
130
|
+
readonly onDownloadChangesetsBegin: BeEvent<() => void>;
|
|
131
|
+
/** Event raised after downloading changesets.
|
|
132
|
+
* @alpha
|
|
133
|
+
*/
|
|
134
|
+
readonly onDownloadChangesetsEnd: BeEvent<() => void>;
|
|
135
|
+
/** @internal */
|
|
136
|
+
notifyPullMergeBegin(changeset: ChangesetIdWithIndex): void;
|
|
137
|
+
/** @internal */
|
|
138
|
+
notifyPullMergeEnd(changeset: ChangesetIdWithIndex): void;
|
|
139
|
+
/** @internal */
|
|
140
|
+
notifyApplyIncomingChangesBegin(changes: ChangesetProps[]): void;
|
|
141
|
+
/** @internal */
|
|
142
|
+
notifyApplyIncomingChangesEnd(changes: ChangesetProps[]): void;
|
|
143
|
+
/** @internal */
|
|
144
|
+
notifyReverseLocalChangesBegin(): void;
|
|
145
|
+
/** @internal */
|
|
146
|
+
notifyReverseLocalChangesEnd(txns: TxnProps[]): void;
|
|
147
|
+
/** @internal */
|
|
148
|
+
notifyDownloadChangesetsBegin(): void;
|
|
149
|
+
/** @internal */
|
|
150
|
+
notifyDownloadChangesetsEnd(): void;
|
|
151
|
+
/** @internal */
|
|
152
|
+
notifyRebaseBegin(txns: TxnProps[]): void;
|
|
153
|
+
/** @internal */
|
|
154
|
+
notifyRebaseEnd(txns: TxnProps[]): void;
|
|
155
|
+
/** @internal */
|
|
156
|
+
notifyRebaseTxnBegin(txnProps: TxnProps): void;
|
|
157
|
+
/** @internal */
|
|
158
|
+
notifyRebaseTxnEnd(txnProps: TxnProps): void;
|
|
117
159
|
constructor(_iModel: BriefcaseDb | StandaloneDb);
|
|
118
160
|
/**
|
|
119
161
|
* Resumes the rebase process for the current iModel, applying any pending local changes
|
|
@@ -355,26 +397,6 @@ export declare class TxnManager {
|
|
|
355
397
|
* @see [[onReplayExternalTxns]] for the event raised before the changes are applied.
|
|
356
398
|
*/
|
|
357
399
|
readonly onReplayedExternalTxns: BeEvent<() => void>;
|
|
358
|
-
/**
|
|
359
|
-
* @alpha
|
|
360
|
-
* Event raised when a rebase transaction begins.
|
|
361
|
-
*/
|
|
362
|
-
readonly onRebaseTxnBegin: BeEvent<(txn: TxnProps) => void>;
|
|
363
|
-
/**
|
|
364
|
-
* @alpha
|
|
365
|
-
* Event raised when a rebase transaction ends.
|
|
366
|
-
*/
|
|
367
|
-
readonly onRebaseTxnEnd: BeEvent<(txn: TxnProps) => void>;
|
|
368
|
-
/**
|
|
369
|
-
* @alpha
|
|
370
|
-
* Event raised when a rebase begins.
|
|
371
|
-
*/
|
|
372
|
-
readonly onRebaseBegin: BeEvent<(txns: TxnIdString[]) => void>;
|
|
373
|
-
/**
|
|
374
|
-
* @alpha
|
|
375
|
-
* Event raised when a rebase ends.
|
|
376
|
-
*/
|
|
377
|
-
readonly onRebaseEnd: BeEvent<() => void>;
|
|
378
400
|
/** Event raised after changes are pulled from iModelHub.
|
|
379
401
|
* @see [[BriefcaseDb.pullChanges]].
|
|
380
402
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TxnManager.d.ts","sourceRoot":"","sources":["../../src/TxnManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EACG,OAAO,EAAmD,oBAAoB,EAAE,QAAQ,EAAa,UAAU,EAAE,YAAY,EACtI,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAe,yBAAyB,EAAE,sBAAsB,EAA4D,MAAM,oBAAoB,CAAC;AAE/
|
|
1
|
+
{"version":3,"file":"TxnManager.d.ts","sourceRoot":"","sources":["../../src/TxnManager.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/TxnManager.js
CHANGED
|
@@ -215,6 +215,114 @@ export class RebaseManager {
|
|
|
215
215
|
_conflictHandlers;
|
|
216
216
|
_customHandler;
|
|
217
217
|
_aborting = false;
|
|
218
|
+
/** Event raised before pull merge process begins.
|
|
219
|
+
* @alpha
|
|
220
|
+
*/
|
|
221
|
+
onPullMergeBegin = new BeEvent();
|
|
222
|
+
/** Event raised before a rebase operation begins.
|
|
223
|
+
* @alpha
|
|
224
|
+
*/
|
|
225
|
+
onRebaseBegin = new BeEvent();
|
|
226
|
+
/** Event raised before a transaction is rebased.
|
|
227
|
+
* @alpha
|
|
228
|
+
*/
|
|
229
|
+
onRebaseTxnBegin = new BeEvent();
|
|
230
|
+
/** Event raised after a transaction is rebased.
|
|
231
|
+
* @alpha
|
|
232
|
+
*/
|
|
233
|
+
onRebaseTxnEnd = new BeEvent();
|
|
234
|
+
/** Event raised after a rebase operation ends.
|
|
235
|
+
* @alpha
|
|
236
|
+
*/
|
|
237
|
+
onRebaseEnd = new BeEvent();
|
|
238
|
+
/** Event raised after pull merge process ends.
|
|
239
|
+
* @alpha
|
|
240
|
+
*/
|
|
241
|
+
onPullMergeEnd = new BeEvent();
|
|
242
|
+
/** Event raised before applying incoming changes.
|
|
243
|
+
* @alpha
|
|
244
|
+
*/
|
|
245
|
+
onApplyIncomingChangesBegin = new BeEvent();
|
|
246
|
+
/** Event raised after applying incoming changes.
|
|
247
|
+
* @alpha
|
|
248
|
+
*/
|
|
249
|
+
onApplyIncomingChangesEnd = new BeEvent();
|
|
250
|
+
/** Event raised before reversing local changes.
|
|
251
|
+
* @alpha
|
|
252
|
+
*/
|
|
253
|
+
onReverseLocalChangesBegin = new BeEvent();
|
|
254
|
+
/** Event raised after reversing local changes.
|
|
255
|
+
* @alpha
|
|
256
|
+
*/
|
|
257
|
+
onReverseLocalChangesEnd = new BeEvent();
|
|
258
|
+
/** Event raised before downloading changesets.
|
|
259
|
+
* @alpha
|
|
260
|
+
*/
|
|
261
|
+
onDownloadChangesetsBegin = new BeEvent();
|
|
262
|
+
/** Event raised after downloading changesets.
|
|
263
|
+
* @alpha
|
|
264
|
+
*/
|
|
265
|
+
onDownloadChangesetsEnd = new BeEvent();
|
|
266
|
+
/** @internal */
|
|
267
|
+
notifyPullMergeBegin(changeset) {
|
|
268
|
+
this.onPullMergeBegin.raiseEvent(changeset);
|
|
269
|
+
IpcHost.notifyTxns(this._iModel, "notifyPullMergeBegin", changeset);
|
|
270
|
+
}
|
|
271
|
+
/** @internal */
|
|
272
|
+
notifyPullMergeEnd(changeset) {
|
|
273
|
+
this.onPullMergeEnd.raiseEvent(changeset);
|
|
274
|
+
IpcHost.notifyTxns(this._iModel, "notifyPullMergeEnd", changeset);
|
|
275
|
+
}
|
|
276
|
+
/** @internal */
|
|
277
|
+
notifyApplyIncomingChangesBegin(changes) {
|
|
278
|
+
this.onApplyIncomingChangesBegin.raiseEvent(changes);
|
|
279
|
+
IpcHost.notifyTxns(this._iModel, "notifyApplyIncomingChangesBegin", changes);
|
|
280
|
+
}
|
|
281
|
+
/** @internal */
|
|
282
|
+
notifyApplyIncomingChangesEnd(changes) {
|
|
283
|
+
this.onApplyIncomingChangesEnd.raiseEvent(changes);
|
|
284
|
+
IpcHost.notifyTxns(this._iModel, "notifyApplyIncomingChangesEnd", changes);
|
|
285
|
+
}
|
|
286
|
+
/** @internal */
|
|
287
|
+
notifyReverseLocalChangesBegin() {
|
|
288
|
+
this.onReverseLocalChangesBegin.raiseEvent();
|
|
289
|
+
IpcHost.notifyTxns(this._iModel, "notifyReverseLocalChangesBegin");
|
|
290
|
+
}
|
|
291
|
+
/** @internal */
|
|
292
|
+
notifyReverseLocalChangesEnd(txns) {
|
|
293
|
+
this.onReverseLocalChangesEnd.raiseEvent(txns);
|
|
294
|
+
IpcHost.notifyTxns(this._iModel, "notifyReverseLocalChangesEnd", txns);
|
|
295
|
+
}
|
|
296
|
+
/** @internal */
|
|
297
|
+
notifyDownloadChangesetsBegin() {
|
|
298
|
+
this.onDownloadChangesetsBegin.raiseEvent();
|
|
299
|
+
IpcHost.notifyTxns(this._iModel, "notifyDownloadChangesetsBegin");
|
|
300
|
+
}
|
|
301
|
+
/** @internal */
|
|
302
|
+
notifyDownloadChangesetsEnd() {
|
|
303
|
+
this.onDownloadChangesetsEnd.raiseEvent();
|
|
304
|
+
IpcHost.notifyTxns(this._iModel, "notifyDownloadChangesetsEnd");
|
|
305
|
+
}
|
|
306
|
+
/** @internal */
|
|
307
|
+
notifyRebaseBegin(txns) {
|
|
308
|
+
this.onRebaseBegin.raiseEvent(txns);
|
|
309
|
+
IpcHost.notifyTxns(this._iModel, "notifyRebaseBegin", txns);
|
|
310
|
+
}
|
|
311
|
+
/** @internal */
|
|
312
|
+
notifyRebaseEnd(txns) {
|
|
313
|
+
this.onRebaseEnd.raiseEvent(txns);
|
|
314
|
+
IpcHost.notifyTxns(this._iModel, "notifyRebaseEnd", txns);
|
|
315
|
+
}
|
|
316
|
+
/** @internal */
|
|
317
|
+
notifyRebaseTxnBegin(txnProps) {
|
|
318
|
+
this.onRebaseTxnBegin.raiseEvent(txnProps);
|
|
319
|
+
IpcHost.notifyTxns(this._iModel, "notifyRebaseTxnBegin", txnProps);
|
|
320
|
+
}
|
|
321
|
+
/** @internal */
|
|
322
|
+
notifyRebaseTxnEnd(txnProps) {
|
|
323
|
+
this.onRebaseTxnEnd.raiseEvent(txnProps);
|
|
324
|
+
IpcHost.notifyTxns(this._iModel, "notifyRebaseTxnEnd", txnProps);
|
|
325
|
+
}
|
|
218
326
|
constructor(_iModel) {
|
|
219
327
|
this._iModel = _iModel;
|
|
220
328
|
}
|
|
@@ -242,14 +350,15 @@ export class RebaseManager {
|
|
|
242
350
|
const txns = this._iModel.txns;
|
|
243
351
|
try {
|
|
244
352
|
const reversedTxns = nativeDb.pullMergeRebaseBegin();
|
|
245
|
-
txns.
|
|
353
|
+
const reversedTxnProps = reversedTxns.map((_) => txns.getTxnProps(_)).filter((_) => _ !== undefined);
|
|
354
|
+
this.notifyRebaseBegin(reversedTxnProps);
|
|
246
355
|
let txnId = nativeDb.pullMergeRebaseNext();
|
|
247
356
|
while (txnId) {
|
|
248
357
|
const txnProps = txns.getTxnProps(txnId);
|
|
249
358
|
if (!txnProps) {
|
|
250
359
|
throw new Error(`Transaction ${txnId} not found`);
|
|
251
360
|
}
|
|
252
|
-
|
|
361
|
+
this.notifyRebaseTxnBegin(txnProps);
|
|
253
362
|
Logger.logInfo(BackendLoggerCategory.IModelDb, `Rebasing local changes for transaction ${txnId}`);
|
|
254
363
|
const shouldReinstate = this._customHandler?.shouldReinstate(txnProps) ?? true;
|
|
255
364
|
if (shouldReinstate) {
|
|
@@ -260,24 +369,23 @@ export class RebaseManager {
|
|
|
260
369
|
await this._customHandler.recompute(txnProps);
|
|
261
370
|
}
|
|
262
371
|
nativeDb.pullMergeRebaseUpdateTxn();
|
|
263
|
-
|
|
372
|
+
this.notifyRebaseTxnEnd(txnProps);
|
|
264
373
|
txnId = nativeDb.pullMergeRebaseNext();
|
|
265
374
|
}
|
|
266
375
|
nativeDb.pullMergeRebaseEnd();
|
|
376
|
+
this.notifyRebaseEnd(reversedTxnProps);
|
|
267
377
|
if (!nativeDb.isReadonly) {
|
|
268
378
|
nativeDb.saveChanges("Merge.");
|
|
269
379
|
}
|
|
270
380
|
if (BriefcaseManager.containsRestorePoint(this._iModel, BriefcaseManager.PULL_MERGE_RESTORE_POINT_NAME)) {
|
|
271
381
|
BriefcaseManager.dropRestorePoint(this._iModel, BriefcaseManager.PULL_MERGE_RESTORE_POINT_NAME);
|
|
272
382
|
}
|
|
383
|
+
this.notifyPullMergeEnd(this._iModel.changeset);
|
|
273
384
|
}
|
|
274
385
|
catch (err) {
|
|
275
386
|
nativeDb.pullMergeRebaseAbortTxn();
|
|
276
387
|
throw err;
|
|
277
388
|
}
|
|
278
|
-
finally {
|
|
279
|
-
txns.onRebaseEnd.raiseEvent();
|
|
280
|
-
}
|
|
281
389
|
}
|
|
282
390
|
/**
|
|
283
391
|
* Determines whether the current transaction can be aborted.
|
|
@@ -717,26 +825,6 @@ export class TxnManager {
|
|
|
717
825
|
* @see [[onReplayExternalTxns]] for the event raised before the changes are applied.
|
|
718
826
|
*/
|
|
719
827
|
onReplayedExternalTxns = new BeEvent();
|
|
720
|
-
/**
|
|
721
|
-
* @alpha
|
|
722
|
-
* Event raised when a rebase transaction begins.
|
|
723
|
-
*/
|
|
724
|
-
onRebaseTxnBegin = new BeEvent();
|
|
725
|
-
/**
|
|
726
|
-
* @alpha
|
|
727
|
-
* Event raised when a rebase transaction ends.
|
|
728
|
-
*/
|
|
729
|
-
onRebaseTxnEnd = new BeEvent();
|
|
730
|
-
/**
|
|
731
|
-
* @alpha
|
|
732
|
-
* Event raised when a rebase begins.
|
|
733
|
-
*/
|
|
734
|
-
onRebaseBegin = new BeEvent();
|
|
735
|
-
/**
|
|
736
|
-
* @alpha
|
|
737
|
-
* Event raised when a rebase ends.
|
|
738
|
-
*/
|
|
739
|
-
onRebaseEnd = new BeEvent();
|
|
740
828
|
/** Event raised after changes are pulled from iModelHub.
|
|
741
829
|
* @see [[BriefcaseDb.pullChanges]].
|
|
742
830
|
*/
|