Class

io.getquill.context

QueryMacro

Related Doc: package context

Permalink

class QueryMacro extends ContextMacro

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. QueryMacro
  2. ContextMacro
  3. Quotation
  4. ReifyLiftings
  5. Parsing
  6. ValueComputation
  7. Unliftables
  8. Liftables
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new QueryMacro(c: scala.reflect.macros.whitebox.Context)

    Permalink

Type Members

  1. sealed trait ContextMethod extends AnyRef

    Permalink
  2. sealed trait EqualityBehavior extends AnyRef

    Permalink
    Definition Classes
    Parsing
  3. case class ExplicitPrettyPrint(tree: scala.reflect.macros.Universe.Tree) extends PrettyPrintingArg with Product with Serializable

    Permalink
  4. sealed trait FetchSizeArg extends AnyRef

    Permalink
  5. implicit class InsertReturnCapabilityExtension extends AnyRef

    Permalink
    Definition Classes
    Parsing
  6. 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
  7. trait OptionCheckBehavior extends AnyRef

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

    Permalink
    Definition Classes
    Parsing
  9. sealed trait PrettyPrintingArg extends AnyRef

    Permalink
  10. 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
  11. case class StreamQuery(fetchSizeBehavior: FetchSizeArg) extends ContextMethod with Product with Serializable

    Permalink
  12. case class TranslateQuery(prettyPrintingArg: PrettyPrintingArg) extends ContextMethod with Product with Serializable

    Permalink
  13. case class UsesExplicitFetch(tree: scala.reflect.macros.Universe.Tree) extends FetchSizeArg with Product with Serializable

    Permalink
  14. sealed trait Value extends AnyRef

    Permalink
    Definition Classes
    ValueComputation

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 DefaultPrint extends PrettyPrintingArg with Product with Serializable

    Permalink
  7. object DoesNotUseFetch extends FetchSizeArg with Product with Serializable

    Permalink
  8. object Equal extends Quotation.EqualityBehavior with Product with Serializable

    Permalink
    Definition Classes
    Parsing
  9. object ExecuteQuery extends ContextMethod with Product with Serializable

    Permalink
  10. object ExecuteQuerySingle extends ContextMethod with Product with Serializable

    Permalink
  11. object ForbidInnerCompare extends Quotation.OptionCheckBehavior with Product with Serializable

    Permalink

    Forbid T == Option[T] comparison *

    Forbid T == Option[T] comparison *

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

    Permalink
    Definition Classes
    Parsing
  13. object PrepareQuery extends ContextMethod with Product with Serializable

    Permalink
  14. object UsesDefaultFetch extends FetchSizeArg with Product with Serializable

    Permalink
  15. implicit val actionLiftable: scala.reflect.macros.Universe.Liftable[Action]

    Permalink
    Definition Classes
    Liftables
  16. val actionParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  17. implicit val actionUnliftable: scala.reflect.macros.Universe.Unliftable[Action]

    Permalink
    Definition Classes
    Unliftables
  18. implicit val aggregationOperatorLiftable: scala.reflect.macros.Universe.Liftable[AggregationOperator]

    Permalink
    Definition Classes
    Liftables
  19. implicit val aggregationOperatorUnliftable: scala.reflect.macros.Universe.Unliftable[AggregationOperator]

    Permalink
    Definition Classes
    Unliftables
  20. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  21. implicit val assignmentLiftable: scala.reflect.macros.Universe.Liftable[Assignment]

    Permalink
    Definition Classes
    Liftables
  22. implicit val assignmentUnliftable: scala.reflect.macros.Universe.Unliftable[Assignment]

    Permalink
    Definition Classes
    Unliftables
  23. implicit val astLiftable: scala.reflect.macros.Universe.Liftable[Ast]

    Permalink
    Definition Classes
    Liftables
  24. val astParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  25. implicit val astUnliftable: scala.reflect.macros.Universe.Unliftable[Ast]

    Permalink
    Definition Classes
    Unliftables
  26. implicit val binaryOperatorLiftable: scala.reflect.macros.Universe.Liftable[BinaryOperator]

    Permalink
    Definition Classes
    Liftables
  27. implicit val binaryOperatorUnliftable: scala.reflect.macros.Universe.Unliftable[BinaryOperator]

    Permalink
    Definition Classes
    Unliftables
  28. val blockParser: Parser[Block]

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

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

    Permalink
    Definition Classes
    Parsing
  31. val c: scala.reflect.macros.whitebox.Context

    Permalink
  32. def clone(): AnyRef

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

    Permalink
    Definition Classes
    Parsing
  34. implicit val conflictActionLiftable: scala.reflect.macros.Universe.Liftable[Action]

    Permalink
    Definition Classes
    Liftables
  35. implicit val conflictActionUnliftable: scala.reflect.macros.Universe.Unliftable[Action]

    Permalink
    Definition Classes
    Unliftables
  36. val conflictParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  37. implicit val conflictTargetLiftable: scala.reflect.macros.Universe.Liftable[Target]

    Permalink
    Definition Classes
    Liftables
  38. implicit val conflictTargetUnliftable: scala.reflect.macros.Universe.Unliftable[Target]

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

    Permalink
    Definition Classes
    Quotation
  40. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  43. def expand(ast: Ast): scala.reflect.macros.Universe.Tree

    Permalink
    Attributes
    protected
    Definition Classes
    ContextMacro
  44. implicit val externalIdentLiftable: scala.reflect.macros.Universe.Liftable[ExternalIdent]

    Permalink
    Definition Classes
    Liftables
  45. implicit val externalIdentUnliftable: scala.reflect.macros.Universe.Unliftable[ExternalIdent]

    Permalink
    Definition Classes
    Unliftables
  46. def extractAst[T](quoted: scala.reflect.macros.Universe.Tree): Ast

    Permalink
    Attributes
    protected
    Definition Classes
    ContextMacro
  47. def finalize(): Unit

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  53. implicit val identLiftable: scala.reflect.macros.Universe.Liftable[Ident]

    Permalink
    Definition Classes
    Liftables
  54. val identParser: Parser[Ident]

    Permalink
    Definition Classes
    Parsing
  55. implicit val identUnliftable: scala.reflect.macros.Universe.Unliftable[Ident]

    Permalink
    Definition Classes
    Unliftables
  56. val ifParser: Parser[If]

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

    Permalink
    Definition Classes
    Parsing
  58. val infixParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  59. final def isInstanceOf[T0]: Boolean

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

    Permalink

    Need special handling to check if a type is null since need to check if it's Option, Some or None.

    Need special handling to check if a type is null since need to check if it's Option, Some or None. Don't want to use <:< since that would also match things like Nothing and Null.

    Definition Classes
    Parsing
  61. val joinCallParser: Parser[(JoinType, Ast, Option[Ast])]

    Permalink
    Definition Classes
    Parsing
  62. implicit val joinTypeLiftable: scala.reflect.macros.Universe.Liftable[JoinType]

    Permalink
    Definition Classes
    Liftables
  63. implicit val joinTypeUnliftable: scala.reflect.macros.Universe.Unliftable[JoinType]

    Permalink
    Definition Classes
    Unliftables
  64. implicit val liftLiftable: scala.reflect.macros.Universe.Liftable[Lift]

    Permalink
    Definition Classes
    Liftables
  65. val liftParser: Parser[Lift]

    Permalink
    Definition Classes
    Parsing
  66. implicit val liftUnliftable: scala.reflect.macros.Universe.Unliftable[Lift]

    Permalink
    Definition Classes
    Unliftables
  67. implicit def listUnliftable[T](implicit u: scala.reflect.macros.Universe.Unliftable[T]): scala.reflect.macros.Universe.Unliftable[List[T]]

    Permalink
    Definition Classes
    Unliftables
  68. final def ne(arg0: AnyRef): Boolean

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

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

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

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

    Permalink
    Definition Classes
    Parsing
  73. implicit val optionOperationLiftable: scala.reflect.macros.Universe.Liftable[OptionOperation]

    Permalink
    Definition Classes
    Liftables
  74. 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
  75. implicit val optionOperationUnliftable: scala.reflect.macros.Universe.Unliftable[OptionOperation]

    Permalink
    Definition Classes
    Unliftables
  76. implicit def optionUnliftable[T](implicit u: scala.reflect.macros.Universe.Unliftable[T]): scala.reflect.macros.Universe.Unliftable[Option[T]]

    Permalink
    Definition Classes
    Unliftables
  77. implicit val orderingLiftable: scala.reflect.macros.Universe.Liftable[Ordering]

    Permalink
    Definition Classes
    Liftables
  78. implicit val orderingParser: Parser[Ordering]

    Permalink
    Definition Classes
    Parsing
  79. implicit val orderingUnliftable: scala.reflect.macros.Universe.Unliftable[Ordering]

    Permalink
    Definition Classes
    Unliftables
  80. val patMatchParser: Parser[Ast]

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

    Permalink
    Definition Classes
    Parsing
  82. def prepareQuery[T](quoted: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  83. implicit val propertyAliasLiftable: scala.reflect.macros.Universe.Liftable[PropertyAlias]

    Permalink
    Definition Classes
    Liftables
  84. implicit val propertyAliasParser: Parser[PropertyAlias]

    Permalink
    Definition Classes
    Parsing
  85. implicit val propertyAliasUnliftable: scala.reflect.macros.Universe.Unliftable[PropertyAlias]

    Permalink
    Definition Classes
    Unliftables
  86. implicit val propertyLiftable: scala.reflect.macros.Universe.Liftable[Property]

    Permalink
    Definition Classes
    Liftables
  87. val propertyParser: Parser[Property]

    Permalink
    Definition Classes
    Parsing
  88. implicit val propertyUnliftable: scala.reflect.macros.Universe.Unliftable[Property]

    Permalink
    Definition Classes
    Unliftables
  89. implicit val queryLiftable: scala.reflect.macros.Universe.Liftable[Query]

    Permalink
    Definition Classes
    Liftables
  90. val queryParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  91. implicit val queryUnliftable: scala.reflect.macros.Universe.Unliftable[Query]

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

    Permalink
    Definition Classes
    Quotation
  93. val quotedAstParser: Parser[Ast]

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

    Permalink
    Definition Classes
    Quotation
  95. def reifyLiftings(ast: Ast): (Ast, scala.reflect.macros.Universe.Tree)

    Permalink
    Attributes
    protected
    Definition Classes
    ReifyLiftings
  96. implicit val renameableLiftable: scala.reflect.macros.Universe.Liftable[Renameable]

    Permalink
    Definition Classes
    Liftables
  97. implicit val renameableUnliftable: scala.reflect.macros.Universe.Unliftable[Renameable]

    Permalink
    Definition Classes
    Unliftables
  98. def runQuery[T](quoted: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  99. def runQuerySingle[T](quoted: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  100. val setOperationParser: Parser[Operation]

    Permalink
    Definition Classes
    Parsing
  101. def streamQuery[T](quoted: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  102. def streamQueryFetch[T](quoted: scala.reflect.macros.Universe.Tree, fetchSize: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  103. val stringInterpolationParser: Parser[Ast]

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  107. def translateQuery[T](quoted: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  108. def translateQueryPrettyPrint[T](quoted: scala.reflect.macros.Universe.Tree, prettyPrint: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  109. implicit val traversableOperationLiftable: scala.reflect.macros.Universe.Liftable[IterableOperation]

    Permalink
    Definition Classes
    Liftables
  110. val traversableOperationParser: Parser[IterableOperation]

    Permalink
    Definition Classes
    Parsing
  111. implicit val traversableOperationUnliftable: scala.reflect.macros.Universe.Unliftable[IterableOperation]

    Permalink
    Definition Classes
    Unliftables
  112. implicit val unaryOperatorLiftable: scala.reflect.macros.Universe.Liftable[UnaryOperator]

    Permalink
    Definition Classes
    Liftables
  113. implicit val unaryOperatorUnliftable: scala.reflect.macros.Universe.Unliftable[UnaryOperator]

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

    Permalink
    Attributes
    protected
    Definition Classes
    Quotation
  115. val valParser: Parser[Val]

    Permalink
    Definition Classes
    Parsing
  116. implicit val valueLiftable: scala.reflect.macros.Universe.Liftable[ast.Value]

    Permalink
    Definition Classes
    Liftables
  117. val valueParser: Parser[Ast]

    Permalink
    Definition Classes
    Parsing
  118. implicit val valueUnliftable: scala.reflect.macros.Universe.Unliftable[ast.Value]

    Permalink
    Definition Classes
    Unliftables
  119. implicit val visibilityLiftable: scala.reflect.macros.Universe.Liftable[Visibility]

    Permalink
    Definition Classes
    Liftables
  120. implicit val visibilityUnliftable: scala.reflect.macros.Universe.Unliftable[Visibility]

    Permalink
    Definition Classes
    Unliftables
  121. final def wait(): Unit

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

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

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

Inherited from ContextMacro

Inherited from Quotation

Inherited from ReifyLiftings

Inherited from Parsing

Inherited from ValueComputation

Inherited from Unliftables

Inherited from Liftables

Inherited from AnyRef

Inherited from Any

Ungrouped