v0.17.0
Breaking changes
-
UAST UDFs now returns data in a specific format, in a BLOB column.
-
You must regenerate indexes to use this version.
pilosalib
index driver is now calledpilosa
, and the oldpilosa
driver does not exists anymore.
Bugfixing
- *: pushdown projections properly in the files table
- remove oniguruma support from prebuilt binaries
- gitbase: close repositories in squash table
- pilosalib: fix index usage with parallelism
- sql/plan: make sure ResolvedTable closes row iterators
- vendor: upgrade go-git, fix closed file in pack iter
- gitbase: remove warnings on symbolic references
- function: fix race condition getting UASTs
- sql/analyzer: check non-parallelizable nodes under QueryProcess
- sql/analyzer: execute parallelize as last rule
- rule: do not error when parts of joins are not squashable
- gitbase: close siva FS after use
- If deferredColumns is an alias then resolve it.
- Fix get/set from global table.
- build: disable static linking and oniguruma
- rule: fix unability to check conditions of natural joins
New features
- A new way to serialize UASTs
- uast_children new UDF
- uast_extract new UDF
- *: implement show full processlist
- *: implement session configuration
- sql/index: remove old pilosa driver and rename pilosalib to pilosa
- gitbase: implement sql.PartitionCounter in all tables
- *: correctly handle process management using processlist
- sql/plan: make create index sync by default
- sql/analyzer: resolve aggregate aliases in groupby grouping
- Upgrade mysql and vitess.
- build: only tag latest in docker when version is not prerelease.
- build: make static build with oniguruma enabled
- internal/function: modify uast_extract to return a flattened array
- sql: make table resolution case insensitive
- Support ON/OFF for SET autocommit
- Update go-mysql-server to do not force timeouts
- Add timeout on the configuration
Performance improvements
- Update pilosa to the latest version
- Add partitions to process several repositories at the same time
- Add UAST cache
- Add language cache
- Compile gitbase using oniguruma instead regular regex expressions to make LANGUAGE function faster
- One cache for repository pool.
- gitbase: use KeepDescriptors go-git option
- *: make SquashedTable not implement sql.Node
Documentation
- Make some snippets copyable
- docs: fix how to install oniguruma on linux
- docs: fix uast function descriptions to reflect the new uast serialization
- docs: explain how uast and uast_mode functions serialize data
- docs: add GITBASE_CACHESIZE_MB to the documentation
- docs: add note about oniguruma support in static binary
- docs: guide on how to optimize queries
- docs: add code example on how to manage serialized uast data
- docs: fix optional dependencies
- docs: Add instructions how to run in docker with bblfsh
- docs: improve uast functions documentation