All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- New factory method, FlexMultiTimeSeriesTable, to create a MultiTimeSeriesTable with multiple index-fields and a supplied Bucketer. The existing factory method on KeySpace, MultiTimeSeriesTable, operates as before using a default implementation of Bucketer that provides the original behaviour.
- Checks on table names in tests
- Added ability to close connections
- MultiTimeSeriesTable so that it can be configured with multiple index-fields and with an instance of an implementation of a new Bucketer interface to allow for alternative bucketing strategies, and for more flexible indexes
- Implemented
ORDER BY
for read queries
- Updated mock tables to use new method of decoding, now also supports embedded and non-key map types.
- Fixed incorrect ordering of results in
MockTable
- Fixed issue causing
Set
to fail with "PRIMARY KEY part user found in SET part" if keys are lower-case.
- Allow creating tables with compound keys
- Added the
MultimapMultiKeyTable
recipe which allows for CRUD operations on rows filtered by equality of multiple fields. - Add support for compact storage and compression
- Add
CreateIfNotExistStatement
andCreateIfNotExist
functions toTable
- Improved how gocassa handles encoding+decoding, it no longer uses the
encoding/json
package and now supports embedded types and type aliases. - Added new functions to
QueryExecutor
interface (QueryWithOptions
andExecuteWithOptions
)
- Mock tables are now safe for concurrent use
uint
types are now supported, when generating tables the cassandravarint
type is used.- Fixed gocassa using
json
tags when decoding results into structs