Class/Object

co.actioniq.luna

OptionCompareOption

Related Docs: object OptionCompareOption | package luna

Permalink

final class OptionCompareOption[B1] extends AnyVal with ColumnExtensionMethods[B1, Option[B1]] with OptionExtensionMethods[B1]

A wrapper around slick Rep option to allow easy comparisons of optional fields to optional values. Example: column in table team_id is nullable and context.teamId is an option. We want to be able to do .filter(row => row.teamId === context.teamId) however this does not work if context.teamId is None because the SQL resolves to where team_id = null instead of where team_id is null. This class adds a function =?= to compare two options and if the right param is None the sql will turn into "is null"

:

Linear Supertypes
OptionExtensionMethods[B1], ColumnExtensionMethods[B1, Option[B1]], ExtensionMethods[B1, Option[B1]], AnyVal, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OptionCompareOption
  2. OptionExtensionMethods
  3. ColumnExtensionMethods
  4. ExtensionMethods
  5. AnyVal
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OptionCompareOption(c: Rep[Option[B1]])

    Permalink

Type Members

  1. type o = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink
    Attributes
    protected[this]
    Definition Classes
    ExtensionMethods

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    Any
  3. def <[P2, R](e: Rep[P2])(implicit om: OptionMapper2[B1, B1, Boolean, Option[B1], P2, R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  4. def <=[P2, R](e: Rep[P2])(implicit om: OptionMapper2[B1, B1, Boolean, Option[B1], P2, R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  5. def =!=[P2, R](e: Rep[P2])(implicit om: OptionMapper2[B1, B1, Boolean, Option[B1], P2, R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  6. def =:=[P2, R](e: Rep[P2])(implicit om: OptionMapper2[B1, B1, Boolean, Option[B1], P2, R]): Rep[R]

    Permalink

    Compare two options, if the input is empty then don't add a filter / filter on true

  7. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  8. def ===[P2, R](e: Rep[P2])(implicit om: OptionMapper2[B1, B1, Boolean, Option[B1], P2, R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  9. def =?=[P2, R](e: Rep[P2])(implicit om: OptionMapper2[B1, B1, Boolean, Option[B1], P2, R]): Rep[R]

    Permalink

    Compare two options, if the input is empty convert the sql to "field is null"

  10. def >[P2, R](e: Rep[P2])(implicit om: OptionMapper2[B1, B1, Boolean, Option[B1], P2, R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  11. def >=[P2, R](e: Rep[P2])(implicit om: OptionMapper2[B1, B1, Boolean, Option[B1], P2, R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. implicit def b1Type: TypedType[B1]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    OptionExtensionMethods → ExtensionMethods
  14. def between[P2, P3, R](start: Rep[P2], end: Rep[P3])(implicit om: OptionMapper3[B1, B1, B1, Boolean, Option[B1], P2, P3, R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  15. val c: Rep[Option[B1]]

    Permalink
    Definition Classes
    OptionCompareOption → ExtensionMethods
  16. def get: Rep[B1]

    Permalink

    Get the value inside this Option, if it is non-empty, otherwise throw a SlickException.

    Get the value inside this Option, if it is non-empty, otherwise throw a SlickException. This operation is only allowed in places where it can be performed at the client side (e.g. not inside a subquery that cannot be fused), otherwise the exception is thrown during query compilation.

  17. def getClass(): Class[_ <: AnyVal]

    Permalink
    Definition Classes
    AnyVal → Any
  18. def ifNull[B2, P2, R](e: Rep[P2])(implicit om: OptionMapper2[B1, B2, Boolean, Option[B1], P2, R]): Rep[P2]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  19. def in[P2, R, C[_]](e: Query[Rep[P2], _, C])(implicit om: OptionMapper2[B1, B1, Boolean, Option[B1], P2, R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  20. def inSet[R](seq: Traversable[B1])(implicit om: OptionMapper2[Boolean, B1, Boolean, Boolean, Option[B1], R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  21. def inSetBind[R](seq: Traversable[B1])(implicit om: OptionMapper2[Boolean, B1, Boolean, Boolean, Option[B1], R]): Rep[R]

    Permalink
    Definition Classes
    ColumnExtensionMethods
  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. def n: Node

    Permalink
    Attributes
    protected[this]
    Definition Classes
    ExtensionMethods
    Annotations
    @inline()
  24. implicit def p1Type: TypedType[Option[B1]]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    ExtensionMethods
    Annotations
    @inline()
  25. def toString(): String

    Permalink
    Definition Classes
    Any
  26. def tpe[T](r: Rep[T]): TypedType[T]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    ExtensionMethods
    Annotations
    @inline()

Inherited from OptionExtensionMethods[B1]

Inherited from ColumnExtensionMethods[B1, Option[B1]]

Inherited from ExtensionMethods[B1, Option[B1]]

Inherited from AnyVal

Inherited from Any

Ungrouped