TileDB Go Save

Go Interface to the TileDB storage manager

Project README

TileDB logo

TileDB Go Bindings

GoDoc Build Status

This package provides TileDB golang bindings via cgo. The bindings have been designed to be idomatic Go. runtime.SetFinalizer is used to ensure proper free'ing of C heap allocated structures.

Installation

Supported Platforms

Currently the following platforms are supported:

  • Linux
  • macOS (OSX)

Prerequisites

This package requires the TileDB shared library be installed and on the system path. See the official TileDB installation instructions for installation methods. TileDB must be compiled with serialization support enabled.

Go Installation

To install these bindings you can use go get:

 go get -v github.com/TileDB-Inc/TileDB-Go

To install package test dependencies:

go get -v -t github.com/TileDB-Inc/TileDB-Go

Package tests can be run with:

go test github.com/TileDB-Inc/TileDB-Go

Compatibility

TileDB-Go follows semantic versioning. Currently TileDB core library does not, as such the below table reference which versions are compatible.

TileDB-Go Version TileDB Version
0.7.X 1.6.X
0.8.0 1.7.0
0.8.1 1.7.0
0.8.2 1.7.2
0.8.3 >=1.7.3
0.8.4 >=1.7.3
0.8.5 >=1.7.3
0.9.0 2.0.X
0.10.0 2.1.X
0.11.0 2.2.X
0.12.0 2.3.X
0.13.0 >=2.4.X
0.14.0 >=2.5.X
0.15.0 >=2.8.X
0.16.0 2.10.X
0.17.0 2.11.X
0.18.0 2.12.X
0.19.0 2.13.X
0.20.0 2.14.X
0.21.0 2.15.X
0.22.0 2.16.X
0.23.0 2.17.X
0.24.0 2.18.X
0.25.0 2.19.X
0.26.0 2.20.X
0.27.0 2.21.X
0.28.0 2.22.X

Missing Functionality

The following TileDB core library features are missing from the Go API:

  • TileDB generic object management
  • TileDB group creation

Deprecated Functionality

0.21.0

The query methods (Set)?Buffer(Var|Nullable|Var|Unsafe)* are deprecated because the corresponding TileDB core methods are removed. The methods will be supported for 2 releases and are expected to be removed in release 0.23. It is recommended to use the proper combination of (Set|Get)DataBuffer, (Set|Get)ValidityBuffer and (Set|Get)OffsetBuffer.

0.23.1

The query methods (Add|Get)?Range are deprecated because they are deprecated in TileDB core. It is recommend to use the Subarray type for building queries. The methods will be removed in the release following their removal from TileDB core.

0.24.0

Array.DeleteFragments is deprecated in favor of tiledb.DeleteFragments which binds to C.tiledb_array_delete_fragments_v2 the preferred method to delete fragments in TileDB 2.18.0.

Open Source Agenda is not affiliated with "TileDB Go" Project. README Source: TileDB-Inc/TileDB-Go
Stars
46
Open Issues
13
Last Commit
2 weeks ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating