| 
									
										
										
										
											2023-08-25 08:47:16 +02:00
										 |  |  | -- Update table and column profile timestamps to be in milliseconds
 | 
					
						
							|  |  |  | UPDATE entity_extension_time_series
 | 
					
						
							|  |  |  | SET json = jsonb_set(
 | 
					
						
							|  |  |  | 	json,
 | 
					
						
							|  |  |  | 	'{timestamp}',
 | 
					
						
							|  |  |  | 	to_jsonb(cast(json#>'{timestamp}' as int8) *1000)
 | 
					
						
							|  |  |  | )
 | 
					
						
							|  |  |  | WHERE
 | 
					
						
							| 
									
										
										
										
											2023-09-14 16:40:11 +02:00
										 |  |  | 	extension  in ('table.tableProfile', 'table.columnProfile', 'testCase.testCaseResult');
 | 
					
						
							| 
									
										
										
										
											2023-08-25 08:47:16 +02:00
										 |  |  | ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-01 18:01:20 +02:00
										 |  |  | BEGIN;
 | 
					
						
							|  |  |  | -- Run the following SQL to update the schema in a transaction
 | 
					
						
							| 
									
										
										
										
											2023-08-28 08:14:15 +02:00
										 |  |  | -- Create report data time series table and move data from entity_extension_time_series
 | 
					
						
							|  |  |  | CREATE TABLE IF NOT EXISTS report_data_time_series (
 | 
					
						
							|  |  |  |     entityFQNHash VARCHAR(768),
 | 
					
						
							|  |  |  |     extension VARCHAR(256) NOT NULL,
 | 
					
						
							|  |  |  |     jsonSchema VARCHAR(256) NOT NULL,
 | 
					
						
							|  |  |  |     json JSONB NOT NULL,
 | 
					
						
							|  |  |  |     timestamp BIGINT CHECK (timestamp > 0) GENERATED ALWAYS AS ((json ->> 'timestamp')::bigint) STORED NOT NULL
 | 
					
						
							|  |  |  | );
 | 
					
						
							|  |  |  | CREATE INDEX IF NOT EXISTS report_data_time_series_point_ts ON report_data_time_series (timestamp);
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | INSERT INTO report_data_time_series (entityFQNHash,extension,jsonSchema,json)
 | 
					
						
							| 
									
										
										
										
											2023-09-01 18:01:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-28 08:14:15 +02:00
										 |  |  | SELECT entityFQNHash, extension, jsonSchema, json
 | 
					
						
							|  |  |  | FROM entity_extension_time_series WHERE extension = 'reportData.reportDataResult';
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DELETE FROM entity_extension_time_series
 | 
					
						
							|  |  |  | WHERE extension = 'reportData.reportDataResult';
 | 
					
						
							| 
									
										
										
										
											2023-09-01 18:01:20 +02:00
										 |  |  | COMMIT;
 | 
					
						
							| 
									
										
										
										
											2023-08-28 08:14:15 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-01 18:01:20 +02:00
										 |  |  | BEGIN;
 | 
					
						
							| 
									
										
										
										
											2023-08-28 08:14:15 +02:00
										 |  |  | -- Create profiler data time series table and move data from entity_extension_time_series
 | 
					
						
							|  |  |  | CREATE TABLE IF NOT EXISTS profiler_data_time_series (
 | 
					
						
							|  |  |  |     entityFQNHash VARCHAR(768),
 | 
					
						
							|  |  |  |     extension VARCHAR(256) NOT NULL,
 | 
					
						
							|  |  |  |     jsonSchema VARCHAR(256) NOT NULL,
 | 
					
						
							|  |  |  |     json JSON NOT NULL,
 | 
					
						
							|  |  |  |     operation VARCHAR(256) GENERATED ALWAYS AS ((json ->> 'operation')::text) STORED NULL,
 | 
					
						
							|  |  |  |     timestamp BIGINT CHECK (timestamp > 0) GENERATED ALWAYS AS ((json ->> 'timestamp')::bigint) STORED NOT NULL,
 | 
					
						
							|  |  |  |     CONSTRAINT profiler_data_time_series_unique_hash_extension_ts UNIQUE(entityFQNHash, extension, operation, timestamp)
 | 
					
						
							|  |  |  | );
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CREATE INDEX IF NOT EXISTS profiler_data_time_series_combined_id_ts ON profiler_data_time_series (extension, timestamp);
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | INSERT INTO profiler_data_time_series (entityFQNHash,extension,jsonSchema,json)
 | 
					
						
							|  |  |  | SELECT entityFQNHash, extension, jsonSchema, json
 | 
					
						
							|  |  |  | FROM entity_extension_time_series
 | 
					
						
							|  |  |  | WHERE extension IN ('table.columnProfile', 'table.tableProfile', 'table.systemProfile');
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DELETE FROM entity_extension_time_series
 | 
					
						
							|  |  |  | WHERE extension IN ('table.columnProfile', 'table.tableProfile', 'table.systemProfile');
 | 
					
						
							| 
									
										
										
										
											2023-09-01 18:01:20 +02:00
										 |  |  | COMMIT;
 | 
					
						
							| 
									
										
										
										
											2023-08-28 08:14:15 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-01 18:01:20 +02:00
										 |  |  | BEGIN;
 | 
					
						
							| 
									
										
										
										
											2023-08-28 08:14:15 +02:00
										 |  |  | -- Create profiler data time series table and move data from entity_extension_time_series
 | 
					
						
							|  |  |  | CREATE TABLE IF NOT EXISTS data_quality_data_time_series (
 | 
					
						
							|  |  |  |     entityFQNHash VARCHAR(768),
 | 
					
						
							|  |  |  |     extension VARCHAR(256) NOT NULL,
 | 
					
						
							|  |  |  |     jsonSchema VARCHAR(256) NOT NULL,
 | 
					
						
							|  |  |  |     json JSON NOT NULL,
 | 
					
						
							|  |  |  |     timestamp BIGINT CHECK (timestamp > 0) GENERATED ALWAYS AS ((json ->> 'timestamp')::bigint) STORED NOT NULL,
 | 
					
						
							|  |  |  |     CONSTRAINT data_quality_data_time_series_unique_hash_extension_ts UNIQUE(entityFQNHash, extension, timestamp)
 | 
					
						
							|  |  |  | );
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CREATE INDEX IF NOT EXISTS data_quality_data_time_series_combined_id_ts ON data_quality_data_time_series (extension, timestamp);
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | INSERT INTO data_quality_data_time_series (entityFQNHash,extension,jsonSchema,json)
 | 
					
						
							|  |  |  | SELECT entityFQNHash, extension, jsonSchema, json
 | 
					
						
							|  |  |  | FROM entity_extension_time_series
 | 
					
						
							|  |  |  | WHERE extension = 'testCase.testCaseResult';
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DELETE FROM entity_extension_time_series
 | 
					
						
							|  |  |  | WHERE extension = 'testCase.testCaseResult';
 | 
					
						
							| 
									
										
										
										
											2023-09-01 18:01:20 +02:00
										 |  |  | COMMIT;
 | 
					
						
							| 
									
										
										
										
											2023-08-28 08:14:15 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-22 09:19:16 +02:00
										 |  |  | ALTER TABLE entity_extension_time_series ALTER COLUMN entityFQNHash TYPE VARCHAR(768), ALTER COLUMN jsonSchema TYPE VARCHAR(50) , ALTER COLUMN extension TYPE VARCHAR(100) ,
 | 
					
						
							|  |  |  |     ADD CONSTRAINT entity_extension_time_series_constraint UNIQUE (entityFQNHash, extension, timestamp);
 | 
					
						
							|  |  |  | ALTER TABLE field_relationship ALTER COLUMN fromFQNHash TYPE VARCHAR(768), ALTER COLUMN toFQNHash TYPE VARCHAR(768);
 | 
					
						
							|  |  |  | ALTER TABLE thread_entity ALTER COLUMN entityLink TYPE VARCHAR(3072);
 | 
					
						
							|  |  |  | ALTER TABLE tag_usage ALTER COLUMN tagFQNHash TYPE VARCHAR(768), ALTER COLUMN targetFQNHash TYPE VARCHAR(768);
 | 
					
						
							|  |  |  | ALTER TABLE test_suite ALTER COLUMN fqnHash TYPE VARCHAR(768);
 |