mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-08-14 02:26:58 -07:00
Update grouping logic
* Check the user's previous row to match the rating key
This commit is contained in:
parent
060c549259
commit
4fa70cb234
1 changed files with 11 additions and 7 deletions
|
@ -611,15 +611,19 @@ def dbcheck():
|
|||
c_db.execute(
|
||||
'ALTER TABLE session_history ADD COLUMN reference_id INTEGER DEFAULT 0'
|
||||
)
|
||||
# Set reference_id to the first row where (rating_key != previous row OR user_id != previous row)
|
||||
# Set reference_id to the first row where (user_id = previous row, rating_key != previous row) and user_id = user_id
|
||||
c_db.execute(
|
||||
'UPDATE session_history ' \
|
||||
'SET reference_id = (SELECT (CASE WHEN (SELECT MIN(id) FROM session_history WHERE id > ( \
|
||||
SELECT MAX(id) FROM session_history WHERE (rating_key <> t1.rating_key OR user_id <> t1.user_id) AND id < t1.id)) IS NULL \
|
||||
THEN (SELECT MIN(id) FROM session_history) ELSE (SELECT MIN(id) FROM session_history WHERE id > ( \
|
||||
SELECT MAX(id) FROM session_history WHERE (rating_key <> t1.rating_key OR user_id <> t1.user_id) AND id < t1.id)) END) ' \
|
||||
'FROM session_history AS t1 ' \
|
||||
'WHERE t1.id = session_history.id) '
|
||||
'SET reference_id = (SELECT (CASE \
|
||||
WHEN (SELECT MIN(id) FROM session_history WHERE id > ( \
|
||||
SELECT MAX(id) FROM session_history \
|
||||
WHERE (user_id = t1.user_id AND rating_key <> t1.rating_key AND id < t1.id)) AND user_id = t1.user_id) IS NULL \
|
||||
THEN (SELECT MIN(id) FROM session_history WHERE (user_id = t1.user_id)) \
|
||||
ELSE (SELECT MIN(id) FROM session_history WHERE id > ( \
|
||||
SELECT MAX(id) FROM session_history \
|
||||
WHERE (user_id = t1.user_id AND rating_key <> t1.rating_key AND id < t1.id)) AND user_id = t1.user_id) END) ' \
|
||||
'FROM session_history AS t1 ' \
|
||||
'WHERE t1.id = session_history.id) '
|
||||
)
|
||||
|
||||
conn_db.commit()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue