Commit graph

778 commits

Author SHA1 Message Date
J. Nick Koston
f3c582815c
Convert statistics to use lambda_stmt (#71903)
* Convert stats to use lambda_stmt

- Since baked queries are now [deprecated in 1.4](https://docs.sqlalchemy.org/en/14/orm/extensions/baked.html#module-sqlalchemy.ext.baked) the
  next step is to convert these to `lambda_stmt`

https://docs.sqlalchemy.org/en/14/core/connections.html#quick-guidelines-for-lambdas

* Update homeassistant/components/recorder/statistics.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-18 16:22:21 +02:00
J. Nick Koston
c4fc84ec1e
Add support for selecting device_ids from the logbook (#72039)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-05-18 01:58:30 -05:00
GitHub Action
1d6659224f [ci skip] Translation update 2022-05-18 00:22:07 +00:00
J. Nick Koston
a4c1bcefb9
Tune sqlite based on configured settings (#72016) 2022-05-17 18:12:15 -05:00
J. Nick Koston
8fcee01db0
Remove unnecessary flush from recorder (#71910) 2022-05-16 18:03:02 -05:00
J. Nick Koston
f4a2afeb37
Guard against recorder pool current connection disappearing during global destruction (#71971) 2022-05-16 17:48:14 -05:00
J. Nick Koston
a70e2a33dc
Fixing purging legacy rows and improve performance (#71916) 2022-05-15 21:25:07 -07:00
J. Nick Koston
089eb9960a
Reduce logbook websocket payload size and parse json attributes via the DBM (#71895) 2022-05-15 20:48:57 -07:00
GitHub Action
37f81b261d [ci skip] Translation update 2022-05-16 00:24:28 +00:00
J. Nick Koston
98809675ff
Convert history queries to use lambda_stmt (#71870)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-05-15 10:47:29 -05:00
J. Nick Koston
1f753ecd88
Relocate sqlalchemy filter builder to recorder/filters.py (#71883) 2022-05-14 23:04:23 -07:00
J. Nick Koston
65f44bd80b
Exclude last_changed when same as last_updated for history websocket api (#71886) 2022-05-14 23:03:56 -07:00
J. Nick Koston
0584e84c30
Add MySQL index hints to logbook (#71864)
* Add MySQL index hints to logbook

* fix mysql query planner
2022-05-14 17:01:36 -05:00
J. Nick Koston
ebce5660e3
Sync event timed_fired and the context ulid time (#71854) 2022-05-14 12:12:08 -07:00
J. Nick Koston
8c2743bb67
Avoid storing last_changed in the database if its the same as last_updated (#71843) 2022-05-14 12:06:31 -07:00
J. Nick Koston
a8f1dda004
Use ciso8601 for parsing MySQLdb datetimes (#71818)
* Use ciso8601 for parsing MySQLDB datetimes

The default parser is this:

5340191feb/MySQLdb/times.py (L66)

* tweak

* tweak

* add coverage for building the MySQLdb connect conv param
2022-05-13 19:26:09 -05:00
GitHub Action
c7e8428daa [ci skip] Translation update 2022-05-13 00:26:47 +00:00
J. Nick Koston
1d9fb4bca8
Fix process_datetime_to_timestamp and add test coverage (#71755) 2022-05-12 17:12:50 -07:00
J. Nick Koston
8ab27f26b9
Use ciso8601 for parsing datetimes with sqlalchemy sqlite dialect (#71766) 2022-05-12 17:11:43 -07:00
J. Nick Koston
e2cef55162
Add history/history_during_period websocket endpoint (#71688) 2022-05-11 17:52:22 -05:00
GitHub Action
3d2b0a17ce [ci skip] Translation update 2022-05-11 00:22:31 +00:00
Erik Montnemery
68c2b63ca1
Fix issue creation links in log messages (#71638) 2022-05-10 15:22:12 +02:00
J. Nick Koston
bf77c000ea
Complete baked query conversion for recorder.history (#71618) 2022-05-09 21:00:19 -07:00
GitHub Action
3de7ffde54 [ci skip] Translation update 2022-05-10 00:23:19 +00:00
J. Nick Koston
222baa53dd
Make database access in the eventloop raise an exception (#71547) 2022-05-09 15:22:08 -05:00
GitHub Action
f1dd3b7f89 [ci skip] Translation update 2022-05-09 00:21:41 +00:00
J. Nick Koston
896bf986eb
Speed up nightly database purges with lambda_stmt (#71537) 2022-05-08 12:47:12 -07:00
J. Nick Koston
6922209ddb
Ensure all mysql tables get optimized (#71538) 2022-05-08 12:15:06 -07:00
J. Nick Koston
a8aa0e1cca
Add Estimated Database Size to the recorder system health (#71463) 2022-05-07 21:02:54 -07:00
GitHub Action
44d8f2f773 [ci skip] Translation update 2022-05-07 00:20:47 +00:00
J. Nick Koston
d612b9e0b4
Reduce event loop overhead for listeners that already queue (#71364)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-05-05 23:09:10 -04:00
GitHub Action
07706fa62a [ci skip] Translation update 2022-05-06 00:22:16 +00:00
GitHub Action
2b3fc97020 [ci skip] Translation update 2022-05-05 00:22:23 +00:00
J. Nick Koston
eb77f8db85
Complete strict typing for recorder (#71274)
* Complete strict typing for recorder

* update tests

* Update tests/components/recorder/test_migrate.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/recorder/test_migrate.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove the asserts

* remove ignore comments

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-05-04 12:22:50 -05:00
J. Nick Koston
13ce0a7d6a
Fix history using pre v25 queries during v26 migration (#71295) 2022-05-04 08:56:50 -07:00
J. Nick Koston
e30940ef2a
Move processing of recorder service call arguments into services.py (#71260) 2022-05-03 13:56:22 -07:00
J. Nick Koston
e1be6dd34f
Move recorder services to services.py (#71249) 2022-05-03 10:38:44 -07:00
J. Nick Koston
29bda196b5
Break apart recorder into tasks and core modules (#71222) 2022-05-02 21:53:56 -07:00
GitHub Action
c594de25f7 [ci skip] Translation update 2022-05-03 00:23:56 +00:00
J. Nick Koston
75026f9fed
Separate recorder logic for state_changed and non-state_changed events (#71204) 2022-05-02 17:22:53 -05:00
J. Nick Koston
188040b8bb
Use lambda_stmt for recorder queries and migrate them to queries module (#71219) 2022-05-02 15:17:21 -07:00
J. Nick Koston
5db014666c
Avoid recording state_changed events in the events table (#71165)
* squash

fix mypy

* Update homeassistant/components/recorder/models.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* pass all columns

* fix commented out code

* reduce logbook query complexity

* merge

* comment

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-05-02 02:10:34 -05:00
J. Nick Koston
c23866e5e5
De-duplicate event data into a new event_data table (#71135) 2022-05-01 21:01:17 -05:00
GitHub Action
9b10658d01 [ci skip] Translation update 2022-05-02 00:22:04 +00:00
J. Nick Koston
2d720973ee
Fix incomplete recorder typing (#71158) 2022-05-01 19:53:47 +03:00
GitHub Action
ba386b5841 [ci skip] Translation update 2022-05-01 00:28:25 +00:00
J. Nick Koston
66a21e0bc3
Add basic system health data to the recorder (#71086) 2022-04-30 11:10:20 -05:00
J. Nick Koston
b9c7a89b47
Prevent sqlalchemy Transparent SQL Compilation Caching from filling up during purge (#71015) 2022-04-28 23:48:28 -07:00
J. Nick Koston
37384f7eb3
Bump sqlalchemy to 1.4.36 (#71039) 2022-04-28 21:32:46 -07:00
Marc Mueller
cf90e34776
Type recorder retry decorator (#70993) 2022-04-28 21:04:41 +02:00