Skip to content
Snippets Groups Projects
  1. Feb 19, 2014
  2. Feb 17, 2014
  3. Feb 10, 2014
  4. Feb 07, 2014
  5. Nov 28, 2013
  6. Nov 15, 2013
  7. Nov 14, 2013
  8. 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
  9. Nov 06, 2013
  10. Nov 03, 2013
  11. Nov 02, 2013
  12. Nov 01, 2013
  13. Oct 30, 2013
  14. Oct 17, 2013
  15. Oct 16, 2013
  16. Oct 10, 2013
  17. Oct 06, 2013
  18. Sep 23, 2013
  19. Aug 26, 2013
    • Konstantin Osipov's avatar
      Implement the new data dictionary. · 93f8cf3f
      Konstantin Osipov authored
      Store the information about spaces in a pre-recreated
      system space.
      
      https://blueprints.launchpad.net/tarantool/+spec/space-ddl
      
      Remove space configuration from confetti.
      Use transaction and space triggers to run post-DML
      actions to perform DDL changes.
      
      Implement a Lua FFI binding to disable tests.
      
      Temporarily disable space-loading code in tarancheck
      and tarantar (this breaks them).
      
      Mostly all tests are broken.
      Memcached is disabled (non-functional).
      93f8cf3f
    • Dmitry Simonenko's avatar
      lua-console: make admin console work entirely under lua. · 90ebc525
      Dmitry Simonenko authored
      Integrate libyaml instead of internal yaml formaters.
      
      changelog:
      * fixed i64 convertion bug
      * refactored bindings to new admin .info() scheme
      * moved lua plugin api to separate file
      * moved lua fiber api to separate file
      * slab binding refactored
      * added fiber lua bindings
      * rewriten admin reply handler
      * proper yaml end-of-document formater
      * proper server error formater
      * fixed bug with leftover data on stack on exception error
      * added support of i64 types to lyyaml
      * removed couple of box.show_ bindings
      * console client fixes to support new scheme
      
      This push has a yet broken test's.
      90ebc525
  20. Aug 20, 2013
  21. Aug 19, 2013
  22. Jul 11, 2013
  23. Jul 10, 2013
  24. Jun 28, 2013
  25. Jun 24, 2013
  26. Jun 20, 2013
  27. Jun 18, 2013
    • Konstantin Osipov's avatar
      tuple-access: code review fixes · af4164fb
      Konstantin Osipov authored
      Two significant changes (both arguable, since this patch is about
      taste by a large measure):
      
      1) Split tuple_seek() into two: tuple_rewind()
      and tuple_seek().
      
      tuple_rewind() simply initializes the iterator and
      sets it to 'before-first' position.
      tuple_seek() returns a field, and sets the iterator
      to the position after the returned field.
      
      Previosly there was only tuple_seek(), which required
      tuple_next() to get the field, and it was confusing whether
      or not tuple_next() after tuple_seek() is required.
      Indeed, the very code I chagned sometimes would
      call tuple_next() after tuple_seek() and sometimes would not.
      
      2) Move the return value of the iterator outside
      of iteration state.
      
      The advantage of "binding" the out parameters of the iterator to
      iterator state is that you bind once, and don't need to supply out
      parameters into every call to tuple_next() function. It also makes
      it easy to add extra out parameters for bind in the future (field
      data type, flags, etc).
      
      This makes "binding" technique popular in database driver
      APIs. Binding makes API more stable, which is also
      important in drivers.
      
      In this case, however, binding adds for extra lines of code
      and (possibly) few extra instructions. Plus, since
      this is an internal API which we can change any day,
      its stability is not as important. So it seems that for
      now we're better of with an API which is a bit
      more concise/efficient, and can switch to using binding later,
      if needed.
      af4164fb
    • Dmitry E. Oboukhov's avatar
      a3767dcc
  28. Jun 14, 2013
  29. Jun 08, 2013
  30. Jun 07, 2013
Loading