Skip to content
Snippets Groups Projects
  1. Sep 20, 2011
  2. Sep 19, 2011
  3. Sep 16, 2011
  4. Sep 15, 2011
  5. Sep 14, 2011
  6. Sep 13, 2011
  7. Sep 12, 2011
    • Konstantin Osipov's avatar
      Lua: animate box.space objects with methods · af7c6a9c
      Konstantin Osipov authored
      Allow to invoke insert/update/delete/select/replace
      directly on box.space objects.
      
      Add box.space[i]:len(), which returns the
      number of tuples in the space.
      
      Add rudimentary index object support.
      
      Add tests.
      af7c6a9c
  8. Sep 08, 2011
  9. Sep 06, 2011
  10. Sep 02, 2011
  11. Aug 31, 2011
  12. Aug 30, 2011
  13. Aug 29, 2011
  14. Aug 27, 2011
  15. Aug 25, 2011
    • Konstantin Osipov's avatar
    • Konstantin Osipov's avatar
      Lua: mature the implementation CALL command in the binary protocol. · 58f5c07e
      Konstantin Osipov authored
      Fix a bug when Lua transaction was rolled back
      twice when Lua procedure was invoked from CALL.
      
      Change the way arguments to and from CALL
      statement in the binary protocol are passed:
      we used to pass everything from the wire as a single
      binary blob. Now every field of the received
      tuple is passed in as a separate string argument.
      
      Everything passed back from Lua is converted to a tuple. This
      makes CALL response similar to one of SELECT.
      
      Improve box.pack() to convert its argument to integer when
      necessary. Add an argument count check to box.pack().
      Additionally, now box.pack() can be used to pack
      operations of 'UPDATE'.
      
      Use tarantool_lua_tostring() in iov_add_ret():
      this function is now used to convert return values to
      the binary protocol in box_lua.m. This is necessary
      if we try to send boolean or nil over the
      binary wire, since Lua C API lua_tostring()
      does not convert them.
      
      Add box.lua - a system Lua script
      compiled into Tarantool and containing a bunch
      of Lua code preloaded at startup.
      
      Populate box.lua with implementation
      of basic Lua functions:
      box.select(), box.update(), box.replace(),
      box.insert() (currently an alias for box.replace()),
      box.delete(). They are all wrappers around box.process().
      
      Move box_lua_init() to the beginning of mod_init(),
      since Lua in future can be used in recover().
      
      Fix a wrong assumption about the contents
      of Lua stack in iov_add_multret().
      
      Update sql.g Python SQL grammar to allow
      an empty argumeent list for procedure in CALL
      statement.
      
      Add initial documentation on Lua procedures.
      
      Add more Lua tests.
      
      Unrelated: rename INSERT to REPLACE, and UPDATE_FIELDS to
      UPDATE.
      Remove SELECT_LIMIT, which is not used any more.
      58f5c07e
Loading