@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/cjs/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/cjs/TxnManager.js
CHANGED
|
@@ -219,6 +219,114 @@ class RebaseManager {
|
|
|
219
219
|
_conflictHandlers;
|
|
220
220
|
_customHandler;
|
|
221
221
|
_aborting = false;
|
|
222
|
+
/** Event raised before pull merge process begins.
|
|
223
|
+
* @alpha
|
|
224
|
+
*/
|
|
225
|
+
onPullMergeBegin = new core_bentley_1.BeEvent();
|
|
226
|
+
/** Event raised before a rebase operation begins.
|
|
227
|
+
* @alpha
|
|
228
|
+
*/
|
|
229
|
+
onRebaseBegin = new core_bentley_1.BeEvent();
|
|
230
|
+
/** Event raised before a transaction is rebased.
|
|
231
|
+
* @alpha
|
|
232
|
+
*/
|
|
233
|
+
onRebaseTxnBegin = new core_bentley_1.BeEvent();
|
|
234
|
+
/** Event raised after a transaction is rebased.
|
|
235
|
+
* @alpha
|
|
236
|
+
*/
|
|
237
|
+
onRebaseTxnEnd = new core_bentley_1.BeEvent();
|
|
238
|
+
/** Event raised after a rebase operation ends.
|
|
239
|
+
* @alpha
|
|
240
|
+
*/
|
|
241
|
+
onRebaseEnd = new core_bentley_1.BeEvent();
|
|
242
|
+
/** Event raised after pull merge process ends.
|
|
243
|
+
* @alpha
|
|
244
|
+
*/
|
|
245
|
+
onPullMergeEnd = new core_bentley_1.BeEvent();
|
|
246
|
+
/** Event raised before applying incoming changes.
|
|
247
|
+
* @alpha
|
|
248
|
+
*/
|
|
249
|
+
onApplyIncomingChangesBegin = new core_bentley_1.BeEvent();
|
|
250
|
+
/** Event raised after applying incoming changes.
|
|
251
|
+
* @alpha
|
|
252
|
+
*/
|
|
253
|
+
onApplyIncomingChangesEnd = new core_bentley_1.BeEvent();
|
|
254
|
+
/** Event raised before reversing local changes.
|
|
255
|
+
* @alpha
|
|
256
|
+
*/
|
|
257
|
+
onReverseLocalChangesBegin = new core_bentley_1.BeEvent();
|
|
258
|
+
/** Event raised after reversing local changes.
|
|
259
|
+
* @alpha
|
|
260
|
+
*/
|
|
261
|
+
onReverseLocalChangesEnd = new core_bentley_1.BeEvent();
|
|
262
|
+
/** Event raised before downloading changesets.
|
|
263
|
+
* @alpha
|
|
264
|
+
*/
|
|
265
|
+
onDownloadChangesetsBegin = new core_bentley_1.BeEvent();
|
|
266
|
+
/** Event raised after downloading changesets.
|
|
267
|
+
* @alpha
|
|
268
|
+
*/
|
|
269
|
+
onDownloadChangesetsEnd = new core_bentley_1.BeEvent();
|
|
270
|
+
/** @internal */
|
|
271
|
+
notifyPullMergeBegin(changeset) {
|
|
272
|
+
this.onPullMergeBegin.raiseEvent(changeset);
|
|
273
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyPullMergeBegin", changeset);
|
|
274
|
+
}
|
|
275
|
+
/** @internal */
|
|
276
|
+
notifyPullMergeEnd(changeset) {
|
|
277
|
+
this.onPullMergeEnd.raiseEvent(changeset);
|
|
278
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyPullMergeEnd", changeset);
|
|
279
|
+
}
|
|
280
|
+
/** @internal */
|
|
281
|
+
notifyApplyIncomingChangesBegin(changes) {
|
|
282
|
+
this.onApplyIncomingChangesBegin.raiseEvent(changes);
|
|
283
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyApplyIncomingChangesBegin", changes);
|
|
284
|
+
}
|
|
285
|
+
/** @internal */
|
|
286
|
+
notifyApplyIncomingChangesEnd(changes) {
|
|
287
|
+
this.onApplyIncomingChangesEnd.raiseEvent(changes);
|
|
288
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyApplyIncomingChangesEnd", changes);
|
|
289
|
+
}
|
|
290
|
+
/** @internal */
|
|
291
|
+
notifyReverseLocalChangesBegin() {
|
|
292
|
+
this.onReverseLocalChangesBegin.raiseEvent();
|
|
293
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyReverseLocalChangesBegin");
|
|
294
|
+
}
|
|
295
|
+
/** @internal */
|
|
296
|
+
notifyReverseLocalChangesEnd(txns) {
|
|
297
|
+
this.onReverseLocalChangesEnd.raiseEvent(txns);
|
|
298
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyReverseLocalChangesEnd", txns);
|
|
299
|
+
}
|
|
300
|
+
/** @internal */
|
|
301
|
+
notifyDownloadChangesetsBegin() {
|
|
302
|
+
this.onDownloadChangesetsBegin.raiseEvent();
|
|
303
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyDownloadChangesetsBegin");
|
|
304
|
+
}
|
|
305
|
+
/** @internal */
|
|
306
|
+
notifyDownloadChangesetsEnd() {
|
|
307
|
+
this.onDownloadChangesetsEnd.raiseEvent();
|
|
308
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyDownloadChangesetsEnd");
|
|
309
|
+
}
|
|
310
|
+
/** @internal */
|
|
311
|
+
notifyRebaseBegin(txns) {
|
|
312
|
+
this.onRebaseBegin.raiseEvent(txns);
|
|
313
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyRebaseBegin", txns);
|
|
314
|
+
}
|
|
315
|
+
/** @internal */
|
|
316
|
+
notifyRebaseEnd(txns) {
|
|
317
|
+
this.onRebaseEnd.raiseEvent(txns);
|
|
318
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyRebaseEnd", txns);
|
|
319
|
+
}
|
|
320
|
+
/** @internal */
|
|
321
|
+
notifyRebaseTxnBegin(txnProps) {
|
|
322
|
+
this.onRebaseTxnBegin.raiseEvent(txnProps);
|
|
323
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyRebaseTxnBegin", txnProps);
|
|
324
|
+
}
|
|
325
|
+
/** @internal */
|
|
326
|
+
notifyRebaseTxnEnd(txnProps) {
|
|
327
|
+
this.onRebaseTxnEnd.raiseEvent(txnProps);
|
|
328
|
+
IpcHost_1.IpcHost.notifyTxns(this._iModel, "notifyRebaseTxnEnd", txnProps);
|
|
329
|
+
}
|
|
222
330
|
constructor(_iModel) {
|
|
223
331
|
this._iModel = _iModel;
|
|
224
332
|
}
|
|
@@ -246,14 +354,15 @@ class RebaseManager {
|
|
|
246
354
|
const txns = this._iModel.txns;
|
|
247
355
|
try {
|
|
248
356
|
const reversedTxns = nativeDb.pullMergeRebaseBegin();
|
|
249
|
-
txns.
|
|
357
|
+
const reversedTxnProps = reversedTxns.map((_) => txns.getTxnProps(_)).filter((_) => _ !== undefined);
|
|
358
|
+
this.notifyRebaseBegin(reversedTxnProps);
|
|
250
359
|
let txnId = nativeDb.pullMergeRebaseNext();
|
|
251
360
|
while (txnId) {
|
|
252
361
|
const txnProps = txns.getTxnProps(txnId);
|
|
253
362
|
if (!txnProps) {
|
|
254
363
|
throw new Error(`Transaction ${txnId} not found`);
|
|
255
364
|
}
|
|
256
|
-
|
|
365
|
+
this.notifyRebaseTxnBegin(txnProps);
|
|
257
366
|
core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.IModelDb, `Rebasing local changes for transaction ${txnId}`);
|
|
258
367
|
const shouldReinstate = this._customHandler?.shouldReinstate(txnProps) ?? true;
|
|
259
368
|
if (shouldReinstate) {
|
|
@@ -264,24 +373,23 @@ class RebaseManager {
|
|
|
264
373
|
await this._customHandler.recompute(txnProps);
|
|
265
374
|
}
|
|
266
375
|
nativeDb.pullMergeRebaseUpdateTxn();
|
|
267
|
-
|
|
376
|
+
this.notifyRebaseTxnEnd(txnProps);
|
|
268
377
|
txnId = nativeDb.pullMergeRebaseNext();
|
|
269
378
|
}
|
|
270
379
|
nativeDb.pullMergeRebaseEnd();
|
|
380
|
+
this.notifyRebaseEnd(reversedTxnProps);
|
|
271
381
|
if (!nativeDb.isReadonly) {
|
|
272
382
|
nativeDb.saveChanges("Merge.");
|
|
273
383
|
}
|
|
274
384
|
if (BriefcaseManager_1.BriefcaseManager.containsRestorePoint(this._iModel, BriefcaseManager_1.BriefcaseManager.PULL_MERGE_RESTORE_POINT_NAME)) {
|
|
275
385
|
BriefcaseManager_1.BriefcaseManager.dropRestorePoint(this._iModel, BriefcaseManager_1.BriefcaseManager.PULL_MERGE_RESTORE_POINT_NAME);
|
|
276
386
|
}
|
|
387
|
+
this.notifyPullMergeEnd(this._iModel.changeset);
|
|
277
388
|
}
|
|
278
389
|
catch (err) {
|
|
279
390
|
nativeDb.pullMergeRebaseAbortTxn();
|
|
280
391
|
throw err;
|
|
281
392
|
}
|
|
282
|
-
finally {
|
|
283
|
-
txns.onRebaseEnd.raiseEvent();
|
|
284
|
-
}
|
|
285
393
|
}
|
|
286
394
|
/**
|
|
287
395
|
* Determines whether the current transaction can be aborted.
|
|
@@ -722,26 +830,6 @@ class TxnManager {
|
|
|
722
830
|
* @see [[onReplayExternalTxns]] for the event raised before the changes are applied.
|
|
723
831
|
*/
|
|
724
832
|
onReplayedExternalTxns = new core_bentley_1.BeEvent();
|
|
725
|
-
/**
|
|
726
|
-
* @alpha
|
|
727
|
-
* Event raised when a rebase transaction begins.
|
|
728
|
-
*/
|
|
729
|
-
onRebaseTxnBegin = new core_bentley_1.BeEvent();
|
|
730
|
-
/**
|
|
731
|
-
* @alpha
|
|
732
|
-
* Event raised when a rebase transaction ends.
|
|
733
|
-
*/
|
|
734
|
-
onRebaseTxnEnd = new core_bentley_1.BeEvent();
|
|
735
|
-
/**
|
|
736
|
-
* @alpha
|
|
737
|
-
* Event raised when a rebase begins.
|
|
738
|
-
*/
|
|
739
|
-
onRebaseBegin = new core_bentley_1.BeEvent();
|
|
740
|
-
/**
|
|
741
|
-
* @alpha
|
|
742
|
-
* Event raised when a rebase ends.
|
|
743
|
-
*/
|
|
744
|
-
onRebaseEnd = new core_bentley_1.BeEvent();
|
|
745
833
|
/** Event raised after changes are pulled from iModelHub.
|
|
746
834
|
* @see [[BriefcaseDb.pullChanges]].
|
|
747
835
|
*/
|