Experimental Go bindings for substrait
This is work in progress still, things still to do:
- Expression parsing
- Reading in extension yamls
- CI building and testing the implementation
- Serialization/Deserialization of some expression types:
- IfThen
- SwitchExpression
- SingularOrList
- MultiOrList
- Cast
- Nested
- Subquery
- Plan Building helpers
As this is built out, you can expect refactors and other changes to the structure of the package for the time being. The API should not yet be considered stable.
First ensure you have buf
installed by following https://docs.buf.build/installation.
Run the following to install the Go plugin for protobuf:
$ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
Ensure that your GOPATH is on your path:
$ export PATH="$PATH:$(go env GOPATH)/bin"
As long as buf and the Go protobuf plugin are installed, you can
simply run go generate
to generate the updated .pb.go
files. It
will generate them by referencing the primary substrait-io repository.
You can then commit the updated files.