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 InfixMatch

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

    Permalink
  10. object QueryType

    Permalink
    Definition Classes
    QuatMakingBase
  11. object QuotedType

    Permalink
    Definition Classes
    QuatMakingBase
  12. object TypeSigParam

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

    Permalink
  14. final def asInstanceOf[T0]: T0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
  39. final def isInstanceOf[T0]: Boolean

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

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

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

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

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

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

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

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

    Permalink
  48. def onlyDecoder: Boolean

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
  65. lazy val u: Quotation.Uni

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

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

    Permalink
  68. final def wait(): Unit

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

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