mysqlx.ModifyStatement

class mysqlx.ModifyStatement(collection: DatabaseObject, condition: str)

Bases: FilterableStatement

A statement for document update operations on a Collection.

Parameters:
  • collection (mysqlx.Collection) – The Collection object.

  • condition (str) – Sets the search condition to identify the documents to be modified.

Changed in version 8.0.12: The condition parameter is now mandatory.

array_append(doc_path: str, value: Any) ModifyStatement

Inserts a value into a specific position in an array attribute in documents of a collection.

Parameters:
  • doc_path (string) – A document path that identifies the array attribute and position where the value will be inserted.

  • value (object) – The value to be inserted.

Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

array_insert(field: str, value: Any) ModifyStatement

Insert a value into the specified array in documents of a collection.

Parameters:
  • field (string) – A document path that identifies the array attribute and position where the value will be inserted.

  • value (object) – The value to be inserted.

Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

bind(*args: Any) FilterableStatement

Binds value(s) to a specific placeholder(s).

Parameters:

*args – The name of the placeholder and the value to bind. A mysqlx.DbDoc object or a JSON string representation can be used.

Returns:

FilterableStatement object.

Return type:

mysqlx.FilterableStatement

Raises:

ProgrammingError – If the number of arguments is invalid.

change(doc_path: str, value: Any) ModifyStatement

Add an update to the statement setting the field, if it exists at the document path, to the given value.

Parameters:
  • doc_path (string) – The document path of the item to be set.

  • value (object) – The value to be set on the specified attribute.

Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

Deprecated since version 8.0.12.

property changed: bool

True if this statement has changes.

Type:

bool

property deallocate_prepare_execute: bool

True to deallocate + prepare + execute statement.

Type:

bool

property exec_counter: int

The number of times this statement was executed.

Type:

int

execute() Result

Execute the statement.

Returns:

Result object.

Return type:

mysqlx.Result

Raises:

ProgrammingError – If condition was not set.

get_binding_map() Dict[str, Any]

Returns the binding map dictionary.

Returns:

The binding map dictionary.

Return type:

dict

get_bindings() Dict[str, Any] | List

Returns the bindings list.

Returns:

The bindings list.

Return type:

list

get_grouping() List[ProtoMessage | Dict[str, Any]]

Returns the grouping expression list.

Returns:

The grouping expression list.

Return type:

list

get_having() XdevMessage

Returns the having expression.

Returns:

The having expression.

Return type:

object

get_limit_offset() int

Returns the limit offset.

Returns:

The limit offset.

Return type:

int

get_limit_row_count() int

Returns the limit row count.

Returns:

The limit row count.

Return type:

int

get_projection_expr() List[ProtoMessage | Dict[str, Any]]

Returns the projection expression.

Returns:

The projection expression.

Return type:

object

get_sort_expr() List[ProtoMessage | Dict[str, Any]]

Returns the sort expression.

Returns:

The sort expression.

Return type:

object

get_update_ops() Dict[str, Any]

Returns the list of update operations.

Returns:

The list of update operations.

Return type:

list

get_where_expr() XdevMessage

Returns the where expression.

Returns:

The where expression.

Return type:

object

increment_exec_counter() None

Increments the number of times this statement has been executed.

is_doc_based() bool

Check if it is document based.

Returns:

True if it is document based.

Return type:

bool

limit(row_count: int, offset: int | None = None) FilterableStatement

Sets the maximum number of items to be returned.

Parameters:

row_count (int) – The maximum number of items.

Returns:

FilterableStatement object.

Return type:

mysqlx.FilterableStatement

Raises:

ValueError – If row_count is not a positive integer.

Changed in version 8.0.12: The usage of offset was deprecated.

offset(offset: int) FilterableStatement

Sets the number of items to skip.

Parameters:

offset (int) – The number of items to skip.

Returns:

FilterableStatement object.

Return type:

mysqlx.FilterableStatement

Raises:

ValueError – If offset is not a positive integer.

New in version 8.0.12.

patch(doc: Dict | DbDoc | ExprParser | str) ModifyStatement

Takes a mysqlx.DbDoc, string JSON format or a dict with the changes and applies it on all matching documents.

Parameters:

doc (object) – A generic document (DbDoc), string in JSON format or dict, with the changes to apply to the matching documents.

Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

property prepared: bool

True if this statement has been prepared.

Type:

bool

property repeated: bool

True if this statement was executed more than once.

Type:

bool

reset_exec_counter() None

Resets the number of times this statement has been executed.

property schema: Schema

The Schema object.

Type:

mysqlx.Schema

set(doc_path: str, value: Any) ModifyStatement

Sets or updates attributes on documents in a collection.

Parameters:
  • doc_path (string) – The document path of the item to be set.

  • value (string) – The value to be set on the specified attribute.

Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

sort(*clauses: str) ModifyStatement

Sets the sorting criteria.

Parameters:

*clauses – The expression strings defining the sort criteria.

Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

property stmt_id: int

Returns this statement ID.

Returns:

The statement ID.

Return type:

int

property target: DatabaseObject

The database object target.

Type:

object

unset(*doc_paths: str) ModifyStatement

Removes attributes from documents in a collection.

Parameters:

doc_paths (list) – The list of document paths of the attributes to be removed.

Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

where(condition: str) FilterableStatement

Sets the search condition to filter.

Parameters:

condition (str) – Sets the search condition to filter documents or records.

Returns:

FilterableStatement object.

Return type:

mysqlx.FilterableStatement

Deprecated since version 8.0.12.