Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upMerge `Expression` with `SelectableExpression` #6
Comments
sgrif
changed the title from
Move the second type argument of `SelectableExpression` to an associated type
to
Merge `Expression` with `AsExpression`
Jan 30, 2016
sgrif
changed the title from
Merge `Expression` with `AsExpression`
to
Merge `Expression` with `SelectableExpression`
Jan 30, 2016
This comment has been minimized.
|
I've updated the title of this to where I think this should go based on recent developments. Ultimately What I'm currently imagining is the resulting trait being pub trait Expression<Source> {
type SqlType;
}One thing that's stood out to me lately is that the only case where It is entirely possible that this indicates a fundamental flaw either in how we handle nulls, or how we vary the sql type for joins. I am open to any ideas/opinions about that, or this change in general. |
sgrif commentedNov 25, 2015
I'd like to make this refactoring to clean up parts of our type system. However, I can't seem to figure out how to express tuples with that refactoring, as right now a tuple of
(A, B, C)can be expressed in two ways if all 3 of the inner types are nullable, it can beNullable<(SA, SB, SC)>or(Nullable<SA>, Nullable<SB>, Nullable<SC>).This is important for the ergonomics of left outer joins. I'd be fine with dropping the second case for joins, but we definitely cannot drop it more generally.