Skip to content

Releases: src-d/gitbase

v0.17.0

17 Oct 14:29
cffce77
Compare
Choose a tag to compare

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

v0.17.0-rc.7

16 Oct 14:53
7423570
Compare
Choose a tag to compare
v0.17.0-rc.7 Pre-release
Pre-release

Bugfixing

  • Update go-mysql-server and pilosa dependencies

v0.17.0-rc.6

16 Oct 09:16
6f19609
Compare
Choose a tag to compare
v0.17.0-rc.6 Pre-release
Pre-release

Bugfixing

  • build: disable static linking and oniguruma
  • rule: fix unability to check conditions of natural joins

Documentation

  • 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

v0.17.0-rc.5

05 Oct 12:15
06fcb6d
Compare
Choose a tag to compare
v0.17.0-rc.5 Pre-release
Pre-release
  • Update go-mysql-server to do not force timeouts
  • Add timeout on the configuration

v0.17.0-rc.4

03 Oct 11:30
a030c3a
Compare
Choose a tag to compare
v0.17.0-rc.4 Pre-release
Pre-release

Breaking changes

With this version is not possible to use old UAST serialization anymore.

New features

  • 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

Bugfixing

  • 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.

Documentation

  • 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

v0.17.0-rc.3

25 Sep 10:53
5978e16
Compare
Choose a tag to compare
v0.17.0-rc.3 Pre-release
Pre-release

Breaking changes

You must need to regenerate indexes to use this version. pilosalib index driver is now called pilosa, and the old pilosa driver does not exists anymore.

New features

  • 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

Bugfixing

  • 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

Documentation

  • docs: fix uast function descriptions to reflect the new uast serialization

v0.17.0-rc.2

18 Sep 16:16
1d223e6
Compare
Choose a tag to compare
v0.17.0-rc.2 Pre-release
Pre-release

New features

  • *: implement show full processlist
  • *: implement session configuration

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

Performance improvements

  • One cache for repository pool.
  • gitbase: use KeepDescriptors go-git option
  • *: make SquashedTable not implement sql.Node

Documentation

  • docs: fix how to install oniguruma on linux

v0.17.0-RC1

10 Sep 15:18
466a785
Compare
Choose a tag to compare
v0.17.0-RC1 Pre-release
Pre-release

Breaking changes

UAST UDFs now returns data in a specific format, in a BLOB column. To make gitbase able to return the old JSON format, you need to add --old-uast-serialization on gitbase execution. This format and the flag will be removed in future versions.

New features

  • A new way to serialize UASTs
  • uast_children new UDF
  • uast_extract new UDF

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

Documentation

  • Make some snippets copyable

v0.16.0

29 Aug 15:21
96b30e9
Compare
Choose a tag to compare

This version introduces an incompatible change processing UASTs. Now the format of UAST returned by the UDF uast is semantic. Previously the format was annotated

A new UDF uast_mode was added to get UASTs in a specific format (semantic, annotated or native). Example:

uast_mode('annotated', blob_content, language(tree_entry_name, blob_content)), '//*[@roleIdentifier]')

New Features

  • Upgrade bblfsh client and add uast_mode function #439
  • Pilosa index driver as library (pilosalib)
  • sql: add support for show indexes
  • vendor: upgrade bblfsh client-go
  • Dockerfile: update to use --directories flag
  • cmd/gitbase: load siva files and git indistinctly
  • *: rename ref_commits index to history_index
  • gitbase: add a more descriptive error connecting to bblfsh
  • internal/rule,gitbase: use refs indexes in squash tables
  • internal/rule: display indexed tables in squash
  • gitbase: do not warn on not found HEAD
  • Now, DESCRIBE statement return used indexed ids on queries

Performance improvements

  • Optimize struct layout #437
  • Add regression testing queries #431
  • Do not register pilosa driver if no connection.
  • *: add siva files to the repository pool with an ID
  • Update to new go-git version (~ 40%-60% speed performance, 60% less memory)
  • sql/plan: more efficient implementation of GroupBy

Bugfixing

  • Solved a problem parsing USING in CREATE INDEX
  • gitbase: do not skip repo when it has no head in squash
  • internal/function: recover from panics in uast functions
  • Fix "NOT expressions with non existing value"
  • fix panic when bmp is nil
  • Fix merging indexes when row is nil.
  • Add regression queries

Documentation

  • Documentation enhancenments #434, #435
  • docs: update references to go-mysql-server

v0.16.0-RC4

28 Aug 14:07
93275a6
Compare
Choose a tag to compare
v0.16.0-RC4 Pre-release
Pre-release

This version introduces an incompatible change processing UASTs. Now the format of UAST returned by the UDF uast is semantic. Previously the format was annotated

A new UDF uast_mode was added to get UASTs in a specific format (semantic, annotated or native). Example:

uast_mode('annotated', blob_content, language(tree_entry_name, blob_content)), '//*[@roleIdentifier]')

Improvements

  • Documentation enhancenments #434, #435
  • Optimize struct layout #437
  • Add regression testing queries #431
  • Remove unused code #445
  • Upgrade bblfsh client and add uast_mode function #439