JoinedTable計算アルゴリズムの不備
mazrean opened this issue · comments
現在のアルゴリズムだと
- 1つのテーブルに2つのテーブルがJoinされる
- 枝分かれの先にテーブルが2つ以上ある
の条件を満たしたテーブルがJoinedTableに出てこず、エラーになる。
出てこない条件がちょっと違っていた
現在のアルゴリズムでは、1個だけのテーブルがある状態から2テーブルがjoinされたテーブル、3テーブルがjoinされたテーブル、…というふうにjoin後のテーブルを計算している。
この時、2テーブルがjoinされたテーブルに1テーブルをくっつけることで3テーブルがjoinされたテーブルを作っている。
この際にエッジ(ref)の向きに関係なく1テーブルを追加する必要があるが、実際には片方の場合しか追加されていなかった。
このため、多くのjoin後のパターンが抜ける可能性がある。