Skip to content
Snippets Groups Projects
  1. Aug 26, 2015
    • Dmitry Simonenko's avatar
      sophia: switch to new storage scheme · b5e87307
      Dmitry Simonenko authored
      Support multi-part keys. Allow key duplicate
      compaction. Reduce storage cost, encode metadata,
      do not store msgpack (except value part).
      Reconstruct tuple on read using index schema.
      
      [replication]
      
      JOIN support temporary put to not working
      condition: there is no way to access possibly
      deleted space schema during the operation
      for a tuple reconstruction
      (multi-thread).
      
      recreate space key_def during join; enable join
      
      sophia: make every operation asynchronous
      
      sophia: fix join cursor and tests
      
      sophia: implement delayed update operation
      
      sophia: make delete write-only
      
      implement Handler::executeReplace
      
      sophia: merge fixes
      
      make upsert operation an engine specific
      
      sophia: make update logic common to memtx
      
      sophia-integration: switch to Sophia v1.2.3; implement upsert
      
      sophia: add half_commit mode support
      
      This mode disables conflict resolution for
      'prepared' transactions and solves the issue with
      concurrent write-write conflicts during wal write/yield.
      
      sophia: do not allocate tuple during replace or update; refactoring
      
      sophia: extend and reorganize test suite
      
      sophia: implement box.sophia()
      
      sophia: #681: support or produce error on space::alter
      
      sophia: extend recover tests
      
      sophia: add separate iterator tests
      
      box: enable per-engine select
      
          * add executeSelect() into engine handler API
          * add MemtxIndex; move preallocated m_position from Index to MemtxIndex
          * remove it->close()
          * remove IteratorGuard class
      
          note: Sysview and Sophia engines yet share the same select code in
          engine::executeSelect() (which does iterator alloc-free)
      
      box: remove close call from box_iterator_free()
      b5e87307
  2. Apr 22, 2015
  3. Jan 22, 2015
  4. Aug 27, 2014
  5. Aug 26, 2014
    • Roman Tsisyk's avatar
      Refactor msgpack, yaml, cjson to use common code base · 5a7d8b07
      Roman Tsisyk authored
      Major changes:
      
       - All common logic and code from all serializes replaced by
         luaL_field/luaL_serializer functions
       - All features and methods were unified
       - cdata support added to JSON
       - ffi's .NULL added to JSON
       - .cfg{} method added to MsgPack, YAML and JSON
       - .new() method added to MsgPack and YAML
       - NaN and Inf checks ported from JSON
       - array vs map detection logic ported from JSON
       - support for __serialize hint added for table/cdata/userdata
       - _serializer_compact and _serializer_type superseded by __serialize
       - 64-bit integers encoding/decoding fixed in JSON and YAML
       - floating point encoding/decoding fixed in YAML
       - JSON was converted from submodule
       - New TAP-based tests added for MsgPack, MsgPackFFI, YAML, JSON
      5a7d8b07
  6. Jul 30, 2014
  7. Apr 11, 2014
  8. Mar 11, 2014
  9. Feb 19, 2014
  10. Feb 10, 2014
  11. Dec 02, 2013
  12. Nov 14, 2013
  13. Nov 13, 2013
    • Roman Tsisyk's avatar
      Replace BER encoding with MsgPack everywhere · 37fef8eb
      Roman Tsisyk authored
      This commit completely changes the data format used by Tarantool.
      A new binary serialization format called MsgPack (http://msgpack.org)
      has been introduced to store tuples, keys, request members, etc.
      MsgPack supports various data types and hierarchical structures. Since
      tuple & keys format has been changed, the binary protocol is no more
      compatible with 1.5 clients.
      
      The list of major changes:
      
       * Add MsgPack library and unit tests as a submodule
       * Add Lua bindings for the library and unit tests for it
       * Update IPROTO to use MsgPack for all kinds of requests
       * Change struct tuple to use MsgPack Array instead of BER-encoded fields
       * Remove fixed offsets from tuples (cannot be supported by MsgPack)
       * Replace const char *key, key_part pairs with MsgPack Arrays
       * Rework comparators and indicies to support MsgPack'ed fields
       * Merge NUM and NUM64 types into the one single type (NUM)
       * Rewrite box_lua.cc functions to support MsgPack instead of BER
       * Rewrite tuple_update to support MsgPack instead of BER
       * Totaly remove varint32 functions from all modules
       * Rework lua_tofield and YAML encoder to properly support Lua tables
       * Modifie bootstrap files and system spaces to use the new format
       * Add MsgPack support to the test system via msgpack-python
       * Update tests to use proper data types and remove unneeded box.packs
      
      Tarantool 1.6 is the world's first MsgPack-based database!
      37fef8eb
  14. Oct 25, 2013
  15. Oct 16, 2013
  16. Sep 13, 2013
  17. Jun 01, 2013
  18. Feb 20, 2013
Loading