-
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()
Dmitry Simonenko authoredSupport 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()