Member Junction
    Preparing search index...

    Calls used while publishing and by the deduplication ledger.

    interface PublishSqlBuilder {
        AcquirePublishOrderLock(
            topicID: string,
            partitionKey: string,
            timeoutMs: number,
        ): SqlStatement;
        ConfirmDeduplication(
            topicID: string,
            key: string,
            messageID: string,
            ttlSeconds: number,
        ): SqlStatement;
        InsertDeliveries(rows: DeliveryInsertRow[]): SqlStatement;
        InsertMessage(row: MessageInsertRow): SqlStatement;
        PreparePublishOrderLock(timeoutMs: number): SqlStatement;
        PurgeExpiredDeduplications(batchSize: number): SqlStatement;
        ReleaseDeduplication(
            topicID: string,
            key: string,
            messageID: string,
        ): SqlStatement;
        ReserveDeduplication(
            topicID: string,
            key: string,
            messageID: string,
            reserveSeconds: number,
        ): SqlStatement;
        SelectDeduplicationOwner(topicID: string, key: string): SqlStatement;
        SelectMessage(messageID: string): SqlStatement;
    }

    Implemented by

    Index

    Methods

    • Takes a free or expired key, or re-takes this MessageID's own Reserved row; rows ReservationRow it now owns (0–1).

      Parameters

      • topicID: string
      • key: string
      • messageID: string
      • reserveSeconds: number

      Returns SqlStatement