Commit graph

153 commits

Author SHA1 Message Date
J. Nick Koston
710e55fb09
Bump SQLAlchemy to 2.0.25 ()
* Bump SQLAlchemy to 2.0.25

changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.25

* drop unused ignore now that upstream is fixed
2024-01-03 09:12:35 +01:00
J. Nick Koston
6e98f72f8b
Bump SQLAlchemy to 2.0.24 () 2023-12-29 10:19:06 -10:00
dougiteixeira
65c21438a6
Add query type validation independent of declaration position for SQL ()
* Add query type validation independent of declaration position

* Restore close sess

* Separates invalid query and non-read-only query tests

* Add more tests

* Use the SQLParseError exception for queries that are not read-only

* Add handling for multiple SQL queries.

* Fix test

* Clean ';' at the beginning of the SQL query

* Clean ';' at the beginning of the SQL query - init

* Query cleaning before storing

* Query cleaning before setup sesensor plataform - YAML

* Exception when the SQL query type is not detected

* Cleaning

* Cleaning

* Fix typing in tests

* Fix typing in tests

* Add test for query = ';;'

* Update homeassistant/components/sql/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update homeassistant/components/sql/__init__.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update __init__.py

* Update config_flow.py

* Clean query before storing

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-27 17:58:35 +01:00
G Johansson
99cf4a6b2d
Add rollback on exception that needs rollback in SQL () 2023-12-08 21:13:37 +01:00
J. Nick Koston
fd8caaf846
Bump SQLAlchemy to 2.0.23 () 2023-11-03 11:10:08 -05:00
Robert Resch
bb90c1f168
Fix multilevel reference translations () 2023-10-20 08:12:53 +02:00
J. Nick Koston
e427fc511b
Bump SQLAlchemy to 2.0.22 () 2023-10-15 06:14:51 -10:00
Robert Resch
952a17532f
Remove NONE_SENTINEL in favor of optional select in sql () 2023-10-11 17:38:29 +02:00
J. Nick Koston
6f8734167f
Bump SQLAlchemy to 2.0.21 () 2023-09-20 16:19:53 +02:00
G Johansson
b8f35fb577
Fix missing unique id in SQL () 2023-09-04 22:31:53 +02:00
G Johansson
61c17291fb
Move TemplateEntity to template ()
* Move TemplateEntity to template

* Rename template_entity in helpers
2023-08-24 15:37:04 +02:00
Joost Lekkerkerker
87dd18cc2e
Remove obsolete yaml check in SQL ()
* Remove unique id check from SQL

* Remove unique id check from SQL
2023-08-24 12:35:11 +02:00
G Johansson
268e5244f0
Cleanup ManualTriggerSensorEntity ()
* Cleanup ManualTriggerSensorEntity

* ConfigType
2023-08-18 20:19:17 +02:00
Erik Montnemery
045c327928
Move DeviceInfo from entity to device registry ()
* Move DeviceInfo from entity to device registry

* Update integrations
2023-08-10 22:04:26 -04:00
G Johansson
1f11ce63fc
Manual trigger entity fix name influence entity_id () 2023-07-30 18:47:34 +02:00
G Johansson
f610a9b1c9
Fix sql entities not loading () 2023-07-27 09:24:32 +02:00
Miguel Camba
38111141f9
Add new device class: PH (potential hydrogen) () 2023-07-23 18:49:10 +02:00
G Johansson
4e2b00a443
Refactor SQL with ManualTriggerEntity ()
* First go

* Finalize sensor

* Add tests

* Remove not need _attr_name

* device_class

* _process_manual_data allow Any as value
2023-07-20 11:35:08 +02:00
dougiteixeira
4b1d096e6b
Add device_class and state_class in config flow for SQL ()
* Add device_class and state_class in config flow for SQL

* Update when selected NONE_SENTINEL

* Add tests

* Use SensorDeviceClass and SensorStateClass in tests

* Add volatile_organic_compounds_parts in strings selector

* Add test_attributes_from_entry_config

* Remove test_attributes_from_entry_config and complement test_device_state_class

* Add test_attributes_from_entry_config in test_sensor.py
2023-07-08 21:00:22 +02:00
J. Nick Koston
7995d3777a
Fix package names to match pypi index metadata ()
* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* uses _

* uses -

* fix metadata
2023-05-31 21:12:53 -04:00
J. Nick Koston
cbee514c2a
Bump sqlalchemy to 2.0.15 () 2023-05-20 14:26:33 -05:00
J. Nick Koston
809f394ff5
Bump sqlalchemy to 2.0.13 () 2023-05-12 04:37:16 +09:00
G Johansson
2c5cad4ca0
Clean config flow for SQL () 2023-05-07 01:42:37 +02:00
G Johansson
9795699669
Fix db_url issue in SQL ()
* db_url fix

* Add test

