mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 02:44:59 +00:00
It turns out that the problem with nested joins was that we were trying to cleverly invert them, but that seems to be incorrect and resulted in incorrect nesting. The test case for this is SELECT * FROM X INNER JOIN Y ON true INNER JOIN Z ON false this is now parsed as (X inner join Y on true) inner join z on false Which, as it turns out, is the structure that stringizes back to the original statement. We were previously parsing it as X inner join (y inner join z on false) on true which stringizes out to a different form, and is also, I think, just straightforwardly not what we want. So basically, we had special case code to recognize that we were doing a join on top of another join, and invert them in some way, and I have no idea why because that seems not to be correct, or at least, it produces nonsensical stringizing that we can't then parse. |
||
|---|---|---|
| .. | ||
| parser | ||
| planner | ||
| test | ||
| errors.go | ||
| interfaces.go | ||
| main_test.go | ||
| sql_complex_test.go | ||
| sql_test.go | ||