Trait

io.getquill.quotation

Parsing

Related Doc: package quotation

Permalink

trait Parsing extends ValueComputation with QuatMaking with MacroUtilBase

Self Type
Quotation
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Parsing
  2. QuatMaking
  3. MacroUtilBase
  4. QuatMakingBase
  5. MacroUtilUniverse
  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
  2. implicit class InsertReturnCapabilityExtension extends AnyRef

    Permalink
  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
  5. case class Parser[T](p: PartialFunction[scala.reflect.macros.Universe.Tree, T])(implicit ct: ClassTag[T]) extends Product with Serializable

    Permalink
  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
  8. sealed trait Value extends AnyRef

    Permalink
    Definition Classes
    ValueComputation

Abstract Value Members

  1. abstract val c: Context

    Permalink
    Definition Classes
    QuatMakingMacroUtilBase

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 ActionType

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

    Permalink

    Allow T == Option[T] comparison *

  6. object BatchType

    Permalink
    Definition Classes
    MacroUtilUniverse
  7. object ClassTypeRefMatch

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

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

    Permalink

    Forbid T == Option[T] comparison *

  10. object InfixMatch

    Permalink
  11. object NotEqual extends Quotation.EqualityBehavior with Product with Serializable

    Permalink
  12. object QueryType

    Permalink
    Definition Classes
    MacroUtilUniverse
  13. object QuotedType

    Permalink
    Definition Classes
    MacroUtilUniverse
  14. object TypeSigParam

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

    Permalink
  16. final def asInstanceOf[T0]: T0

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

    Permalink
  18. val blockParser: Quotation.Parser[Block]

    Permalink
  19. val booleanOperationParser: Quotation.Parser[Operation]

    Permalink
  20. val boxingParser: Quotation.Parser[Ast]

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

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

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

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

    Permalink
  25. val conflictParser: Quotation.Parser[Ast]

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

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

    Permalink
  28. def equals(arg0: Any): Boolean

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

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

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

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

    Permalink
  33. val functionParser: Quotation.Parser[Function]

    Permalink
  34. final def getClass(): Class[_]

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

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

    Permalink
  37. val ifParser: Quotation.Parser[If]

    Permalink
  38. val impureInfixParser: Quotation.Parser[Ast]

    Permalink
  39. def inferQuat(tpe: scala.reflect.macros.Universe.Type): Quat

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

    Permalink
  41. final def isInstanceOf[T0]: Boolean

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

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

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

    Permalink
  45. val liftParser: Quotation.Parser[Lift]

    Permalink
  46. final def ne(arg0: AnyRef): Boolean

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

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

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

    Permalink
  50. def onlyDecoder: Boolean

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

    Permalink
  52. val optionOperationParser: Quotation.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.

  53. implicit val orderingParser: Quotation.Parser[Ordering]

    Permalink
  54. 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
  55. def parseQueryType(tpe: scala.reflect.macros.Universe.Type): Option[QueryType]

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

    Permalink
  57. val patMatchValParser: Quotation.Parser[Val]

    Permalink
  58. implicit val propertyAliasParser: Quotation.Parser[PropertyAlias]

    Permalink
  59. val propertyParser: Quotation.Parser[Property]

    Permalink
  60. val queryParser: Quotation.Parser[Ast]

    Permalink
  61. val quotedAstParser: Quotation.Parser[Ast]

    Permalink
  62. val setOperationParser: Quotation.Parser[Operation]

    Permalink
  63. val stringInterpolationParser: Quotation.Parser[Ast]

    Permalink
  64. val stringOperationParser: Quotation.Parser[Operation]

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

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

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

    Permalink
  68. lazy val u: Quotation.Uni

    Permalink
  69. val valParser: Quotation.Parser[Val]

    Permalink
  70. val valueParser: Quotation.Parser[Ast]

    Permalink
  71. final def wait(): Unit

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

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

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

Inherited from QuatMaking

Inherited from MacroUtilBase

Inherited from QuatMakingBase

Inherited from MacroUtilUniverse

Inherited from ValueComputation

Inherited from AnyRef

Inherited from Any

Ungrouped