From 394caf747f2d4259e6d870fad0005fd449f7b078 Mon Sep 17 00:00:00 2001 From: "a.ardeev" Date: Thu, 22 May 2025 17:32:38 +0300 Subject: [PATCH 1/3] Updates description of ```box_index:parts``` with new methods Since version 3.0.0 the ```box_index:parts``` can use methods of ```key_def``` Fixes #3444 --- doc/reference/reference_lua/box_index/parts.rst | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/reference/reference_lua/box_index/parts.rst b/doc/reference/reference_lua/box_index/parts.rst index 1e72e832e9..bb9768bb4c 100644 --- a/doc/reference/reference_lua/box_index/parts.rst +++ b/doc/reference/reference_lua/box_index/parts.rst @@ -8,7 +8,15 @@ index_object:parts .. 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() `, + :ref:`totable() `. + + The outcome of the methods calling is described in :ref:`key_def_object `. :rtype: table From df81c20d8a8408015ffee7895c34691ca15f5047 Mon Sep 17 00:00:00 2001 From: "a.ardeev" Date: Fri, 23 May 2025 13:17:10 +0300 Subject: [PATCH 2/3] Updates by comments --- .../reference_lua/box_index/parts.rst | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/doc/reference/reference_lua/box_index/parts.rst b/doc/reference/reference_lua/box_index/parts.rst index bb9768bb4c..0afef3b1e3 100644 --- a/doc/reference/reference_lua/box_index/parts.rst +++ b/doc/reference/reference_lua/box_index/parts.rst @@ -13,8 +13,27 @@ index_object:parts :ref:`extract_key() `, :ref:`compare() `, :ref:`compare_with_key() `, - :ref:`merge() `, - :ref:`totable() `. + :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 `. From a29e36d132ef99011ac6b12388f6549a25042f7c Mon Sep 17 00:00:00 2001 From: "a.ardeev" Date: Fri, 23 May 2025 17:39:54 +0300 Subject: [PATCH 3/3] Fixed typo by comment --- doc/reference/reference_lua/box_index/parts.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/reference/reference_lua/box_index/parts.rst b/doc/reference/reference_lua/box_index/parts.rst index 0afef3b1e3..214dd60ab8 100644 --- a/doc/reference/reference_lua/box_index/parts.rst +++ b/doc/reference/reference_lua/box_index/parts.rst @@ -1,7 +1,7 @@ .. _box_index-parts: =============================================================================== -index_object:parts +index_object.parts =============================================================================== .. class:: index_object @@ -9,16 +9,16 @@ index_object:parts .. data:: parts The index's key parts. - Since version :doc:`3.0.0 `, the ``index_object:parts`` can operate methods + 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** + **``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} @@ -27,7 +27,7 @@ index_object:parts **``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'}})