Source Modularization 1.6 - tsafin/tarantool GitHub Wiki

Tarantool v1.6 modularization proposal

This proposal comes together with Lua Modularization 1.6.

Modularization purpose is to separate applications server part from database one.

Open question:

  • tarantool lua modules namespaces vs. common lua modules

List of Changes

/client

  • client.lua installed to /usr/share/tarantool/client/...
  • tarantool symlink to tarantool_box or #!/usr/bin/tarantool_box require('tarantool.client')

/lib

  • bitset
  • bit
  • msgpuck
  • salad
  • small

/runtime

  • cpu_features
  • crc32
  • trace
  • exception
  • scope_guard
  • pthread
  • util
  • say
  • memory
  • coro
  • fiber
  • tbuf
  • iobuf
  • coeio
  • coio_buf
  • coio
  • evio
  • sio
  • fio
  • admin
  • ipc
  • mutex
  • lua/
  • tarantool_box main binary

/box

  • errcode
  • errinj
  • iproto box iproto might use runtime/evio service hooks
  • iproto_constants
  • iproto_port
  • log_io
  • recovery
  • replica.cc
  • replica.1.5.cc
  • replication
  • trigger
  • session
  • port
  • tuple
  • tuple_update
  • schema
  • space
  • request
  • txn
  • box
  • alter
  • key_def
  • bitset_index
  • hash_index
  • tree_index
  • lua/

/modules

  • sql
  • mysql
  • pg
  • sophia
  • cjson
  • msgpack
  • yaml
  • uuid
  • ...
  • httpd
  • queue
  • ...
  • linenoise
  • client?