trait Table extends Queries

A key-value table.

Implementations have concrete key and value types, as well as queryable hash and range types.

Table returns DBActions that are pure values (DBOps that line inside Free) and can be chained together with map/flatMap (ie. there is a monad for DBAction.

You can get an interpreter for DBActions (to any arbitrary C[_]) by supplying a DBOp ~> C natural transformation.

Linear Supertypes
Queries, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Table
  2. Queries
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait Query extends AnyRef
    Definition Classes
    Queries
  2. type DBAction[A] = Free[DBOp, A]
  3. sealed trait DBOp [A] extends AnyRef
  4. abstract type H

    the Hash type

    the Hash type

    Definition Classes
    Queries
  5. abstract type K
  6. abstract type R

    the Range type

    the Range type

    Definition Classes
    Queries
  7. abstract type V

Value Members

  1. object Query
    Definition Classes
    Queries
  2. implicit val MonadDBAction: Monad[DBAction]
  3. def batchDelete(keys: List[K]): DBAction[Map[K, V]]

    Perform a batch delete operation using the given keys.

    Perform a batch delete operation using the given keys. DynamoDB has the following restrictions:

    • we can only batch delete 25 items at a time
    keys

    the keys to delete in the batch

    returns

    Map of key -> values that failed to be deleted

  4. def batchPut(vals: Map[K, V]): DBAction[Map[K, V]]

    Perform a batch put operation using the given key -> value pairs.

    Perform a batch put operation using the given key -> value pairs. DynamoDB has the following restrictions:

    • item size must be < 64kb
    • we can only batch put 25 items at a time
    vals

    the vals to put in the batch

    returns

    Map of key -> values that failed to be saved

  5. def delete(k: K): DBAction[Unit]
  6. def get(k: K): DBAction[Option[V]]
  7. implicit def lift[A](op: DBOp[A]): DBAction[A]
  8. def put(k: K, v: V): DBAction[Result[V, Overwrite.type]]
  9. def putIfAbsent(k: K, v: V): DBAction[Result[V, Insert.type]]
  10. def query(q: Query): DBAction[dynamodb.Page[R, V]]
  11. def replace(k: K, old: V, v: V): DBAction[Result[V, Replace.type]]
  12. def tableExists: DBAction[Boolean]
  13. def transform[C[_]](op2c: ~>[DBOp, C])(implicit arg0: Monad[C]): ~>[DBAction, C]

    Turn a natural transform from DBOp to C into a DBAction to C

  14. object DBOp