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. TranspileConfigSummoning
  6. Parsing
  7. QuatMaking
  8. QuatMakingBase
  9. ValueComputation
  10. AnyRef
  11. 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. abstract class TokenLift extends LiftUnlift

    Permalink
    Definition Classes
    ContextMacro
  13. case class TranslateQuery(prettyPrintingArg: PrettyPrintingArg) extends ContextMethod with Product with Serializable

    Permalink
  14. type Uni = scala.reflect.macros.whitebox.Context.universe.type

    Permalink
    Definition Classes
    QuatMakingQuatMakingBase
  15. case class UsesExplicitFetch(tree: scala.reflect.macros.Universe.Tree) extends FetchSizeArg with Product with Serializable

    Permalink
  16. 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 ConfigLiftables

    Permalink
    Definition Classes
    TranspileConfigSummoning
  7. object DefaultPrint extends PrettyPrintingArg with Product with Serializable

    Permalink
  8. object DoesNotUseFetch extends FetchSizeArg with Product with Serializable

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

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

    Permalink
  11. object ExecuteQuerySingle extends ContextMethod with Product with Serializable

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

    Permalink

    Forbid T == Option[T] comparison *

    Forbid T == Option[T] comparison *

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

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

    Permalink
  15. object QueryType

    Permalink
    Definition Classes
    QuatMakingBase
  16. object QuotedType

    Permalink
    Definition Classes
    QuatMakingBase
  17. object TypeSigParam

    Permalink
    Definition Classes
    QuatMakingBase
  18. object UsesDefaultFetch extends FetchSizeArg with Product with Serializable

    Permalink
  19. val actionParser: Parser[Ast]

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

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

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

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

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

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

    Permalink
  26. val cachedEncoderLookups: HashMap[scala.reflect.macros.Universe.Type, Boolean]

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

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

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

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

    Permalink
    Definition Classes
    Parsing
  31. 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
  32. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    QuatMakingQuatMakingBase
  36. def expand(ast: Ast, topLevelQuat: Quat): scala.reflect.macros.Universe.Tree

    Permalink
    Attributes
    protected
    Definition Classes
    ContextMacro
  37. def extractAst[T](quoted: scala.reflect.macros.Universe.Tree): Ast

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    Parsing
  49. val interp: Interpolator

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

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

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

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

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

    Permalink
    Definition Classes
    Parsing
  55. def makeQuat[T](implicit arg0: scala.reflect.macros.whitebox.Context.WeakTypeTag[T]): scala.reflect.macros.whitebox.Context.Tree

    Permalink
    Definition Classes
    Quotation
  56. final def ne(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    Parsing
  60. def onlyDecoder: Boolean

    Permalink
    Definition Classes
    QuatMaking
  61. val operationParser: Parser[Operation]

    Permalink
    Definition Classes
    Parsing
  62. 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
  63. implicit val orderingParser: Parser[Ordering]

    Permalink
    Definition Classes
    Parsing
  64. 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
  65. val patMatchParser: Parser[Ast]

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

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

    Permalink
  68. implicit val propertyAliasParser: Parser[PropertyAlias]

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

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

    Permalink
    Definition Classes
    Parsing
  71. 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
  72. val quotedAstParser: Parser[Ast]

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    ReifyLiftings
  75. def runQuery[T](quoted: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

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

    Permalink
  77. val setOperationParser: Parser[Operation]

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

    Permalink
  79. 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
  80. val stringInterpolationParser: Parser[Ast]

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

    Permalink
    Definition Classes
    Parsing
  82. def summonEnabledTraces(): List[TraceType]

    Permalink
    Attributes
    protected
    Definition Classes
    TranspileConfigSummoning
  83. def summonPhaseDisable(): List[OptionalPhase]

    Permalink
    Attributes
    protected
    Definition Classes
    TranspileConfigSummoning
  84. def summonTranspileConfig(): TranspileConfig

    Permalink
    Attributes
    protected
    Definition Classes
    TranspileConfigSummoning
  85. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

    Permalink
  88. 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
  89. val traversableOperationParser: Parser[IterableOperation]

    Permalink
    Definition Classes
    Parsing
  90. lazy val u: Uni

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

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

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

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

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

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

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

Inherited from ContextMacro

Inherited from Quotation

Inherited from ReifyLiftings

Inherited from TranspileConfigSummoning

Inherited from Parsing

Inherited from QuatMaking

Inherited from QuatMakingBase

Inherited from ValueComputation

Inherited from AnyRef

Inherited from Any

Ungrouped