Packages

c

meteor.api.hi

CompositeTable

case class CompositeTable[F[_], P, S](tableName: String, partitionKeyDef: KeyDef[P], sortKeyDef: KeyDef[S], jClient: DynamoDbAsyncClient)(implicit evidence$17: Async[F], evidence$18: Encoder[P], evidence$19: Encoder[S]) extends CompositeIndex[F, P, S] with PutOps with CompositeKeysDeleteOps with CompositeKeysUpdateOps with CompositeKeysBatchGetOps with CompositeKeysBatchWriteOps with Product with Serializable

Represent a table where the index is composite keys (partition key and sort key).

P

partition key's type

S

sort key's type

tableName

table's name

partitionKeyDef

partition key definition

sortKeyDef

sort key definition

jClient

DynamoDB java async client

Linear Supertypes
Serializable, Product, Equals, CompositeKeysBatchWriteOps, SharedBatchWriteOps, CompositeKeysBatchGetOps, SharedBatchGetOps, DedupOps, CompositeKeysUpdateOps, SharedUpdateOps, CompositeKeysDeleteOps, PutOps, CompositeIndex[F, P, S], CompositeKeysGetOps, SharedGetOps, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CompositeTable
  2. Serializable
  3. Product
  4. Equals
  5. CompositeKeysBatchWriteOps
  6. SharedBatchWriteOps
  7. CompositeKeysBatchGetOps
  8. SharedBatchGetOps
  9. DedupOps
  10. CompositeKeysUpdateOps
  11. SharedUpdateOps
  12. CompositeKeysDeleteOps
  13. PutOps
  14. CompositeIndex
  15. CompositeKeysGetOps
  16. SharedGetOps
  17. AnyRef
  18. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CompositeTable(tableName: String, partitionKeyDef: KeyDef[P], sortKeyDef: KeyDef[S], jClient: DynamoDbAsyncClient)(implicit arg0: Async[F], arg1: Encoder[P], arg2: Encoder[S])

    tableName

    table's name

    partitionKeyDef

    partition key definition

    sortKeyDef

    sort key definition

    jClient

    DynamoDB java async client

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 batchDelete(maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy): Pipe[F, (P, S), Unit]

    Delete items by composite keys in batch.

    Delete items by composite keys in batch. Max batch size is preset to 100 (maximum batch size permitted for batch get action), however, it is possible to control the rate of batching with maxBatchWait parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.

    maxBatchWait

    time window to collect items into a batch

    parallelism

    number of connections that can be open at the same time

    backoffStrategy

    backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.

    returns

    a fs2 Pipe from composite keys P and S as a tuple to Unit

  6. def batchGet[T](consistentRead: Boolean, projection: Expression, maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Decoder[T]): Pipe[F, (P, S), T]

    Get items by composite keys in batch.

    Get items by composite keys in batch. Max batch size is preset to 100 (maximum batch size permitted for batch get action), however, it is possible to control the rate of batching with maxBatchWait parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.

    T

    returned item's type

    consistentRead

    flag to enable strongly consistent read

    projection

    projection expression

    maxBatchWait

    time window to collect items into a batch

    parallelism

    number of connections that can be open at the same time

    backoffStrategy

    backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.

    returns

    a fs2 Pipe from composite keys P and S as a tuple to T

  7. def batchPut[T](maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[T]): Pipe[F, T, Unit]

    Put items in batch, in ordered.

    Put items in batch, in ordered. Meaning batches are processed in serial to avoid race condition when writing items with the same composite keys. If your input doesn't have this constrain, you can use batchPutUnordered. Max batch size is preset to 25 (maximum batch size permitted from batch put actions), however, it is possible to control the rate of batching with maxBatchWait parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.

    T

    returned item's type

    maxBatchWait

    time window to collect items into a batch

    backoffStrategy

    backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.

    returns

    a fs2 Pipe from T to Unit

  8. def batchPutUnordered[T](maxBatchWait: FiniteDuration, parallelism: Int, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[T]): Pipe[F, T, Unit]

    Put items in batch, un-ordered.

    Put items in batch, un-ordered. Meaning batches are processed in parallel, hence, if your input has items with the same composite keys, this can cause a race condition, consider using batchPut instead. Max batch size is preset to 25 (maximum batch size permitted from batch put actions), however, it is possible to control the rate of batching with maxBatchWait parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.

    T

    returned item's type

    maxBatchWait

    time window to collect items into a batch

    parallelism

    number of connections that can be open at the same time

    backoffStrategy

    backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.

    returns

    a fs2 Pipe from T to Unit

  9. def batchWrite[T](maxBatchWait: FiniteDuration, backoffStrategy: BackoffStrategy)(implicit arg0: Encoder[T]): Pipe[F, Either[(P, S), T], Unit]

    Write items (put or delete) in batch, in ordered.

    Write items (put or delete) in batch, in ordered. Meaning batches are processed in serial to avoid race condition when writing items with the same composite keys. Max batch size is preset to 25 (maximum batch size permitted from batch write actions), however, it is possible to control the rate of batching with maxBatchWait parameter. This uses fs2 .groupWithin internally. This returns a Pipe in order to cover broader use cases regardless of input can be fitted into memory or not. Duplicated items within a batch will be removed. Left over items within a batch will be reprocessed in the next batch.

    T

    returned item's type

    maxBatchWait

    time window to collect items into a batch

    backoffStrategy

    backoff strategy in case of failure, default can be found at meteor.Client.BackoffStrategy.default.

    returns

    a fs2 Pipe from Either[(P, S), T], represent deletion (Left) or put (Right) to Unit.

  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  11. def delete(partitionKey: P, sortKey: S): F[Unit]

    Delete an item by composite keys.

    Delete an item by composite keys.

    partitionKey

    partition key

    sortKey

    sort key

    returns

    Unit

  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def get[T](partitionKey: P, sortKey: S, consistentRead: Boolean)(implicit arg0: Decoder[T]): F[Option[T]]

    Get a single item by composite keys.

    Get a single item by composite keys.

    T

    returned item's type

    partitionKey

    partition key

    sortKey

    sort key

    consistentRead

    flag to enable strongly consistent read

    returns

    an optional item of type T

  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  15. val index: CompositeKeysIndex[P, S]
    Definition Classes
    CompositeTable → CompositeIndex
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. val jClient: DynamoDbAsyncClient
    Definition Classes
    CompositeTable → CompositeIndex
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  21. val partitionKeyDef: KeyDef[P]
    Definition Classes
    CompositeTable → CompositeIndex
  22. def productElementNames: Iterator[String]
    Definition Classes
    Product
  23. def put[T, U](t: T, condition: Expression)(implicit arg0: Encoder[T], arg1: Decoder[U]): F[Option[U]]

    Put an item into a table and return previous value.

    Put an item into a table and return previous value.

    T

    item's type

    U

    returned item's type

    t

    item to be put

    condition

    conditional expression

    returns

    an option item of type U

  24. def put[T](t: T, condition: Expression = Expression.empty)(implicit arg0: Encoder[T]): F[Unit]

    Put an item into a table.

    Put an item into a table.

    T

    item's type

    t

    item to be put

    condition

    conditional expression

    returns

    Unit

  25. def retrieve[T](partitionKey: P, consistentRead: Boolean)(implicit arg0: Decoder[T], RT: RaiseThrowable[F]): Stream[F, T]

    Retrieve all items with the same partition key as a fs2 Stream.

    Retrieve all items with the same partition key as a fs2 Stream. A Stream is returned instead of a list because the number of returned items can be very large.

    T

    returned item's type

    partitionKey

    partition key

    consistentRead

    flag to enable strongly consistent read

    RT

    implicit evidence for RaiseThrowable

    returns

    a fs2 Stream of items

  26. def retrieve[T](query: Query[P, S], consistentRead: Boolean)(implicit arg0: Decoder[T], RT: RaiseThrowable[F]): Stream[F, T]

    Retrieve items from a composite index, can be a secondary index or a table which has composite keys (partition key and sort key).

    Retrieve items from a composite index, can be a secondary index or a table which has composite keys (partition key and sort key).

    T

    return item's type

    query

    a query to filter items by key condition

    consistentRead

    toggle to perform consistent read

    RT

    implicit evidence for RaiseThrowable

    returns

    a fs2 Stream of items

    Definition Classes
    CompositeIndex
  27. val sortKeyDef: KeyDef[S]
    Definition Classes
    CompositeTable → CompositeIndex
  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. val tableName: String
  30. def update[T](partitionKey: P, sortKey: S, returnValue: ReturnValue, update: Expression, condition: Expression)(implicit arg0: Decoder[T]): F[Option[T]]

    Update an item by composite keys given an update expression when a condition expression is fulfilled.

    Update an item by composite keys given an update expression when a condition expression is fulfilled. Return item is customizable via returnValue parameter.

    T

    returned item's type

    partitionKey

    partition key

    sortKey

    sort key

    returnValue

    flag to define which item to be returned

    update

    update expression

    condition

    conditional expression

    returns

    an optional item of type T

  31. def update(partitionKey: P, sortKey: S, update: Expression, condition: Expression = Expression.empty): F[Unit]

    Update an item by composite keys given an update expression when a condition expression is fulfilled.

    Update an item by composite keys given an update expression when a condition expression is fulfilled. Return Unit.

    partitionKey

    partition key

    sortKey

    sort key

    update

    update expression

    condition

    conditional expression

    returns

    Unit

  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  34. 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

    (Since version 9)

  2. def retrieve[T](partitionKey: P, consistentRead: Boolean, limit: Int)(implicit arg0: Decoder[T], RT: RaiseThrowable[F]): Stream[F, T]

    Retrieve all items with the same partition key as a fs2 Stream.

    Retrieve all items with the same partition key as a fs2 Stream. A Stream is returned instead of a list because the number of returned items can be very large.

    T

    returned item's type

    partitionKey

    partition key

    consistentRead

    flag to enable strongly consistent read

    limit

    number of items to be returned per API call

    RT

    implicit evidence for RaiseThrowable

    returns

    a fs2 Stream of items

    Annotations
    @deprecated
    Deprecated

    (Since version 2022-04-24) Use retrieve without limit

  3. def retrieve[T](query: Query[P, S], consistentRead: Boolean, limit: Int)(implicit arg0: Decoder[T], RT: RaiseThrowable[F]): Stream[F, T]

    Retrieve items from a composite index, can be a secondary index or a table which has composite keys (partition key and sort key).

    Retrieve items from a composite index, can be a secondary index or a table which has composite keys (partition key and sort key).

    T

    return item's type

    query

    a query to filter items by key condition

    consistentRead

    toggle to perform consistent read

    limit

    limit the number of items to be returned per API call

    RT

    implicit evidence for RaiseThrowable

    returns

    a fs2 Stream of items

    Definition Classes
    CompositeIndex
    Annotations
    @deprecated
    Deprecated

    (Since version 2022-04-24) Use retrieve without limit

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from CompositeKeysBatchWriteOps

Inherited from SharedBatchWriteOps

Inherited from CompositeKeysBatchGetOps

Inherited from SharedBatchGetOps

Inherited from DedupOps

Inherited from CompositeKeysUpdateOps

Inherited from SharedUpdateOps

Inherited from CompositeKeysDeleteOps

Inherited from PutOps

Inherited from CompositeIndex[F, P, S]

Inherited from CompositeKeysGetOps

Inherited from SharedGetOps

Inherited from AnyRef

Inherited from Any

Ungrouped