diff --git a/README.md b/README.md index c8d0ff3ef7933cc29ed7aa49daaa18aa58bbb274..ebff4b74f9a184f4786cf345e64f09a469c01289 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ Consult the docs for how to disable it. * fixed a bug with slicing chunks * added extra comparison operators for `VarlenEntry` +* added `sync` to `VarlenSeries` ## v0.6.3 diff --git a/tempsdb/series.pyx b/tempsdb/series.pyx index 0d248e2589356706ece8dc423af431c5ad1c7243..c33cc2c7c49f80823baa27c6150fe492abfa8484 100644 --- a/tempsdb/series.pyx +++ b/tempsdb/series.pyx @@ -267,13 +267,6 @@ cdef class TimeSeries: pass return 0 - cpdef int sync(self) except -1: - """ - Make sure that all data written up to this point is persisted on disk. - """ - self.last_chunk.sync() - return 0 - cpdef int close(self) except -1: """ Close the series. diff --git a/tempsdb/varlen.pxd b/tempsdb/varlen.pxd index b3b9a10581a5a9df46f541d49e9c3e9667d04113..75d02433c1c542ce64267d10f17b16fff94b6cc9 100644 --- a/tempsdb/varlen.pxd +++ b/tempsdb/varlen.pxd @@ -18,6 +18,7 @@ cdef class VarlenSeries: int gzip_level bint mmap_enabled + cpdef int sync(self) except -1 cpdef int enable_mmap(self) except -1 cpdef int disable_mmap(self) except -1 cpdef unsigned long open_chunks_mmap_size(self) @@ -70,6 +71,7 @@ cdef class VarlenEntry: cpdef bint startswith(self, bytes v) except -1 cpdef int close(self) except -1 + cpdef VarlenSeries create_varlen_series(str path, str name, int size_struct, list length_profile, int max_entries_per_chunk, bint use_descriptor_based_access=*, diff --git a/tempsdb/varlen.pyx b/tempsdb/varlen.pyx index 289e0b32540fff070f9d7226615053ee9151a094..13883b345a8f73058bed69ba38f490bf422e57c6 100644 --- a/tempsdb/varlen.pyx +++ b/tempsdb/varlen.pyx @@ -456,6 +456,16 @@ cdef class VarlenSeries: :param path: path to directory containing the series :param name: name of the series """ + cpdef int sync(self) except -1: + """ + Make sure that all data written up to this point is persisted on disk. + """ + self.root_series.sync() + cdef TimeSeries series + for series in self.series: + series.sync() + return 0 + cdef void register_memory_pressure_manager(self, object mpm): self.mpm = mpm cdef TimeSeries series @@ -568,16 +578,6 @@ cdef class VarlenSeries: self.current_maximum_length = tot_length - cpdef int sync(self) except -1: - """ - Make sure that all data written up to this point is persisted on disk. - """ - self.root_series.sync() - cdef TimeSeries series - for series in self.series: - series.sync() - return 0 - cpdef int enable_mmap(self) except -1: """ Enable using mmap for these series