Skip to main content

IMergeTreeOptions Interface

This API is provided for existing users, but is not recommended for new users.

To use, import via @fluidframework/merge-tree/legacy.

For more information about our API support guarantees, see here.

Signature​

export interface IMergeTreeOptions

Properties​

PropertyAlertsModifiersDefault ValueTypeDescription
catchUpBlobNameBetaoptionalstring
mergeTreeEnableAnnotateAdjustBetaoptionalfalsebooleanEnables support for annotate adjust operations, which allow for specifying a summand which is summed with the current value to compute the new value.
mergeTreeEnableObliterateBetaoptionalboolean

Enables support for the obliterate operation -- a stronger form of remove which deletes concurrently inserted segments

Obliterate is currently experimental and may not work in all scenarios.

Default value: false

mergeTreeEnableObliterateReconnectBetaoptionalfalseboolean

Enables support for reconnecting when obliterate operations are present

Obliterate is currently experimental and may not work in all scenarios.

mergeTreeEnableSidedObliterateBetaoptionalfalsebooleanEnables support for obliterate endpoint expansion. When enabled, obliterate operations can have sidedness specified for their endpoints. If an endpoint is externally anchored (aka the start is after a given position, or the end is before a given position), then concurrent inserts adjacent to the exclusive endpoint of an obliterated range will be included in the obliteration
mergeTreeReferencesCanSlideToEndpointBetaoptionalboolean

Whether or not reference positions can slide to special endpoint segments denoting the positions immediately before the start and immediately after the end of the string.

This is primarily useful in the case of interval stickiness.

mergeTreeSnapshotChunkSizeBetaoptionalnumber
newMergeTreeSnapshotFormatBetaoptionalboolean

Whether to use the SnapshotV1 format over SnapshotLegacy.

SnapshotV1 stores a view of the merge-tree at the current sequence number, preserving merge metadata (e.g. clientId, seq, etc.) only for segment changes within the collab window.

SnapshotLegacy stores a view of the merge-tree at the minimum sequence number along with the ops between the minimum sequence number and the current sequence number.

Both formats merge segments where possible (see canAppend(segment))

default: false

Property Details​

catchUpBlobName​

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature​

catchUpBlobName?: string;

Type: string

mergeTreeEnableAnnotateAdjust​

Enables support for annotate adjust operations, which allow for specifying a summand which is summed with the current value to compute the new value.

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature​

mergeTreeEnableAnnotateAdjust?: boolean;

Type: boolean

mergeTreeEnableObliterate​

Enables support for the obliterate operation -- a stronger form of remove which deletes concurrently inserted segments

Obliterate is currently experimental and may not work in all scenarios.

Default value: false

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature​

mergeTreeEnableObliterate?: boolean;

Type: boolean

mergeTreeEnableObliterateReconnect​

Enables support for reconnecting when obliterate operations are present

Obliterate is currently experimental and may not work in all scenarios.

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature​

mergeTreeEnableObliterateReconnect?: boolean;

Type: boolean

mergeTreeEnableSidedObliterate​

Enables support for obliterate endpoint expansion. When enabled, obliterate operations can have sidedness specified for their endpoints. If an endpoint is externally anchored (aka the start is after a given position, or the end is before a given position), then concurrent inserts adjacent to the exclusive endpoint of an obliterated range will be included in the obliteration

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature​

mergeTreeEnableSidedObliterate?: boolean;

Type: boolean

mergeTreeReferencesCanSlideToEndpoint​

Whether or not reference positions can slide to special endpoint segments denoting the positions immediately before the start and immediately after the end of the string.

This is primarily useful in the case of interval stickiness.

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature​

mergeTreeReferencesCanSlideToEndpoint?: boolean;

Type: boolean

mergeTreeSnapshotChunkSize​

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature​

mergeTreeSnapshotChunkSize?: number;

Type: number

newMergeTreeSnapshotFormat​

Whether to use the SnapshotV1 format over SnapshotLegacy.

SnapshotV1 stores a view of the merge-tree at the current sequence number, preserving merge metadata (e.g. clientId, seq, etc.) only for segment changes within the collab window.

SnapshotLegacy stores a view of the merge-tree at the minimum sequence number along with the ops between the minimum sequence number and the current sequence number.

Both formats merge segments where possible (see canAppend(segment))

default: false

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature​

newMergeTreeSnapshotFormat?: boolean;

Type: boolean

Remarks​

Despite the "legacy"/"V1" naming, both formats are actively used at the time of writing. SharedString uses legacy and Matrix uses V1.