MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / Delete

Class Delete

misc/python/materialize/data_ingest/definition.py:124–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

122
123
124class Delete(Definition):
125 def __init__(
126 self,
127 number_of_records: Records,
128 record_size: RecordSize,
129 num: int | None = None,
130 ):
131 self.number_of_records = number_of_records
132 self.record_size = record_size
133 self.num = num
134
135 def generate(self, fields: list[Field]) -> Iterator[RowList]:
136
137 if self.number_of_records == Records.ONE:
138 values = [
139 field.data_type.random_value(rng, self.record_size)
140 for field in fields
141 if field.is_key
142 ]
143 yield RowList([Row(fields, values, Operation.DELETE)])
144 elif self.number_of_records in (Records.SOME, Records.MANY):
145 for i in range(self.number_of_records.value):
146 values = [
147 field.data_type.random_value(rng, self.record_size)
148 for field in fields
149 if field.is_key
150 ]
151 yield RowList([Row(fields, values, Operation.DELETE)])
152 elif self.number_of_records == Records.ALL:
153 assert self.num is not None
154 for i in range(self.num):
155 values = [
156 field.data_type.numeric_value(i) for field in fields if field.is_key
157 ]
158 yield RowList([Row(fields, values, Operation.DELETE)])
159 else:
160 raise ValueError(f"Unexpected number of records {self.number_of_records}")

Callers 9

__init__Method · 0.90
__init__Method · 0.90
__init__Method · 0.90
try_parseMethod · 0.50
referenced_batchesMethod · 0.50
diff_field_sorted_iterFunction · 0.50
field_diff_into_rustFunction · 0.50
parse_deleteMethod · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected