Closed CodeLionX closed 6 years ago
I know that tests are missing! I will add them in a separate PR, together with some refactorings
Cool, I'm working on some tests right now but I can apply the changes to a new branch for the new PR.
W.r.t. the ToDo's - or talking points - you note for this PR:
Nullable
and NotNullable
etc., but this will be a good functionality, albeit not of pressing necessityTypedColumnDef
to be ColumnDef[T]
and have an UntypedColumnDef
since our current Relation
impls don't support untyped ColumnDef
s, right?I also think we have focus on that relations are not tables in the model we're trying to implement. Well, they are, but they are not supposed to be used to, e.g. hold line items or large sets of data. So far we are, in fact, not planning on distributing relations on multiple actors, right?
Proposed Changes
Relation
Column
Records
(Data Tuples, Rows)RowRelation
ColumnRelation
Notes
basic functionality working:
RowRelation
andColumnRelation
, we should work onRowRelation
as the logic there is way simplerRelation
:example insert:
example where:
Open ToDos (for separate PR!)
We must have a talk about these.
NotNullable
,Nullable
, defaultsSELECT
)SchemaDef
-trait ?? eg. Relation has a name, foreign-key constraints,ColumnDef
sTypedColumnDef[T]
-->ColumnDef[T]
andColumnDef
-->UntypedColumnDef
, because currentTypedColumnDef[T]
is used by application dev. and currentColumnDef
should almost ever be hidden (used internally)