Open ghost opened 11 years ago
I have not seen any discussion about supporting outer joins. I think you would need to start by determining how outer joins are represented in the relational calculus (if at all). You would then want to think about how the type of the query is represented. For example, a left join between T1 and T2 on the column c1, where c1 is a non-nullable integer column in both tables, might look like:
Query (Rel (T1.c1 Int) ...) -> Query (Rel (T2.c1 Int) ...) -> Query (Rel (T1.c1 Int) (T2.c1 (Maybe Int)) ...)
After figuring out the types, you'll need think about how the query gets "compiled" into SQL, but the types are the most important part.
On Thu, Nov 15, 2012 at 6:26 AM, agyomrey notifications@github.com wrote:
Hi,
is there any discussion about supporting outer joins? i looked a lot in google and i couldn't find it. I know it's because of the non-nullable fields becoming automatically nullable because of the nature of the outer join.
Actually i don't know where to start from, but a previous discussion or notes would be helpful,
Andras
— Reply to this email directly or view it on GitHubhttps://github.com/m4dc4p/haskelldb/issues/9.
Hi,
is there any discussion about supporting outer joins? i looked a lot in google and i couldn't find it. I know it's because of the non-nullable fields becoming automatically nullable because of the nature of the outer join.
Actually i don't know where to start from, but a previous discussion or notes would be helpful,
Andras