Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
tempsdb
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
public
tempsdb
Commits
eecf4ef1
Commit
eecf4ef1
authored
4 years ago
by
Piotr Maślanka
Browse files
Options
Downloads
Patches
Plain Diff
add getting current value for VarlenSeries
parent
c8fee5f6
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
tempsdb/database.pyx
+6
-2
6 additions, 2 deletions
tempsdb/database.pyx
tempsdb/varlen.pxd
+2
-1
2 additions, 1 deletion
tempsdb/varlen.pxd
tempsdb/varlen.pyx
+20
-0
20 additions, 0 deletions
tempsdb/varlen.pyx
tests/test_database.py
+2
-0
2 additions, 0 deletions
tests/test_database.py
with
30 additions
and
3 deletions
tempsdb/database.pyx
+
6
−
2
View file @
eecf4ef1
...
@@ -56,7 +56,9 @@ cdef class Database:
...
@@ -56,7 +56,9 @@ cdef class Database:
cpdef
int
delete_series
(
self
,
str
name
)
except
-
1
:
cpdef
int
delete_series
(
self
,
str
name
)
except
-
1
:
"""
"""
Deletes a constant-length time series
Deletes a constant-length time series.
Note that the series must either not be open, or closed.
:param name: name of series to delete
:param name: name of series to delete
:raises ValueError: tried to delete
"
varlen
"
series
:raises ValueError: tried to delete
"
varlen
"
series
...
@@ -77,7 +79,9 @@ cdef class Database:
...
@@ -77,7 +79,9 @@ cdef class Database:
cpdef
int
delete_varlen_series
(
self
,
str
name
)
except
-
1
:
cpdef
int
delete_varlen_series
(
self
,
str
name
)
except
-
1
:
"""
"""
Deletes a variable-length time series
Deletes a variable-length time series.
Note that the series must either not be open, or closed.
:param name: name of series to delete
:param name: name of series to delete
:raises DoesNotExist: series does not exist
:raises DoesNotExist: series does not exist
...
...
This diff is collapsed.
Click to expand it.
tempsdb/varlen.pxd
+
2
−
1
View file @
eecf4ef1
from
.series
cimport
TimeSeries
,
create_series
from
.series
cimport
TimeSeries
cdef
class
VarlenSeries
:
cdef
class
VarlenSeries
:
...
@@ -20,6 +20,7 @@ cdef class VarlenSeries:
...
@@ -20,6 +20,7 @@ cdef class VarlenSeries:
cpdef
int
mark_synced_up_to
(
self
,
unsigned
long
long
timestamp
)
except
-
1
cpdef
int
mark_synced_up_to
(
self
,
unsigned
long
long
timestamp
)
except
-
1
cpdef
int
close
(
self
)
except
-
1
cpdef
int
close
(
self
)
except
-
1
cpdef
int
delete
(
self
)
except
-
1
cpdef
int
delete
(
self
)
except
-
1
cpdef
tuple
get_current_value
(
self
)
cdef
int
get_length_for
(
self
,
int
index
)
cdef
int
get_length_for
(
self
,
int
index
)
cpdef
int
trim
(
self
,
unsigned
long
long
timestamp
)
except
-
1
cpdef
int
trim
(
self
,
unsigned
long
long
timestamp
)
except
-
1
cdef
int
add_series
(
self
)
except
-
1
cdef
int
add_series
(
self
)
except
-
1
...
...
This diff is collapsed.
Click to expand it.
tempsdb/varlen.pyx
+
20
−
0
View file @
eecf4ef1
...
@@ -435,6 +435,26 @@ cdef class VarlenSeries:
...
@@ -435,6 +435,26 @@ cdef class VarlenSeries:
"""
"""
return
VarlenIterator
(
self
,
start
,
stop
,
direct_bytes
=
direct_bytes
)
return
VarlenIterator
(
self
,
start
,
stop
,
direct_bytes
=
direct_bytes
)
cpdef
tuple
get_current_value
(
self
):
"""
Return latest value of this series
:return: tuple of (timestamp, value)
:rtype: tp.Tuple[int, bytes]
:raises ValueError: series has no data
"""
if
self
.
root_series
.
last_chunk
is
None
:
raise
ValueError
(
'
No data in series
'
)
cdef
:
VarlenIterator
it
=
self
.
iterate_range
(
self
.
root_series
.
last_entry_ts
,
self
.
root_series
.
last_entry_ts
)
VarlenEntry
et
=
it
.
get_next
()
try
:
return
et
.
timestamp
(),
et
.
to_bytes
()
finally
:
et
.
close
()
it
.
close
()
def
__init__
(
self
,
path
:
str
,
name
:
str
):
def
__init__
(
self
,
path
:
str
,
name
:
str
):
self
.
closed
=
False
self
.
closed
=
False
self
.
path
=
path
self
.
path
=
path
...
...
This diff is collapsed.
Click to expand it.
tests/test_database.py
+
2
−
0
View file @
eecf4ef1
...
@@ -16,6 +16,7 @@ class TestDatabase(unittest.TestCase):
...
@@ -16,6 +16,7 @@ class TestDatabase(unittest.TestCase):
ser
.
close
()
ser
.
close
()
ser
=
self
.
db
.
get_series
(
'
hello-world
'
)
ser
=
self
.
db
.
get_series
(
'
hello-world
'
)
self
.
assertEqual
(
ser
.
get_current_value
(),
(
20
,
b
'
\x00
'
))
self
.
assertEqual
(
ser
.
last_entry_ts
,
20
)
self
.
assertEqual
(
ser
.
last_entry_ts
,
20
)
ser
.
close
()
ser
.
close
()
...
@@ -29,6 +30,7 @@ class TestDatabase(unittest.TestCase):
...
@@ -29,6 +30,7 @@ class TestDatabase(unittest.TestCase):
ser
.
close
()
ser
.
close
()
ser
=
self
.
db
.
get_varlen_series
(
'
hello-world
'
)
ser
=
self
.
db
.
get_varlen_series
(
'
hello-world
'
)
self
.
assertEqual
(
ser
.
get_current_value
(),
(
20
,
b
'
\x00\x00\x00
'
))
self
.
assertEqual
(
ser
.
last_entry_ts
,
20
)
self
.
assertEqual
(
ser
.
last_entry_ts
,
20
)
ser
.
close
()
ser
.
close
()
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment