Trait

io.getquill.quotation

Quotation

Related Doc: package quotation

Permalink

trait Quotation extends Parsing with ReifyLiftings

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Quotation
  2. ReifyLiftings
  3. Parsing
  4. QuatMaking
  5. QuatMakingBase
  6. ValueComputation
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait EqualityBehavior extends AnyRef

    Permalink
    Definition Classes
    Parsing
  2. implicit class InsertReturnCapabilityExtension extends AnyRef

    Permalink
    Definition Classes
    Parsing
  3. case class Nested(term: Option[scala.reflect.macros.Universe.TermName], tpe: scala.reflect.macros.Universe.Type, params: List[List[Value]], optional: Boolean) extends Value with Product with Serializable

    Permalink
    Definition Classes
    ValueComputation
  4. trait OptionCheckBehavior extends AnyRef

    Permalink
    Definition Classes
    Parsing
  5. case class Parser[T](p: PartialFunction[scala.reflect.macros.Universe.Tree, T])(implicit ct: ClassTag[T]) extends Product with Serializable

    Permalink
    Definition Classes
    Parsing
  6. case class Scalar(term: Option[scala.reflect.macros.Universe.TermName], tpe: scala.reflect.macros.Universe.Type, decoder: scala.reflect.macros.Universe.Tree, optional: Boolean) extends Value with Product with Serializable

    Permalink
    Definition Classes
    ValueComputation
  7. type Uni = scala.reflect.macros.whitebox.Context.universe.type

    Permalink
    Definition Classes
    QuatMakingQuatMakingBase
  8. sealed trait Value extends AnyRef

    Permalink
    Definition Classes
    ValueComputation

Abstract Value Members

  1. abstract val c: Context

    Permalink
    Definition Classes
    QuotationReifyLiftingsQuatMakingValueComputation

