Skip to content

Commit f4cbf8a

Browse files
committed
Merge branch '50-update-flatbuffers' into dev
2 parents fbb5f9d + eb9bdaa commit f4cbf8a

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

objectbox/model/entity.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from datetime import datetime
2222
from objectbox.c import *
2323
from objectbox.model.properties import Property
24-
24+
import threading
2525

2626
# _Entity class holds model information as well as conversions between python objects and FlatBuffers (ObjectBox data)
2727
class _Entity(object):
@@ -46,7 +46,8 @@ def __init__(self, cls, id: int, uid: int):
4646
self.offset_properties = list() # List[Property]
4747
self.id_property = None
4848
self.fill_properties()
49-
49+
self._tl = threading.local()
50+
5051
def __call__(self, **properties):
5152
""" The constructor of the user Entity class. """
5253
object_ = self.cls()
@@ -136,7 +137,10 @@ def set_object_id(self, object, id: int):
136137
setattr(object, self.id_property._name, id)
137138

138139
def marshal(self, object, id: int) -> bytearray:
139-
builder = flatbuffers.Builder(256)
140+
if not hasattr(self._tl, "builder"):
141+
self._tl.builder = flatbuffers.Builder(256)
142+
builder = self._tl.builder
143+
builder.Clear()
140144

141145
# prepare some properties that need to be built in FB before starting the main object
142146
offsets = {}

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
pip
22
setuptools
33
wheel
4-
flatbuffers==23.5.26
4+
flatbuffers==24.3.25
55
pytest>=4.4.1
66
twine
77
numpy

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
],
5050

5151
install_requires=[
52-
'flatbuffers==23.5.26',
52+
'flatbuffers==24.3.25',
5353
'numpy'
5454
],
5555

0 commit comments

Comments
 (0)