trait DbBulkUpdateProcessor[A, B] extends Processor[A, Try[B]]

Implementation of aggregated bulk update operations for DB stores

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DbBulkUpdateProcessor
  2. Processor
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type CheckData

    Type of data returned when checking what information the store contains for a given item.

    Type of data returned when checking what information the store contains for a given item.

    Attributes
    protected
  2. abstract type ItemIdentifier

    The type of identifier that is used to correlate items and the information retrieved from the store when checking.

    The type of identifier that is used to correlate items and the information retrieved from the store when checking.

    Attributes
    protected
  3. case class NoResponseForAggregatedItemException(item: A) extends RuntimeException with Product with Serializable
    Definition Classes
    Processor

Abstract Value Members

  1. abstract def analyzeFoundData(item: A, foundData: Option[CheckData])(implicit traceContext: TraceContext): Try[B]

    Compare the item against the data that was found in the store and produce a result

    Compare the item against the data that was found in the store and produce a result

    Attributes
    protected
  2. abstract def bulkUpdateAction(items: NonEmptyList[Traced[A]])(implicit batchTraceContext: TraceContext): DBIOAction[Array[Int], NoStream, All]

    Idempotent bulk DB operation for the given items.

    Idempotent bulk DB operation for the given items.

    Attributes
    protected
  3. abstract def checkQuery(itemsToCheck: NonEmptyList[ItemIdentifier])(implicit batchTraceContext: TraceContext): Iterable[ReadOnly[Iterable[CheckData]]]

    A list of queries for the items that we want to check for

    A list of queries for the items that we want to check for

    Attributes
    protected
  4. abstract def dataIdentifier(state: CheckData): ItemIdentifier

    Identifier selector for stored data

    Identifier selector for stored data

    Attributes
    protected
  5. abstract def executeBatch(items: NonEmptyList[Traced[A]])(implicit traceContext: TraceContext): Future[Iterable[Try[B]]]

    Computation for a batch of items.

    Computation for a batch of items.

    returns

    The responses for the items in the correct order. Must have the same length

    Definition Classes
    Processor
  6. implicit abstract def executionContext: ExecutionContext
    Attributes
    protected
  7. abstract def itemIdentifier(item: A): ItemIdentifier

    Identifier selector for items

    Identifier selector for items

    Attributes
    protected
  8. abstract def kind: String

    Human-readable description of the kind of items that can be batched

    Human-readable description of the kind of items that can be batched

    Definition Classes
    Processor
  9. abstract def logger: TracedLogger

    Logger to be used by the com.digitalasset.canton.util.BatchAggregator

    Definition Classes
    Processor
  10. abstract def onSuccessItemUpdate(item: Traced[A]): Try[B]

    What to return for an item when the bulk operation returns an update count of 1

    What to return for an item when the bulk operation returns an update count of 1

    Attributes
    protected
  11. abstract def prettyItem: Pretty[A]

    Pretty printer for items

    Pretty printer for items

    Definition Classes
    Processor
  12. abstract def storage: DbStorage
    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def bulkUpdateWithCheck(items: List[Traced[A]], queryBaseName: String)(implicit traceContext: TraceContext, closeContext: CloseContext): Future[Iterable[Try[B]]]
    Attributes
    protected
  6. def bulkUpdateWithCheck(items: NonEmptyList[Traced[A]], queryBaseName: String)(implicit traceContext: TraceContext, closeContext: CloseContext): Future[Iterable[Try[B]]]

    Run the bulkUpdateAction for the given items and then check the reported update row counts.

    Run the bulkUpdateAction for the given items and then check the reported update row counts. For items where the update row count is not 1, look what is in the store and produce a corresponding response by comparing the item with the found data.

    returns

    An scala.collection.Iterable of the same size as items that contains the response for items(i) is at index i.

    Attributes
    protected
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def executeSingle(item: A)(implicit ec: ExecutionContext, traceContext: TraceContext): Future[Try[B]]

    Computation for a single item.

    Computation for a single item. Should be equivalent to executeBatch(Seq(Traced(item))).map(_.head)

    Definition Classes
    Processor
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Processor[A, Try[B]]

Inherited from AnyRef

Inherited from Any

Ungrouped