]> git.basschouten.com Git - openhab-addons.git/commit
[jdbc] Add support for case sensitive table names reflecting item names 1:1 (#13544)
authorJacob Laursen <jacob-github@vindvejr.dk>
Sat, 5 Nov 2022 09:41:31 +0000 (10:41 +0100)
committerGitHub <noreply@github.com>
Sat, 5 Nov 2022 09:41:31 +0000 (10:41 +0100)
commit70abb5d1f64efa17958ae32b9baab741efac53d1
tree6ef7ff273ca05486bf2153622a8ed06759a3210b
parentf880ca91f9294d9d228a7e59e8b4888d9a038b19
[jdbc] Add support for case sensitive table names reflecting item names 1:1 (#13544)

* Do not append number when using real item names
* Extract getTableName to separate class
* Add initial test coverage
* Extract migration logic to separate class
* Support migration from real names back to numbered
* Simplify zero-padding
* Fix NullPointerException
* Fix MySQL compatibility when CLIENT_MULTI_STATEMENTS option is not set
* Add option for case sensitive table names
* Add real name with suffix mode for backwards compatibility
* Remove real name in lower case without suffix mode
* Map directly from item name to table name
* Fix ambiguous table name scenario
* Add additional testcase
* Add migration path for changed table prefix
* Drop items table when using direct mapping
* Add configuration note
* Fix table alignment
* Extend description as more migration paths are now supported
* Do not stop halfway through a migration
* For clarity, do not use abbreviation for operating system

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
13 files changed:
bundles/org.openhab.persistence.jdbc/README.md
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcBaseDAO.java
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcDerbyDAO.java
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcHsqldbDAO.java
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcPostgresqlDAO.java
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemsVO.java
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/internal/JdbcConfiguration.java
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/internal/JdbcMapper.java
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/internal/JdbcPersistenceService.java
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/internal/NamingStrategy.java [new file with mode: 0644]
bundles/org.openhab.persistence.jdbc/src/main/resources/OH-INF/config/config.xml
bundles/org.openhab.persistence.jdbc/src/main/resources/OH-INF/i18n/jdbc.properties
bundles/org.openhab.persistence.jdbc/src/test/java/org/openhab/persistence/jdbc/internal/NamingStrategyTest.java [new file with mode: 0644]