Class

io.getquill.context

ActionMacro

Related Doc: package context

Permalink

class ActionMacro extends ContextMacro with ReifyLiftings

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ActionMacro
  2. ContextMacro
  3. Quotation
  4. ReifyLiftings
  5. TranspileConfigSummoning
  6. Parsing
  7. QuatMaking
  8. MacroUtilBase
  9. QuatMakingBase
  10. MacroUtilUniverse
  11. ValueComputation
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

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

    Permalink

Type Members

  1. sealed trait EqualityBehavior extends AnyRef

    Permalink
    Definition Classes
    Parsing
  2. case class ExtractLiftings(state: List[(ScalarTag, ScalarLift)]) extends StatefulTransformer[List[(ScalarTag, ScalarLift)]] with Product with Serializable

    Permalink
  3. implicit class InsertReturnCapabilityExtension extends AnyRef

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

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

    Permalink
    Definition Classes
    Parsing
  7. 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
  8. abstract class TokenLift extends LiftUnlift

    Permalink
    Definition Classes
    ContextMacro
  9. type Uni = scala.reflect.macros.whitebox.Context.universe.type

    Permalink
  10. 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 ActionType

    Permalink
    Definition Classes
    MacroUtilUniverse
  5. object AllowInnerCompare extends Quotation.OptionCheckBehavior with Product with Serializable

    Permalink

    Allow T == Option[T] comparison *

    Allow T == Option[T] comparison *

    Definition Classes
    Parsing
  6. object BatchType

    Permalink
    Definition Classes
    MacroUtilUniverse
  7. object ClassTypeRefMatch

    Permalink
    Definition Classes
    Parsing
  8. object ConfigLiftables

    Permalink
    Definition Classes
    TranspileConfigSummoning
  9. object Equal extends Quotation.EqualityBehavior with Product with Serializable

    Permalink
    Definition Classes
    Parsing
  10. object ExtractLiftings extends 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 InfixMatch

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

    Permalink
    Definition Classes
    Parsing
  14. object QueryType

    Permalink
    Definition Classes
    MacroUtilUniverse
  15. object QuotedType

    Permalink
    Definition Classes
    MacroUtilUniverse
  16. object TypeSigParam

    Permalink
    Definition Classes
    MacroUtilUniverse
  17. val actionParser: Parser[Ast]

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

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

    Permalink
    Definition Classes
    Parsing
  20. def batchAction(quoted: scala.reflect.macros.Universe.Tree, method: String): scala.reflect.macros.Universe.Tree

    Permalink
  21. def batchActionReturningRows[T](quoted: scala.reflect.macros.Universe.Tree, numRows: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  22. def batchActionRows(quoted: scala.reflect.macros.Universe.Tree, method: String, numRows: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  23. val blockParser: Parser[Block]

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    ContextMacro
  38. def expandBatchAction(quoted: scala.reflect.macros.Universe.Tree)(call: (scala.reflect.macros.Universe.Tree, scala.reflect.macros.Universe.Tree, scala.reflect.macros.Universe.Tree) ⇒ scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  39. def expandBatchActionNew(quoted: scala.reflect.macros.Universe.Tree, isReturning: Boolean)(call: (scala.reflect.macros.Universe.Tree, scala.reflect.macros.Universe.Tree, scala.reflect.macros.Universe.Tree, scala.reflect.macros.Universe.Tree, scala.reflect.macros.Universe.Tree, scala.reflect.macros.Universe.Tree, scala.reflect.macros.Universe.Tree) ⇒ scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  40. def extractAst[T](quoted: scala.reflect.macros.Universe.Tree): Ast

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    Parsing
  48. def idiomAndNamingDynamic: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    ContextMacro
  49. val ifParser: Parser[If]

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

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

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

    Permalink
    Definition Classes
    Parsing
  53. val interp: Interpolator

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    Parsing
  64. def onlyDecoder: Boolean

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

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

    Permalink
    Definition Classes
    Parsing
  68. 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
    MacroUtilUniverse
  69. def parseQueryType(tpe: scala.reflect.macros.Universe.Type): Option[QueryType]

    Permalink
    Definition Classes
    MacroUtilUniverse
  70. val patMatchParser: Parser[Ast]

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

    Permalink
    Definition Classes
    Parsing
  72. def prepareAction(quoted: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  73. def prepareBatchAction(quoted: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  74. implicit val propertyAliasParser: Parser[PropertyAlias]

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

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

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

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    ReifyLiftings
  81. def runAction(quoted: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

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

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

    Permalink
  84. def runBatchAction(quoted: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

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

    Permalink
  86. def runBatchActionReturningRows[T](quoted: scala.reflect.macros.Universe.Tree, numRows: scala.reflect.macros.Universe.Tree)(implicit t: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  87. def runBatchActionRows(quoted: scala.reflect.macros.Universe.Tree, numRows: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  88. val setOperationParser: Parser[Operation]

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  96. def translate(ast: Ast, topLevelQuat: Quat, batchAlias: Option[String]): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    ContextMacro
  97. def translateBatchQuery(quoted: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  98. def translateBatchQueryPrettyPrint(quoted: scala.reflect.macros.Universe.Tree, prettyPrint: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  99. def translateQuery(quoted: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  100. def translateQueryPrettyPrint(quoted: scala.reflect.macros.Universe.Tree, prettyPrint: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
  101. val traversableOperationParser: Parser[IterableOperation]

    Permalink
    Definition Classes
    Parsing
  102. def tryTranslateStatic(ast: Ast, topLevelQuat: Quat, batchAlias: Option[String]): Either[String, (Ast, Token, ExecutionType, IdiomContext, String, Idiom)]

    Permalink
    Attributes
    protected
    Definition Classes
    ContextMacro
  103. lazy val u: Uni

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  109. 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 MacroUtilBase

Inherited from QuatMakingBase

Inherited from MacroUtilUniverse

Inherited from ValueComputation

Inherited from AnyRef

Inherited from Any

Ungrouped