-
Notifications
You must be signed in to change notification settings - Fork 208
Description
~/ octosql "SELECT firstname, lastname, gender, size, weight FROM random.csv r0 JOIN random1.csv r1 WHERE r0.id = r1.id and gender in ('Male', 'Female')"
panic: unexhaustive expression type match
goroutine 1 [running]:
github.com/cube2222/octosql/physical.Expression.variablesUsed({{0x9, {}, {}, {}, {}, {}, {}, {}, {0x0}, {{0x0, ...}}, ...}, ...}, ...)
/home/runner/work/octosql/octosql/physical/expression.go:334 +0x1fb
github.com/cube2222/octosql/physical.Expression.variablesUsed({{0xa, {}, {}, {}, {}, {}, {}, {}, {0x0}, {{0x0, ...}}, ...}, ...}, ...)
/home/runner/work/octosql/octosql/physical/expression.go:313 +0x3b8
github.com/cube2222/octosql/physical.Expression.VariablesUsed({{0xa, {}, {}, {}, {}, {}, {}, {}, {0x0}, {{0x0, ...}}, ...}, ...})
/home/runner/work/octosql/octosql/physical/expression.go:295 +0xc5
github.com/cube2222/octosql/optimizer.PushDownFilterPredicatesIntoStreamJoinBranch.func1({{{0xc0010f5000, 0x9, 0x9}, 0xffffffffffffffff, 0x1}, 0x2, 0x0, 0x0, 0xc000d1ec60, 0x0, ...})
/home/runner/work/octosql/octosql/optimizer/push_filter_into_stream_join_branch.go:25 +0x2d8
github.com/cube2222/octosql/physical.(*Transformers).TransformNode(, {{{0xc0002c6800, 0x9, 0x9}, 0xffffffffffffffff, 0x1}, 0x2, 0x0, 0x0, 0xc000864160, ...})
/home/runner/work/octosql/octosql/physical/transform.go:228 +0xc62
github.com/cube2222/octosql/physical.(*Transformers).TransformNode(, {{{0xc0002c8fc0, 0x5, 0x5}, 0xffffffffffffffff, 0x1}, 0x6, 0x0, 0x0, 0x0, ...})
/home/runner/work/octosql/octosql/physical/transform.go:116 +0x19ba
github.com/cube2222/octosql/optimizer.PushDownFilterPredicatesIntoStreamJoinBranch({{{0xc0002c8fc0, 0x5, 0x5}, 0xffffffffffffffff, 0x1}, 0x6, 0x0, 0x0, 0x0, 0x0, ...})
/home/runner/work/octosql/octosql/optimizer/push_filter_into_stream_join_branch.go:112 +0xca
github.com/cube2222/octosql/optimizer.Optimize({{{0xc0002c8fc0, 0x5, 0x5}, 0xffffffffffffffff, 0x1}, 0x6, 0x0, 0x0, 0x0, 0x0, ...})
/home/runner/work/octosql/octosql/optimizer/optimize.go:26 +0x116
github.com/cube2222/octosql/cmd.glob..func4(0x15f71c0, {0xc0002960b0, 0x1, 0x1?})
/home/runner/work/octosql/octosql/cmd/root.go:318 +0x20d8
github.com/spf13/cobra.(*Command).execute(0x15f71c0, {0xc000030050, 0x1, 0x1})
/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x67c
github.com/spf13/cobra.(*Command).ExecuteC(0x15f71c0)
/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:974 +0x3b4
github.com/spf13/cobra.(*Command).Execute(...)
/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:902
github.com/spf13/cobra.(*Command).ExecuteContext(...)
/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:895
github.com/cube2222/octosql/cmd.Execute({0xfc1d88?, 0xc0001eaf40?})
/home/runner/work/octosql/octosql/cmd/root.go:471 +0x53
main.main()
/home/runner/work/octosql/octosql/main.go:24 +0xe8
However :
~/ octosql "SELECT firstname, lastname, gender, size, weight FROM random.csv r0 JOIN random1.csv r1 WHERE r0.id = r1.id AND (gender = 'Male' OR gender = 'Female')"
+--------------+-----------------------+----------+------+--------+
| firstname | lastname | gender | size | weight |
+--------------+-----------------------+----------+------+--------+
| 'Ada' | 'Robel' | 'Male' | 154 | 103 |
| 'Adam' | 'MacGyver' | 'Female' | 183 | 60 |
| 'Adrian' | 'Zulauf' | 'Male' | 168 | 47 |
| 'Al' | 'Spinka' | 'Female' | 143 | 63 |