Commit 2086bd2d2a9d11f984bda6ba5c326aeb236ed6a5
Committed by
Andrew Shvayka
1 parent
ae010b78
fixed drop partition function in install script and added fix to upgrade script
Showing
4 changed files
with
17 additions
and
7 deletions
... | ... | @@ -43,7 +43,7 @@ BEGIN |
43 | 43 | into max_customer_ttl; |
44 | 44 | max_ttl := GREATEST(system_ttl, max_customer_ttl, max_tenant_ttl); |
45 | 45 | if max_ttl IS NOT NULL AND max_ttl > 0 THEN |
46 | - date := to_timestamp(EXTRACT(EPOCH FROM current_timestamp) - (max_ttl / 1000)); | |
46 | + date := to_timestamp(EXTRACT(EPOCH FROM current_timestamp) - max_ttl); | |
47 | 47 | partition_by_max_ttl_date := get_partition_by_max_ttl_date(partition_type, date); |
48 | 48 | RAISE NOTICE 'Partition by max ttl: %', partition_by_max_ttl_date; |
49 | 49 | IF partition_by_max_ttl_date IS NOT NULL THEN | ... | ... |
... | ... | @@ -193,6 +193,9 @@ public class ThingsboardInstallService { |
193 | 193 | databaseEntitiesUpgradeService.upgradeDatabase("3.2.1"); |
194 | 194 | case "3.2.2": |
195 | 195 | log.info("Upgrading ThingsBoard from version 3.2.2 to 3.3.0 ..."); |
196 | + if (databaseTsUpgradeService != null) { | |
197 | + databaseTsUpgradeService.upgradeDatabase("3.2.2"); | |
198 | + } | |
196 | 199 | databaseEntitiesUpgradeService.upgradeDatabase("3.2.2"); |
197 | 200 | |
198 | 201 | dataUpdateService.updateData("3.2.2"); | ... | ... |
... | ... | @@ -209,6 +209,12 @@ public class PsqlTsDatabaseUpgradeService extends AbstractSqlTsDatabaseUpgradeSe |
209 | 209 | executeQuery(conn, "DROP FUNCTION IF EXISTS delete_customer_records_from_ts_kv(character varying, character varying, bigint);"); |
210 | 210 | } |
211 | 211 | break; |
212 | + case "3.2.2": | |
213 | + try (Connection conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword)) { | |
214 | + log.info("Load Drop Partitions functions ..."); | |
215 | + loadSql(conn, LOAD_DROP_PARTITIONS_FUNCTIONS_SQL, "2.4.3"); | |
216 | + } | |
217 | + break; | |
212 | 218 | default: |
213 | 219 | throw new RuntimeException("Unable to upgrade SQL database, unsupported fromVersion: " + fromVersion); |
214 | 220 | } | ... | ... |
... | ... | @@ -63,7 +63,7 @@ BEGIN |
63 | 63 | into max_customer_ttl; |
64 | 64 | max_ttl := GREATEST(system_ttl, max_customer_ttl, max_tenant_ttl); |
65 | 65 | if max_ttl IS NOT NULL AND max_ttl > 0 THEN |
66 | - date := to_timestamp(EXTRACT(EPOCH FROM current_timestamp) - (max_ttl / 1000)); | |
66 | + date := to_timestamp(EXTRACT(EPOCH FROM current_timestamp) - max_ttl); | |
67 | 67 | partition_by_max_ttl_date := get_partition_by_max_ttl_date(partition_type, date); |
68 | 68 | RAISE NOTICE 'Partition by max ttl: %', partition_by_max_ttl_date; |
69 | 69 | IF partition_by_max_ttl_date IS NOT NULL THEN |
... | ... | @@ -104,11 +104,12 @@ BEGIN |
104 | 104 | END IF; |
105 | 105 | END IF; |
106 | 106 | END IF; |
107 | - END IF; | |
108 | - IF partition_to_delete IS NOT NULL THEN | |
109 | - RAISE NOTICE 'Partition to delete by max ttl: %', partition_to_delete; | |
110 | - EXECUTE format('DROP TABLE %I', partition_to_delete); | |
111 | - deleted := deleted + 1; | |
107 | + IF partition_to_delete IS NOT NULL THEN | |
108 | + RAISE NOTICE 'Partition to delete by max ttl: %', partition_to_delete; | |
109 | + EXECUTE format('DROP TABLE IF EXISTS %I', partition_to_delete); | |
110 | + partition_to_delete := NULL; | |
111 | + deleted := deleted + 1; | |
112 | + END IF; | |
112 | 113 | END IF; |
113 | 114 | END LOOP; |
114 | 115 | END IF; | ... | ... |