Trait

io.getquill.quotation

Parsing

Related Doc: package quotation

Permalink

trait Parsing extends AnyRef

Self Type
Quotation
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Parsing
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

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

    Permalink

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. val actionParser: Quotation.Parser[Ast]

    Permalink
  5. final def asInstanceOf[T0]: T0

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

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

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

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

    Permalink
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. val conflictParser: Quotation.Parser[Ast]

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. val functionApplyParser: Quotation.Parser[Operation]

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

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

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

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

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

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

    Permalink
  23. final def isInstanceOf[T0]: Boolean

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

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

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

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

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

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

    Permalink
  30. val operationParser: Quotation.Parser[Operation]

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

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

    Permalink
  33. val patMatchParser: Quotation.Parser[Ast]

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  44. val traversableOperationParser: Quotation.Parser[TraversableOperation]

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

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

    Permalink
  47. final def wait(): Unit

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped