ru.primetalk.typed.ontology.simplemeta3
Type members
Classlikes
abstract class ForeignKeyId[R1, R2, T, P1 <: SimplePropertyId[R1, T], P2 <: SimplePropertyId[R2, T]](val prop1: P1, val prop2: P2) extends ForeignKeyId0
case class JointSchema[S1 <: RecordSchema, S2 <: RecordSchema](schema1: S1, schema2: S2)(joinSchema: Concat[S1, S2])
- Companion:
- object
Type of record property identifier.
Type of record property identifier.
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
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 to[T, R : Type](f: Expr[T] => Expr[R])(using t: Type[T])(implicit evidence$1: Type[R], Quotes): Expr[T => R]
def tupleToSchemaImpl[T <: Tuple](t: Expr[T], ev: Expr[IsMappedBy[RecordProperty][T]])(using Quotes): Expr[RecordSchema]
Extensions
Extensions
extension [S <: RecordSchema](schema: S)