mysqlx.ModifyStatement

class mysqlx.ModifyStatement(collection, condition)

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, value)

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, value)

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)

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, value)

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

True if this statement has changes.

Type:

bool

property deallocate_prepare_execute

True to deallocate + prepare + execute statement.

Type:

bool

property exec_counter

The number of times this statement was executed.

Type:

int

execute()

Execute the statement.

Returns:

Result object.

Return type:

mysqlx.Result

Raises:

ProgrammingError – If condition was not set.

get_binding_map()

Returns the binding map dictionary.

Returns:

The binding map dictionary.

Return type:

dict

get_bindings()

Returns the bindings list.

Returns:

The bindings list.

Return type:

list

get_grouping()

Returns the grouping expression list.

Returns:

The grouping expression list.

Return type:

list

get_having()

Returns the having expression.

Returns:

The having expression.

Return type:

object

get_limit_offset()

Returns the limit offset.

Returns:

The limit offset.

Return type:

int

get_limit_row_count()

Returns the limit row count.

Returns:

The limit row count.

Return type:

int

get_projection_expr()

Returns the projection expression.

Returns:

The projection expression.

Return type:

object

get_sort_expr()

Returns the sort expression.

Returns:

The sort expression.

Return type:

object

get_update_ops()

Returns the list of update operations.

Returns:

The list of update operations.

Return type:

list

get_where_expr()

Returns the where expression.

Returns:

The where expression.

Return type:

object

increment_exec_counter()

Increments the number of times this statement has been executed.

is_doc_based()

Check if it is document based.

Returns:

True if it is document based.

Return type:

bool

limit(row_count, offset=None)

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)

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)

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

True if this statement has been prepared.

Type:

bool

property repeated

True if this statement was executed more than once.

Type:

bool

reset_exec_counter()

Resets the number of times this statement has been executed.

property schema

The Schema object.

Type:

mysqlx.Schema

set(doc_path, value)

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)

Sets the sorting criteria.

Parameters:

*clauses – The expression strings defining the sort criteria.

Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

property stmt_id

Returns this statement ID.

Returns:

The statement ID.

Return type:

int

property target

The database object target.

Type:

object

unset(*doc_paths)

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)

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.