Skip to content

Commit c1d4a6f

Browse files
committed
BUG26161838: Dropping an non-existing index should succeed silently
1 parent 7b10bcc commit c1d4a6f

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

lib/mysqlx/connection.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,9 +275,13 @@ def update(self, statement):
275275
return Result(self)
276276

277277
@catch_network_exception
278-
def execute_nonquery(self, namespace, cmd, raise_on_fail=True, *args):
279-
self.protocol.send_execute_statement(namespace, cmd, args)
280-
return Result(self)
278+
def execute_nonquery(self, namespace, cmd, raise_on_fail=False, *args):
279+
try:
280+
self.protocol.send_execute_statement(namespace, cmd, args)
281+
return Result(self)
282+
except OperationalError:
283+
if raise_on_fail:
284+
raise
281285

282286
@catch_network_exception
283287
def execute_sql_scalar(self, sql, *args):

lib/mysqlx/crud.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ def drop_index(self, index_name):
407407
index_name (str): Index name.
408408
"""
409409
self._connection.execute_nonquery("xplugin", "drop_collection_index",
410-
True, self._schema.name, self._name, index_name)
410+
False, self._schema.name, self._name, index_name)
411411

412412

413413
class Table(DatabaseObject):

tests/test_mysqlx_crud.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -998,6 +998,9 @@ def test_drop_index(self):
998998
rows = result.fetch_all()
999999
self.assertEqual(0, len(rows))
10001000

1001+
# dropping an non-existing index should succeed silently
1002+
collection.drop_index(index_name)
1003+
10011004
self.schema.drop_collection(collection_name)
10021005

10031006
def test_parameter_binding(self):

0 commit comments

Comments
 (0)