molecule.sql.core.query.cursorStrategy

Members list

Type members

Classlikes

case class NoUnique[Tpl](elements: List[Element], optLimit: Option[Int], cursor: String, m2q: Model2SqlQuery[Tpl] & SqlQueryBase) extends SqlQueryResolve[Tpl], FutureUtils, Pagination[Tpl], MoleculeLogging

Attributes

Source
NoUnique.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait FutureUtils
trait Logging
class SqlQueryResolve[Tpl]
trait ModelUtils
trait Pagination[Tpl]
class Object
trait Matchable
class Any
Show all
case class PrimaryUnique[Tpl](elements: List[Element], optLimit: Option[Int], cursor: String, m2q: Model2SqlQuery[Tpl] & SqlQueryBase) extends SqlQueryResolve[Tpl], FutureUtils, Pagination[Tpl], ModelTransformations_, MoleculeLogging

Molecule has a unique attribute that is sorted first.

Molecule has a unique attribute that is sorted first.

Then we can easily filter by its previous value in either direction.

Type parameters

Tpl

Type of each row

Value parameters

cursor

Base64 encoded cursor meta information

elements

Molecule model

optLimit

When going forward from start, use a positive number. And vice versa from end with a negative number. Can't be zero.

Attributes

Source
PrimaryUnique.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait FutureUtils
trait Logging
class SqlQueryResolve[Tpl]
trait ModelUtils
trait Pagination[Tpl]
class Object
trait Matchable
class Any
Show all
case class SubUnique[Tpl](elements: List[Element], optLimit: Option[Int], cursor: String, m2q: Model2SqlQuery[Tpl] & SqlQueryBase) extends SqlQueryResolve[Tpl], FutureUtils, Pagination[Tpl], MoleculeLogging

Molecule has a unique attribute that is not sorted first.

Molecule has a unique attribute that is not sorted first.

We filter by the previous value of the primary non-unique attribute and then loop until the previous value of the unique attribute is found and then take the following rows.

This is of course not optimal, especially if the primary standard sort attribute contains few values and the data set is big. * Presumes that the row with the previous unique value hasn't been altered.

Type parameters

Tpl

Type of each row

Value parameters

cursor

Base64 encoded cursor meta information, including previous edge values.

elements

Molecule model

optLimit

When going forward from start, use a positive number. And vice versa from end with a negative number. Can't be zero.

Attributes

Source
SubUnique.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait FutureUtils
trait Logging
class SqlQueryResolve[Tpl]
trait ModelUtils
trait Pagination[Tpl]
class Object
trait Matchable
class Any
Show all