Trait

io.getquill.quotation

Parsing

Related Doc: package quotation

Permalink

trait Parsing extends ValueComputation with QuatMaking

Self Type
Quotation
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Parsing
  2. QuatMaking
  3. QuatMakingBase
  4. ValueComputation
  5. AnyRef
  6. 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
    Definition Classes
    QuatMakingQuatMakingBase
  8. sealed trait Value extends AnyRef

    Permalink
    Definition Classes
    ValueComputation

Abstract Value Members

  1. abstract val c: Context

    Permalink
    Definition Classes
    QuatMaking

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 *

  5. object ClassTypeRefMatch

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

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

    Permalink

    Forbid T == Option[T] comparison *

  8. object NotEqual extends Quotation.EqualityBehavior with Product with Serializable

    Permalink
  9. object QueryType

    Permalink
    Definition Classes
    QuatMakingBase
  10. object QuotedType

    Permalink
    Definition Classes
    QuatMakingBase
  11. object TypeSigParam

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

    Permalink
  13. final def asInstanceOf[T0]: T0

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

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

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

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

    Permalink
  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, infixIsTransparent: Boolean = false): Quotation.Parser[Ast]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
  38. final def isInstanceOf[T0]: Boolean

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

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

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

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

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

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

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

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

    Permalink
  47. def onlyDecoder: Boolean

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

    Permalink
  49. 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.

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

    Permalink
  51. 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
  52. val patMatchParser: Quotation.Parser[Ast]

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

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

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

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

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

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

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

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

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

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

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

    Permalink
  64. lazy val u: Quotation.Uni

    Permalink
    Definition Classes
    QuatMakingQuatMakingBase
  65. val valParser: Quotation.Parser[Val]

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

    Permalink
  67. final def wait(): Unit

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

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

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

Inherited from QuatMaking

Inherited from QuatMakingBase

Inherited from ValueComputation

Inherited from AnyRef

Inherited from Any

Ungrouped