MCPcopy Index your code
hub / github.com/apache/cassandra-python-driver / _delete_null_columns

Method _delete_null_columns

cassandra/cqlengine/query.py:1388–1412  ·  view source on GitHub ↗

executes a delete query to remove columns that have changed to null

(self, conditionals=None)

Source from the content-addressed store, hash-verified

1386 return self
1387
1388 def _delete_null_columns(self, conditionals=None):
1389 """
1390 executes a delete query to remove columns that have changed to null
1391 """
1392 ds = DeleteStatement(self.column_family_name, conditionals=conditionals, if_exists=self._if_exists)
1393 deleted_fields = False
1394 static_only = True
1395 for _, v in self.instance._values.items():
1396 col = v.column
1397 if v.deleted:
1398 ds.add_field(col.db_field_name)
1399 deleted_fields = True
1400 static_only &= col.static
1401 elif isinstance(col, columns.Map):
1402 uc = MapDeleteClause(col.db_field_name, v.value, v.previous_value)
1403 if uc.get_context_size() > 0:
1404 ds.add_field(uc)
1405 deleted_fields = True
1406 static_only |= col.static
1407
1408 if deleted_fields:
1409 keys = self.model._partition_keys if static_only else self.model._primary_keys
1410 for name, col in keys.items():
1411 ds.add_where(col, EqualsOperator(), getattr(self.instance, name))
1412 self._execute(ds)
1413
1414 def update(self):
1415 """

Callers 2

updateMethod · 0.95
saveMethod · 0.95

Calls 8

add_fieldMethod · 0.95
get_context_sizeMethod · 0.95
_executeMethod · 0.95
DeleteStatementClass · 0.90
MapDeleteClauseClass · 0.90
EqualsOperatorClass · 0.90
add_whereMethod · 0.80
itemsMethod · 0.45

Tested by

no test coverage detected