Ma77Ball commented on code in PR #5599:
URL: https://github.com/apache/texera/pull/5599#discussion_r3405441417
##########
amber/src/main/python/core/models/tuple.py:
##########
@@ -230,21 +230,43 @@ def __setitem__(self, field_name: str, field_value:
Field) -> None:
def as_series(self) -> pandas.Series:
"""Convert the tuple to Pandas series format"""
- return pandas.Series(self.as_dict())
+ return pandas.Series(self.copy())
+
+ def _evaluate_all_fields(self) -> None:
+ # resolve any lazy field accessors in place
+ for i in self.get_field_names():
+ self.__getitem__(i)
+
+ def copy(self) -> "OrderedDict[str, Field]":
+ """
+ Return a shallow copy of this tuple's field data.
+ Fields will be fetched from accessor if absent.
+
+ The dict is independent (keys may be added/removed/reassigned) but
field
+ values are shared by reference. Safe because the tuple only reassigns
+ field slots, never mutates a value in place; avoids per-read deepcopy
+ cost for tuples carrying large field values. Use ``as_dict`` when value
+ isolation is required.
+
+ :return: dict with all the fields
+ """
+ self._evaluate_all_fields()
+ return self._field_data.copy()
def as_dict(self) -> "OrderedDict[str, Field]":
Review Comment:
done
##########
amber/src/main/python/core/models/tuple.py:
##########
@@ -230,21 +230,43 @@ def __setitem__(self, field_name: str, field_value:
Field) -> None:
def as_series(self) -> pandas.Series:
"""Convert the tuple to Pandas series format"""
- return pandas.Series(self.as_dict())
+ return pandas.Series(self.copy())
+
+ def _evaluate_all_fields(self) -> None:
+ # resolve any lazy field accessors in place
+ for i in self.get_field_names():
+ self.__getitem__(i)
+
+ def copy(self) -> "OrderedDict[str, Field]":
Review Comment:
done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]