Concrete Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object AllowInnerCompare extends Quotation.OptionCheckBehavior with Product with Serializable

    Permalink

    Allow T == Option[T] comparison *

    Allow T == Option[T] comparison *

    Definition Classes
    Parsing
  5. object ClassTypeRefMatch

    Permalink
    Definition Classes
    Parsing
  6. object Equal extends Quotation.EqualityBehavior with Product with Serializable

    Permalink
    Definition Classes
    Parsing
  7. object ForbidInnerCompare extends Quotation.OptionCheckBehavior with Product with Serializable

    Permalink

    Forbid T == Option[T] comparison *

    Forbid T == Option[T] comparison *

    Definition Classes
    Parsing
  8. object NotEqual extends Quotation.EqualityBehavior with Product with Serializable

    Permalink
    Definition Classes
    Parsing
  9. object QueryType

    Permalink
    Definition Classes
    QuatMakingBase
  10. object QuotedType

    Permalink
    Definition Classes
    QuatMakingBase
  11. object TypeSigParam

    Permalink
    Definition Classes
    QuatMakingBase
  12. val actionParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  13. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  14. val astParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  15. val blockParser: Parser[Block]

    Permalink
    Definition Classes
    Parsing
  16. val booleanOperationParser: Parser[Operation]

    Permalink
    Definition Classes
    Parsing
  17. val boxingParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  18. val cachedEncoderLookups: HashMap[scala.reflect.macros.Universe.Type, Boolean]

    Permalink
    Definition Classes
    QuatMaking
  19. val cachedQuats: HashMap[scala.reflect.macros.Universe.Type, Quat]

    Permalink
    Definition Classes
    QuatMaking
  20. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. def combinedInfixParser(infixIsPure: Boolean, quat: Quat): Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  22. val conflictParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  23. def doubleQuote[T](body: scala.reflect.macros.Universe.Expr[Any])(implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  24. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  25. val equalityOperationParser: Parser[Operation]

    Permalink
    Definition Classes
    Parsing
  26. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  27. def existsEncoderFor(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    QuatMakingQuatMakingBase
  28. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  29. def flatten(base: scala.reflect.macros.Universe.Tree, value: Value): List[scala.reflect.macros.Universe.Tree]

    Permalink
    Definition Classes
    ValueComputation
  30. val functionApplyParser: Parser[Operation]

    Permalink
    Definition Classes
    Parsing
  31. val functionParser: Parser[Function]

    Permalink
    Definition Classes
    Parsing
  32. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  33. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  34. val identParser: Parser[Ident]

    Permalink
    Definition Classes
    Parsing
  35. val ifParser: Parser[If]

    Permalink
    Definition Classes
    Parsing
  36. val impureInfixParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  37. def inferQuat(tpe: scala.reflect.macros.Universe.Type): Quat

    Permalink
    Definition Classes
    QuatMakingQuatMakingBase
  38. val infixParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  39. val interp: Interpolator

    Permalink
    Definition Classes
    ReifyLiftings
  40. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  41. def isNone(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    QuatMakingBase
  42. def isOptionType(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    QuatMakingBase
  43. val joinCallParser: Parser[(JoinType, Ast, Option[Ast])]

    Permalink
    Definition Classes
    Parsing
  44. val liftParser: Parser[Lift]

    Permalink
    Definition Classes
    Parsing
  45. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  46. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  47. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  48. val numericOperationParser: Parser[Operation]

    Permalink
    Definition Classes
    Parsing
  49. val operationParser: Parser[Operation]

    Permalink
    Definition Classes
    Parsing
  50. val optionOperationParser: Parser[OptionOperation]

    Permalink

    Process scala Option-related DSL into AST constructs.

    Process scala Option-related DSL into AST constructs. In Option[T] if T is a row type (typically a product or instance of Embedded) the it is impossible to physically null check in SQL (e.g. you cannot do select p.* from People p where p is not null). However, when a column (or "leaf-type") is encountered, doing a null check during operations such as map or flatMap is necessary in order for constructs like case statements to work correctly.
    For example, the statement:

    query[Person].map(_.name + " S.r.").getOrElse("unknown")
    
    needs to become:

    select case when p.name is not null then p.name + 'S.r' else 'unknown' end from ...
    
    Otherwise it will not function correctly. This latter kind of operation is involves null checking versus the former (i.e. the table-select example) which cannot, and is therefore called "Unchecked."

    The isOptionRowType method checks if the type-parameter of an option is a Product. The isOptionEmbedded checks if it an embedded object.

    select case when p.name is not null then p.name + 'S.r' else 'unknown' end from ... Otherwise it will not function correctly. This latter kind of operation is involves null checking versus the former (i.e. the table-select example) which cannot, and is therefore called "Unchecked." The `isOptionRowType` method checks if the type-parameter of an option is a Product. The isOptionEmbedded checks if it an embedded object. query[Person].map(_.name + " S.r.").getOrElse("unknown") needs to become:

    select case when p.name is not null then p.name + 'S.r' else 'unknown' end from ...
    
    Otherwise it will not function correctly. This latter kind of operation is involves null checking versus the former (i.e. the table-select example) which cannot, and is therefore called "Unchecked."

    The isOptionRowType method checks if the type-parameter of an option is a Product. The isOptionEmbedded checks if it an embedded object.

    select case when p.name is not null then p.name + 'S.r' else 'unknown' end from ... Otherwise it will not function correctly. This latter kind of operation is involves null checking versus the former (i.e. the table-select example) which cannot, and is therefore called "Unchecked." The `isOptionRowType` method checks if the type-parameter of an option is a Product. The isOptionEmbedded checks if it an embedded object.

    Definition Classes
    Parsing
  51. implicit val orderingParser: Parser[Ordering]

    Permalink
    Definition Classes
    Parsing
  52. def paramOf(tpe: scala.reflect.macros.Universe.Type, of: scala.reflect.macros.Universe.Type, maxDepth: Int = 10): Option[scala.reflect.macros.Universe.Type]

    Permalink
    Definition Classes
    QuatMakingBase
  53. val patMatchParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  54. val patMatchValParser: Parser[Val]

    Permalink
    Definition Classes
    Parsing
  55. implicit val propertyAliasParser: Parser[PropertyAlias]

    Permalink
    Definition Classes
    Parsing
  56. val propertyParser: Parser[Property]

    Permalink
    Definition Classes
    Parsing
  57. val queryParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  58. def quote[T](body: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.whitebox.Context.Tree

    Permalink
  59. val quotedAstParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  60. def quotedFunctionBody(func: scala.reflect.macros.Universe.Expr[Any]): scala.reflect.macros.Universe.Tree

    Permalink
  61. def reifyLiftings(ast: Ast): (Ast, scala.reflect.macros.Universe.Tree)

    Permalink
    Attributes
    protected
    Definition Classes
    ReifyLiftings
  62. val setOperationParser: Parser[Operation]

    Permalink
    Definition Classes
    Parsing
  63. val stringInterpolationParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  64. val stringOperationParser: Parser[Operation]

    Permalink
    Definition Classes
    Parsing
  65. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  66. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  67. val traversableOperationParser: Parser[IterableOperation]

    Permalink
    Definition Classes
    Parsing
  68. lazy val u: Uni

    Permalink
    Definition Classes
    QuatMakingQuatMakingBase
  69. def unquote[T](tree: scala.reflect.macros.Universe.Tree)(implicit ct: ClassTag[T]): Option[T]

    Permalink
    Attributes
    protected
  70. val valParser: Parser[Val]

    Permalink
    Definition Classes
    Parsing
  71. val valueParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  72. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  73. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  74. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ReifyLiftings

Inherited from Parsing

Inherited from QuatMaking

Inherited from QuatMakingBase

Inherited from ValueComputation

Inherited from AnyRef

Inherited from Any

Ungrouped