* assert entry.options
2023-05-01 16:17:01 +02:00
J. Nick Koston
32f6dd4a82
Bump sqlalchemy to 2.0.12 ()
changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.12
2023-04-30 23:11:29 -04:00
Diogo Gomes
a48a07bd8d
Removing self from SQL sensor CODEOWNERS () 2023-04-29 18:27:39 +02:00
J. Nick Koston
47b289b632
Bump sqlalchemy to 2.0.11 to fix a critical regression with postgresql () 2023-04-27 18:52:43 +02:00
J. Nick Koston
e7e7990b60
Bump sqlalchemy to 2.0.10 () 2023-04-25 09:45:49 -05:00
G Johansson
c3e22cfa63
SQL strings update db_url () 2023-04-17 13:37:27 +02:00
dougiteixeira
dc03a5c81e
Fix error for when column does not exist in query to SQL ()
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-04-15 12:54:56 -10:00
J. Nick Koston
4366f83ac8
Restore use of local timezone for MariaDB/MySQL in SQL integration ()
* Use local timezone for recorder connection

The fix in  had an unexpected side effect of
using UTC for the timezone since all recorder operations
use UTC. Since only sqlite much use the database executor
we can use a seperate connection pool which uses local time

This also ensures that the engines are disposed of
when Home Assistant is shutdown as previously we
did not cleanly disconnect

* coverage

* fix unclean shutdown in config flow

* tweaks
2023-04-12 20:24:55 -04:00
dougiteixeira
1ef6391e9c
Preserves config flow information in case of error for SQL () 2023-04-12 09:03:14 -10:00
J. Nick Koston
bd0378a961
Bump sqlalchemy to 2.0.9 ()
changes: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.9
2023-04-10 10:01:49 -04:00
J. Nick Koston
6e9fcbfec1
Fix false positive in SQL sensor full table scan check () 2023-04-09 19:45:08 -10:00
J. Nick Koston
53d7e33607
Raise an issue for legacy SQL queries that will cause full table scans ()
* Raise an issue for SQL queries that will cause full table scans

* Raise an issue for SQL queries that will cause full table scans

* Raise an issue for SQL queries that will cause full table scans

* Raise an issue for SQL queries that will cause full table scans

* Update homeassistant/components/sql/sensor.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* coverage

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-04-07 22:32:36 -04:00
J. Nick Koston
b66a99fe8a
Bump sqlalchemy to 2.0.8 () 2023-04-04 12:47:54 +02:00
J. Nick Koston
8096be768d
Isolate the sql integration with a separate query cache ()
* Isolate the sql integration with a seperate query cache

If there were a lot of sql integrations they could affect
the performance of the recorder/logbook/history since they
were sharing the same LRU and since the sql sensor updates
frequently it would evict the recorder queries from the
LRU.

* generate in stmt

* avoid double gen

* Revert "avoid double gen"

This reverts commit 6a5aa65268.
2023-03-28 23:54:03 -04:00
J. Nick Koston
5dc96a6952
Fix unbound variable in sql when session setup fails ()
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 304, in _async_setup_platform
    await asyncio.shield(task)
  File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 75, in async_setup_platform
    await async_setup_sensor(
  File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 150, in async_setup_sensor
    sessmaker := await hass.async_add_executor_job(
  File "/opt/homebrew/Cellar/python@3.10/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 205, in _validate_and_get_session_maker_for_db_url
    if sess:
UnboundLocalError: local variable 'sess' referenced before assignment
2023-03-28 23:52:44 -04:00
J. Nick Koston
7098debe09
Fix sql doing I/O in the event loop at startup ()
* Fix sql doing I/O in the event loop

* Fix sql doing I/O in the event loop

* no test query on main db

* fix mocking because it was targeting the recorder
2023-03-26 21:02:24 -04:00
J. Nick Koston
7bceedfc95
Bump sqlalchemy to 2.0.7 () 2023-03-25 07:05:35 -10:00
J. Nick Koston
03b204f445
Execute sql queries in the database executor when using the recorder database () 2023-03-14 10:56:02 +01:00
J. Nick Koston
2cb673db04
Handle bytes data in sql sensors () 2023-03-13 18:07:05 -10:00
G Johansson
afa58b80bd
Default to recorder db for SQL integration ()
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-13 17:41:32 -10:00
Paulus Schoutsen
8a4233ac8e
Bump SQLAlchemy to 2.0.6 () 2023-03-13 08:51:01 -10:00
J. Nick Koston
9672b5f02c
Bump sqlalchemy to 2.0.5post1 ()
changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.5

mostly bugfixes for 2.x regressions
2023-03-06 20:20:37 -05:00
G Johansson
f4cda2dfda
Add device_class and state_class to sql () 2023-03-05 20:30:42 +01:00
J. Nick Koston
cbba0fee42
Bump sqlalchemy to 2.0.4 ()
changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.4
2023-02-21 21:11:16 -05:00
J. Nick Koston
e899754919
Bump sqlalchemy to 2.0.3 ()
changes: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.3
2023-02-11 23:20:22 -05:00
Erik Montnemery
23fa500406
Sort manifests 9 () 2023-02-08 20:22:30 +01:00
Erik Montnemery
94519de8dd
Upgrade SQLAlchemy to 2.0.2 ()
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-08 08:17:32 -06:00