Skip to content

v0.17.0

Compare
Choose a tag to compare
@ajnavarro ajnavarro released this 17 Oct 14:29
· 543 commits to master since this release
cffce77

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 called pilosa, and the old pilosa 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