Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
pony
tshistory
Commits
f8dac87d5c7e
Commit
43d0d803
authored
Jul 12, 2019
by
Aurélien Campéas
Browse files
insertion_date: use the `_revision` method extracted from `history`
Also move `_revision` to the private methods zone.
parent
dd9f03124350
Changes
1
Hide whitespace changes
Inline
Side-by-side
tshistory/tsio.py
View file @
f8dac87d
...
...
@@ -169,40 +169,6 @@ class timeseries(SeriesServices):
def
type
(
self
,
cn
,
name
):
return
'primary'
def
_revisions
(
self
,
cn
,
tablename
,
from_insertion_date
=
None
,
to_insertion_date
=
None
,
from_value_date
=
None
,
to_value_date
=
None
):
q
=
select
(
'cset.id'
,
'cset.insertion_date'
).
table
(
f
'"
{
self
.
namespace
}
.timeserie"."
{
tablename
}
" as ts'
).
join
(
f
'"
{
self
.
namespace
}
".changeset as cset on cset.id = ts.cset'
)
if
from_insertion_date
:
q
.
where
(
'cset.insertion_date >= %(from_idate)s'
,
from_idate
=
from_insertion_date
)
if
to_insertion_date
:
q
.
where
(
'cset.insertion_date <= %(to_idate)s '
,
to_idate
=
to_insertion_date
)
if
from_value_date
or
to_value_date
:
q
.
where
(
closed_overlaps
(
from_value_date
,
to_value_date
),
fromdate
=
from_value_date
,
todate
=
to_value_date
)
q
.
order
(
'cset.id'
)
return
q
.
do
(
cn
).
fetchall
()
@
tx
def
history
(
self
,
cn
,
seriename
,
from_insertion_date
=
None
,
...
...
@@ -339,30 +305,15 @@ class timeseries(SeriesServices):
def
insertion_dates
(
self
,
cn
,
seriename
,
fromdate
=
None
,
todate
=
None
):
tablename
=
self
.
_serie_to_tablename
(
cn
,
seriename
)
q
=
select
(
'insertion_date'
).
table
(
f
'"
{
self
.
namespace
}
".changeset as cset'
,
f
'"
{
self
.
namespace
}
.timeserie"."
{
tablename
}
" as tstable'
).
where
(
'cset.id = tstable.cset'
).
order
(
'cset.id'
)
if
fromdate
:
q
.
where
(
'cset.insertion_date >= %(fromdate)s'
,
fromdate
=
fromdate
)
if
todate
:
q
.
where
(
'cset.insertion_date <= %(todate)s'
,
todate
=
todate
)
revs
=
self
.
_revisions
(
cn
,
seriename
,
from_insertion_date
=
fromdate
,
to_insertion_date
=
todate
)
return
[
pd
.
Timestamp
(
idate
).
astimezone
(
'UTC'
)
for
idate
,
in
q
.
do
(
cn
).
fetchall
()
for
_cset
,
idate
in
revs
]
def
last_id
(
self
,
cn
,
seriename
):
...
...
@@ -795,6 +746,40 @@ class timeseries(SeriesServices):
'values (%s, %s)'
)
cn
.
execute
(
sql
,
csid
,
self
.
_name_to_regid
(
cn
,
seriename
))
def
_revisions
(
self
,
cn
,
tablename
,
from_insertion_date
=
None
,
to_insertion_date
=
None
,
from_value_date
=
None
,
to_value_date
=
None
):
q
=
select
(
'cset.id'
,
'cset.insertion_date'
).
table
(
f
'"
{
self
.
namespace
}
.timeserie"."
{
tablename
}
" as ts'
).
join
(
f
'"
{
self
.
namespace
}
".changeset as cset on cset.id = ts.cset'
)
if
from_insertion_date
:
q
.
where
(
'cset.insertion_date >= %(from_idate)s'
,
from_idate
=
from_insertion_date
)
if
to_insertion_date
:
q
.
where
(
'cset.insertion_date <= %(to_idate)s '
,
to_idate
=
to_insertion_date
)
if
from_value_date
or
to_value_date
:
q
.
where
(
closed_overlaps
(
from_value_date
,
to_value_date
),
fromdate
=
from_value_date
,
todate
=
to_value_date
)
q
.
order
(
'cset.id'
)
return
q
.
do
(
cn
).
fetchall
()
def
_resetcaches
(
self
):
with
self
.
cachelock
:
self
.
metadatacache
.
clear
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment