Skip to content
Snippets Groups Projects
user avatar
Vladimir Davydov authored
The generic approach trying to build the merge procedure around the
vy_stmt_iterator interface didn't pan out, because sources are way too
different: in contrast to other sources, the cache stores intervals;
run iterators may yield; txw does not preserve statement history.

Let's rewrite vy_read_iterator_next_{key,lsn} in such a way that they
do not use this generic interface. This results in a quite bit of code
being duplicated, because loops over sources are unrolled, but this is
intentional - hopefully it makes the code easier to follow. The patch
isn't supposed to change the merge algorithm or remove any optimization
implemented in it.
023ab35f
History

Tarantool

Build Status Code Coverage Telegram Slack Gitter Google Groups

http://tarantool.org

Tarantool is an in-memory database and application server.

Key features of the application server:

  • 100% compatible drop-in replacement for Lua 5.1, based on LuaJIT 2.1. Simply use #!/usr/bin/tarantool instead of #!/usr/bin/lua in your script.
  • full support for Lua modules and a rich set of own modules, including cooperative multitasking, non-blocking I/O, access to external databases, etc

Key features of the database:

  • MsgPack data format and MsgPack based client-server protocol
  • two data engines: 100% in-memory with optional persistence and a 2-level disk-based B-tree, to use with large data sets
  • multiple index types: HASH, TREE, RTREE, BITSET
  • asynchronous master-master replication
  • authentication and access control
  • the database is just a C extension to the app server and can be turned off

Supported platforms are Linux/x86 and FreeBSD/x86, Mac OS X.

Tarantool is ideal for data-enriched components of scalable Web architecture: queue servers, caches, stateful Web applications.

To download and install Tarantool as a binary package for your OS, please visit https://tarantool.org/download.html.

To build Tarantool from source, see detailed instructions in the Tarantool documentation at https://tarantool.org/doc/dev_guide/building_from_source.html.

Please report bugs at http://github.com/tarantool/tarantool/issues We also warmly welcome your feedback in the discussion mailing list, tarantool@googlegroups.com.

Thank you for your interest in Tarantool!