Skip to content

Commit 7df444c

Browse files
committed
Rename indexes feat
1 parent ae2c132 commit 7df444c

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

ydb/_session_impl.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ def alter_table_request_factory(
268268
alter_partitioning_settings,
269269
set_key_bloom_filter,
270270
set_read_replicas_settings,
271+
rename_indexes,
271272
):
272273
request = session_state.attach_request(_apis.ydb_table.AlterTableRequest(path=path))
273274
if add_columns is not None:
@@ -316,6 +317,10 @@ def alter_table_request_factory(
316317
if set_read_replicas_settings is not None:
317318
request.set_read_replicas_settings.MergeFrom(set_read_replicas_settings.to_pb())
318319

320+
if rename_indexes is not None:
321+
for rename_index in rename_indexes:
322+
request.rename_indexes.add().MergeFrom(rename_index.to_pb)
323+
319324
return request
320325

321326

ydb/aio/table.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ async def alter_table(
105105
alter_partitioning_settings=None,
106106
set_key_bloom_filter=None,
107107
set_read_replicas_settings=None,
108+
rename_indexes=None,
108109
): # pylint: disable=W0236,R0913,R0914
109110
return await super().alter_table(
110111
path,
@@ -123,6 +124,7 @@ async def alter_table(
123124
alter_partitioning_settings,
124125
set_key_bloom_filter,
125126
set_read_replicas_settings,
127+
rename_indexes,
126128
)
127129

128130
def transaction(self, tx_mode=None, *, allow_split_transactions=None):
@@ -250,6 +252,7 @@ async def alter_table(
250252
alter_partitioning_settings: Optional["ydb.PartitioningSettings"] = None,
251253
set_key_bloom_filter: Optional["ydb.FeatureFlag"] = None,
252254
set_read_replicas_settings: Optional["ydb.ReadReplicasSettings"] = None,
255+
rename_indexes: Optional[List["ydb.RenameIndexItem"]] = None,
253256
) -> "ydb.Operation":
254257
"""
255258
Alter a YDB table.
@@ -269,6 +272,7 @@ async def alter_table(
269272
:param set_compaction_policy: Compaction policy
270273
:param alter_partitioning_settings: ydb.PartitioningSettings to alter
271274
:param set_key_bloom_filter: ydb.FeatureFlag to set key bloom filter
275+
:param rename_indexes: List of ydb.RenameIndexItem to rename
272276
273277
:return: Operation or YDB error otherwise.
274278
"""
@@ -293,6 +297,7 @@ async def callee(session: Session):
293297
alter_partitioning_settings=alter_partitioning_settings,
294298
set_key_bloom_filter=set_key_bloom_filter,
295299
set_read_replicas_settings=set_read_replicas_settings,
300+
rename_indexes=rename_indexes,
296301
)
297302

298303
return await self._pool.retry_operation(callee)

ydb/table.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,20 @@ def to_pb(self):
327327
return self._pb
328328

329329

330+
class RenameIndexItem:
331+
def __init__(self, source_name: str, destination_name: str, replace_destination: bool = False):
332+
self._source_name = source_name
333+
self._destination_name = destination_name
334+
self._replace_destination = replace_destination
335+
336+
def to_pb(self):
337+
return _apis.ydb_table.RenameIndexItem(
338+
source_name=self._source_name,
339+
destination_name=self._destination_name,
340+
replace_destination=self._replace_destination,
341+
)
342+
343+
330344
class ReplicationPolicy(object):
331345
def __init__(self):
332346
self._pb = _apis.ydb_table.ReplicationPolicy()
@@ -1124,6 +1138,7 @@ def alter_table(
11241138
alter_partitioning_settings=None,
11251139
set_key_bloom_filter=None,
11261140
set_read_replicas_settings=None,
1141+
rename_indexes=None,
11271142
):
11281143
pass
11291144

@@ -1321,6 +1336,7 @@ def alter_table(
13211336
alter_partitioning_settings: Optional["ydb.PartitioningSettings"] = None,
13221337
set_key_bloom_filter: Optional["ydb.FeatureFlag"] = None,
13231338
set_read_replicas_settings: Optional["ydb.ReadReplicasSettings"] = None,
1339+
rename_indexes: Optional[List["ydb.RenameIndexItem"]] = None,
13241340
) -> "ydb.Operation":
13251341
"""
13261342
Alter a YDB table.
@@ -1340,6 +1356,7 @@ def alter_table(
13401356
:param set_compaction_policy: Compaction policy
13411357
:param alter_partitioning_settings: ydb.PartitioningSettings to alter
13421358
:param set_key_bloom_filter: ydb.FeatureFlag to set key bloom filter
1359+
:param rename_indexes: List of ydb.RenameIndexItem to rename
13431360
13441361
:return: Operation or YDB error otherwise.
13451362
"""
@@ -1364,6 +1381,7 @@ def callee(session: Session):
13641381
alter_partitioning_settings=alter_partitioning_settings,
13651382
set_key_bloom_filter=set_key_bloom_filter,
13661383
set_read_replicas_settings=set_read_replicas_settings,
1384+
rename_indexes=rename_indexes,
13671385
)
13681386

13691387
return self._pool.retry_operation_sync(callee)
@@ -1857,6 +1875,7 @@ def alter_table(
18571875
alter_partitioning_settings=None,
18581876
set_key_bloom_filter=None,
18591877
set_read_replicas_settings=None,
1878+
rename_indexes=None,
18601879
):
18611880
return self._driver(
18621881
_session_impl.alter_table_request_factory(
@@ -1876,6 +1895,7 @@ def alter_table(
18761895
alter_partitioning_settings,
18771896
set_key_bloom_filter,
18781897
set_read_replicas_settings,
1898+
rename_indexes,
18791899
),
18801900
_apis.TableService.Stub,
18811901
_apis.TableService.AlterTable,
@@ -2088,6 +2108,7 @@ def async_alter_table(
20882108
alter_partitioning_settings=None,
20892109
set_key_bloom_filter=None,
20902110
set_read_replicas_settings=None,
2111+
rename_indexes=None,
20912112
):
20922113
return self._driver.future(
20932114
_session_impl.alter_table_request_factory(
@@ -2107,6 +2128,7 @@ def async_alter_table(
21072128
alter_partitioning_settings,
21082129
set_key_bloom_filter,
21092130
set_read_replicas_settings,
2131+
rename_indexes,
21102132
),
21112133
_apis.TableService.Stub,
21122134
_apis.TableService.AlterTable,

0 commit comments

Comments
 (0)