diff --git a/doc/reference/reference_lua/box_index/parts.rst b/doc/reference/reference_lua/box_index/parts.rst index 1e72e832e9..214dd60ab8 100644 --- a/doc/reference/reference_lua/box_index/parts.rst +++ b/doc/reference/reference_lua/box_index/parts.rst @@ -1,14 +1,41 @@ .. _box_index-parts: =============================================================================== -index_object:parts +index_object.parts =============================================================================== .. class:: index_object .. data:: parts - The index's key parts. + The index's key parts. + Since version :doc:`3.0.0 `, the ``index_object.parts`` can operate methods + :ref:`extract_key() `, + :ref:`compare() `, + :ref:`compare_with_key() `, + :ref:`merge() `. + + **``index_object.parts`` example** + + .. code-block:: lua + + box.schema.space.create('T') + i = box.space.T:create_index('I', {parts={3, 'string', 1, 'unsigned'}}) + box.space.T:insert{1, 99.5, 'X', nil, 99.5} + i.parts:extract_key(box.space.T:get({'X', 1})) + + **``key_def`` equivalent** + + .. code-block:: lua + + key_def = require('key_def') + box.schema.space.create('T') + i = box.space.T:create_index('I', {parts={3, 'string', 1, 'unsigned'}}) + box.space.T:insert{1, 99.5, 'X', nil, 99.5} + k = key_def.new(i.parts) + k:extract_key(box.space.T:get({'X', 1})) + + The outcome of the methods calling is described in :ref:`key_def_object `. :rtype: table