ru.primetalk.typed.ontology.simplemeta3

Type members

Classlikes

object Converter
case object EmptySchema extends RecordSchema
abstract class ForeignKeyId[R1, R2, T, P1 <: SimplePropertyId[R1, T], P2 <: SimplePropertyId[R2, T]](val prop1: P1, val prop2: P2) extends ForeignKeyId0
sealed trait ForeignKeyId0
case class JointSchema[S1 <: RecordSchema, S2 <: RecordSchema](schema1: S1, schema2: S2)(joinSchema: Concat[S1, S2])
Companion:
object
Companion:
class
sealed trait NonEmptySchema extends RecordSchema
sealed trait RecordProperty[A] extends RecordProperty0

Type of record property identifier.

Type of record property identifier.

sealed trait RecordProperty0
Companion:
object
Companion:
class
sealed trait RecordSchema

Schema of properties for record R. We can use tuples to represent instances of this schema.

Schema of properties for record R. We can use tuples to represent instances of this schema.

Companion:
object
Companion:
class
trait Relation0
Companion:
object
object Relation0
Companion:
class
final case class SchemaCons[P <: RecordProperty0, S <: RecordSchema](p: P, schema: S) extends NonEmptySchema
abstract class SimplePropertyId[A, B](name1: String, val tpe: ClassTag[B]) extends RecordProperty[A]

Metainformation about property. Contains unique name (within the type) and type of the value. Might contain other metainformation about property, like Schema.

Metainformation about property. Contains unique name (within the type) and type of the value. Might contain other metainformation about property, like Schema.

Types

Value members

Concrete methods

def fieldsImpl[S <: RecordSchema](propertyList: Expr[Seq[RecordProperty0]], schemaExpr: Expr[S])(using Type[S])(using Quotes): Expr[RecordSchema]
transparent inline def leftInnerJoin2[T1 <: Relation0, T2 <: Relation0, FK <: ForeignKeyId0](inline table1: T1, inline table2: T2, inline fk: FK): List[Concat[Values, Values]]
def propertyGetterImpl[V <: NonEmptyTuple, I <: Int](i: Expr[Int])(using vt: Type[V], rt: Type[I])(using Quotes): Expr[V => Elem[V, I]]
def showExprImpl(a: Expr[Any])(using Quotes): Expr[String]
def sprepend[S <: RecordSchema, P <: RecordProperty0](schema: S, p: P): SchemaCons[P, S]
def to[T, R : Type](f: Expr[T] => Expr[R])(using t: Type[T])(implicit evidence$1: Type[R], Quotes): Expr[T => R]
def traitExprImpl(a: Expr[Any])(using Quotes): Expr[Any]
def tupleToSchemaImpl[T <: Tuple](t: Expr[T], ev: Expr[IsMappedBy[RecordProperty][T]])(using Quotes): Expr[RecordSchema]

Extensions

Extensions

extension [S <: RecordSchema](schema: S)
transparent inline def append[P <: RecordProperty0](p: P): RecordSchema
def prepend[P <: RecordProperty0](p: P): SchemaCons[P, S]