Skip to content

Releases: tarantool/crud

1.4.0

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 16 Oct 15:24

Overview

This release improves experience for VShard clusters users and Tarantool 3 users. It also introduces schema introspection API.

New features

  • Space schema introspection API crud.schema (#380).

Bugfixes

  • Return explicit error for *_many call with no tuples/objects (#377).
  • crud.readview resource cleanup on garbage collect (#379).
  • VShard storage user have not execution rights for internal functions (#366).
  • Compatibility with Tarantool 3.0 tuple objects (#387).

Infrastructure

  • deps.sh installs the vshard instead of the cartridge by default (#364). You could to specify an environment variable CARTIRDGE_VERSION to install the cartridge and run tests cases with it.
  • doc/playground.lua does not work with Tarantool 3 (#371).
  • Tests with Tarantool 3 (#364).
  • Quickstart section in the README.md focuses on usage with vshard instead of Cartridge (#366).

1.3.0

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 27 Sep 07:25

Overview

This release introduces read view support for select and pairs. A read view is an in-memory snapshot of data on instance that isn't affected by future data modifications. For a sharded cluster, we open a read view on each storage when one is requested from the router. Read views are supported for Tarantool Enterprise since 2.11.

New features

  • Read view support for select and pairs (#343).

1.2.0

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 07 Jun 11:59

Overview

This release add two new flags: noreturn to ignore return values excessive transfer and encoding/decoding for insert/replace/etc (performance improvement up to 10% for batch requests) and fetch_latest_metadata to force fetching latest space format metadata right after a live migration (performance overhead may be up to 15%).

New features

  • Add noreturn option for operations: insert, insert_object, insert_many, insert_object_many, replace, replace_object, replace_many, insert_object_many, upsert, upsert_object, upsert_many, upsert_object_many, update, delete (#267).

Bugfixes

  • Crud DML operations returning stale schema for metadata generation. Now you may use fetch_latest_metadata flag to work with latest schema (#236).

1.1.1

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 24 Mar 14:57

Overview

This release fixes a critical bug that resulted in 100% storage CPU load and fixes a couple of issues related to the development pipeline.

Changes

  • Rename DEV environment variable to TARANTOOL_CRUD_ENABLE_INTERNAL_CHECKS (#250).

Bugfixes

  • Yield on select/pairs storage tuple lookup (#312).
  • Fix loaded functions misleading coverage (#249).

1.1.0

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 13 Mar 09:40

Overview

This release introduces new API to check module version in code, as well as several compatibility bugfixes.

New features

  • Add versioning support (PR #342).

Bugfixes

  • Fix pre-hotreload cartridge support (older than 2.4.0) (PR #341).
  • Fix Tarantool version-dependent features for 3.x (PR #344).

1.0.0

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 02 Feb 15:08

Overview

This release introduces a breaking change with removing a deprecated feature: crud.len(space_id).

This release also introduces a Cartridge clusterwide config to setup crud.cfg.

Breaking changes

You cannot use space id as a space identifier in crud.len anymore. Use space name instead.

New features

  • Timeout condition for the validation of master presence in replicaset and for the master connection (#95).
  • Cartridge clusterwide configuration for crud.cfg (#332).

Changes

  • Forbid using space id in crud.len (#255).

Fixes

  • Add validation of the master presence in replicaset and the master connection to the utils.get_space method before receiving the space from the connection (#331).
  • Fix fiber cancel on schema reload timeout in call_reload_schema (PR #336).

0.14.1

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 17 Nov 10:53

Overview

This release introduces the support of sequences for insert_object, insert_object_many, replace_object, replace_object_many and impoved error messages for some cases.

Warning: there is no native support for sequences in sharded systems since each replicaset has its own sequence. If sequence field is a part of the sharding key (which is true by default), choosing the bucket id is the sole responsibility of the developer.

New features

  • skip_nullability_check_on_flatten option for insert_object, insert_object_many, replace_object, replace_object_many. false by default. By setting the option to true you allow setting null values to non-nullable fields (#328).

Changes

  • Rework NonInitialized error message to be more helpful for troubleshooting (#326).

0.14.0

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 14 Sep 08:36

Overview

This release introduces vshard group and non-default vshard routers support.

To use a space from Cartridge vshard group, pass the group name to a vshard_group request option.

local res, err = crud.select('customers',
                             {{'<=', 'age', 35}},
                             {first = 10, vshard_group = 'hot'})

To use a space from non-default vshard router, pass the router object to a request.

local vshard_router = vshard.router.new(name, cfg)
local res, err = crud.select('customers',
                             {{'<=', 'age', 35}},
                             {first = 10, vshard_group = vshard_router})

New features

  • vshard group and non-default vshard routers support (#44).

Changes

  • Deprecate using space id in crud.len (#255).

0.13.0

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 29 Aug 15:33

Overview

The main feature of this release is the full support of vshard sharding functions (see ddl 1.6.2 for corresponding ddl release).

Breaking changes

There are no breaking changes in the release.

New features

  • crud.storage_info function to get storages status (#229).

Bugfixes

  • Fix specifying vshard sharding funcs (#314).

0.12.1

Choose a tag to compare

@DifferentialOrange DifferentialOrange released this 21 Jul 12:05

Overview

This is a bugfix release. It introduces several fixes related to crud and ddl module integration.

Breaking changes

There are no breaking changes in the release.

Bugfixes

  • Fetching invalid ddl configuration (sharding key for non-existing space)
    is no longer breaks CRUD requests (#308, PR #309).
  • ddl space record delete no more throws error if crud is used (#310, PR #311).
  • crud sharding metainfo is now updated on ddl record delete (#310, PR #311).