mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-07 00:58:46 +00:00

* Fix #14786: Suggestions API * Handle suggestions in ometa * Minor: Optimise Databricks Client (#14776) * MINOR - Fix SP topology context & Looker usage context (#14816) * MINOR - Fix SP topology context & Looker usage context * MINOR - Fix SP topology context & Looker usage context * Fix tests * Fixes #14598: Fix Tags / Labels ingestion on includeTags as False (#14782) * fix(ui): password error message for char limits (#14808) * fix(ui): password error message for char limits * fix java side code * Fixes #13556: Support for Salesforce table description ingestion (#14733) * ISSUE-13556: Add suport for Salesforce table description ingestion * ISSUE-13556: Remove unnecessary blank line * ISSUE-13556: Fix to get description for each table --------- Co-authored-by: Teddy <teddy.crepineau@gmail.com> * MINOR - Better handling of Ingestion Pipeline Status (#14792) * MINOR - Better handling of Ingestion Pipeline Status * format * format * MINOR: Added table validation for cost analysis data (#14793) * Added validation for cost analysis source * centralized life cycle logic * CYPRESS: simplify side navigation click in cypress (#14818) * simplify side navigation click in cypress * make sidbar item uses common enum * fix cypress failure of outside import * fix(#14326): tier dropdown is not working in advance search (#14780) * improvement in advance search based on custom property * fix a reading undefined property issue * wip: advance search based on tier * some code cleanup and improvement * some fixes * fix: ui flicker when advanceSearched is apply and refresh the page * some cleanup * no need to call customproperty api call, if entity not suppport customProperties * minor change * fix: autocomplete not working in tier search option in advance search modal * added unit test for advance search provider component * some cleanup * added testcase for open modal * added testcase for resetAllFilters method * removed unwanted code * added e2e test for testing tier advance search * fix: e2e search flow for single field * fix: string field not working after giving listValues in TierSearch * fix: group query e2e test fix * used asyncFetch way to get the tierOptions synchronously * some cleanup * remove unwanted lines * some cleanup * fix: selected option show option value instead of option title * fix(minor): update skip icon for executions (#14809) * Fixes #14803: ignore capitalization when confirming deletes (#14804) * ignore case when confirming deletes * Test confirmation of deletes works when case differs Added test case for 'delete' as the confirmation text. * minor(config): update openmetadata-ui code reviewers (#14823) * Add Tests * Add list/accept/reject apis * initial ui changes * localisation * show suggestion for empty description * ui feedbacks * Fix permission check for entities without owner * Fix entityLink and add tests * Add update suggestion WIP * Fix test * Fix PUT and Pagination * Fix styling * update test * Update status * add OM server connection in apps * add permissions check * Fix CI * Remove TODO * Fix feedResourceTest * fix unit tests * add private configs for apps * add private configs for apps * fix update application icons * minor center align icon * add private configs for apps * Format * Fix pydantic gen * Remove token * Update name * Rework private conf * Fix apps * Fix apps * Format * Format * show metapilot only if its installed --------- Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com> Co-authored-by: Mayur Singal <39544459+ulixius9@users.noreply.github.com> Co-authored-by: Ayush Shah <ayush@getcollate.io> Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com> Co-authored-by: kwgdaig <18678754+kwgdaig@users.noreply.github.com> Co-authored-by: Teddy <teddy.crepineau@gmail.com> Co-authored-by: Onkar Ravgan <onkar.10r@gmail.com> Co-authored-by: Ashish Gupta <ashish@getcollate.io> Co-authored-by: Abhishek Porwal <80886271+Abhishek332@users.noreply.github.com> Co-authored-by: Carlo Q <carlo@machina.bio> Co-authored-by: karanh37 <karanh37@gmail.com>
197 lines
6.6 KiB
SQL
197 lines
6.6 KiB
SQL
-- Data quality failure status extension time series
|
|
CREATE TABLE test_case_resolution_status_time_series (
|
|
id varchar(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL,
|
|
stateId varchar(36) GENERATED ALWAYS AS (json ->> 'stateId') STORED NOT NULL,
|
|
assignee varchar(256) GENERATED ALWAYS AS (
|
|
CASE
|
|
WHEN json->'testCaseResolutionStatusDetails' IS NOT NULL AND
|
|
json->'testCaseResolutionStatusDetails'->'assignee' IS NOT NULL AND
|
|
json->'testCaseResolutionStatusDetails'->'assignee'->>'name' IS NOT NULL
|
|
THEN json->'testCaseResolutionStatusDetails'->'assignee'->>'name'
|
|
ELSE NULL
|
|
END
|
|
) STORED NULL,
|
|
timestamp bigint GENERATED ALWAYS AS ((json ->> 'timestamp')::bigint) STORED NOT NULL,
|
|
testCaseResolutionStatusType varchar(36) GENERATED ALWAYS AS (json ->> 'testCaseResolutionStatusType') STORED NOT NULL,
|
|
jsonSchema varchar(256) NOT NULL,
|
|
json jsonb NOT NULL,
|
|
entityFQNHash varchar(768) COLLATE "C" DEFAULT NULL,
|
|
CONSTRAINT test_case_resolution_status_unique_constraint UNIQUE (id, timestamp, entityFQNHash)
|
|
);
|
|
create index test_case_resolution_status_time_series_id on test_case_resolution_status_time_series (id);
|
|
create index test_case_resolution_status_time_series_status_type on test_case_resolution_status_time_series (testCaseResolutionStatusType);
|
|
create index test_case_resolution_status_time_series_id_status_type on test_case_resolution_status_time_series (id, testCaseResolutionStatusType);
|
|
|
|
-- DataInsightsApplication should not allow configuration
|
|
UPDATE apps_marketplace
|
|
SET json = jsonb_set(
|
|
json::jsonb,
|
|
'{allowConfiguration}',
|
|
to_jsonb(false)
|
|
)
|
|
where name = 'DataInsightsApplication';
|
|
|
|
UPDATE installed_apps
|
|
SET json = jsonb_set(
|
|
json::jsonb,
|
|
'{allowConfiguration}',
|
|
to_jsonb(false)
|
|
)
|
|
where name = 'DataInsightsApplication';
|
|
|
|
-- Remove mssql connection from airflow db
|
|
UPDATE pipeline_service_entity pse
|
|
SET json = jsonb_set(
|
|
json,
|
|
'{connection, config}',
|
|
json->'connection'->'config' #- '{connection}'
|
|
)
|
|
WHERE serviceType = 'Airflow'
|
|
AND json #>> '{connection,config,connection,type}' = 'Mssql';
|
|
|
|
-- Rename NOOP Secret Manager to DB
|
|
update metadata_service_entity
|
|
set json = jsonb_set(
|
|
json #- '{connection,config,secretsManagerProvider}',
|
|
'{connection,config,secretsManagerProvider}',
|
|
'"db"',
|
|
true
|
|
)
|
|
where name = 'OpenMetadata'
|
|
and json #>> '{connection,config,secretsManagerProvider}' = 'noop';
|
|
|
|
-- Clean old test connections
|
|
TRUNCATE automations_workflow;
|
|
|
|
-- update service type to UnityCatalog - update database entity
|
|
UPDATE database_entity de
|
|
SET json = jsonb_set(
|
|
json #- '{serviceType}',
|
|
'{serviceType}',
|
|
'"UnityCatalog"',
|
|
true
|
|
)
|
|
where id in (
|
|
select toId from entity_relationship er
|
|
where
|
|
fromEntity = 'databaseService'
|
|
and toEntity = 'database'
|
|
and fromId in (
|
|
select id from dbservice_entity dbe
|
|
where
|
|
serviceType = 'Databricks'
|
|
and (dbe.json #>> '{connection,config,useUnityCatalog}')::bool = true
|
|
));
|
|
|
|
|
|
-- update service type to UnityCatalog - update database schema entity
|
|
UPDATE database_schema_entity dse
|
|
SET json = jsonb_set(
|
|
json #- '{serviceType}',
|
|
'{serviceType}',
|
|
'"UnityCatalog"',
|
|
true
|
|
)
|
|
where json #>> '{database,id}' in (
|
|
select toId from entity_relationship er
|
|
where
|
|
fromEntity = 'databaseService'
|
|
and toEntity = 'database'
|
|
and fromId in (
|
|
select id from dbservice_entity dbe
|
|
where
|
|
serviceType = 'Databricks'
|
|
and (dbe.json #>> '{connection,config,useUnityCatalog}')::bool = true
|
|
));
|
|
|
|
-- update service type to UnityCatalog - update table entity
|
|
UPDATE table_entity te
|
|
SET json = jsonb_set(
|
|
json #- '{serviceType}',
|
|
'{serviceType}',
|
|
'"UnityCatalog"',
|
|
true
|
|
)
|
|
where json #>> '{database,id}' in (
|
|
select toId from entity_relationship er
|
|
where
|
|
fromEntity = 'databaseService'
|
|
and toEntity = 'database'
|
|
and fromId in (
|
|
select id from dbservice_entity dbe
|
|
where
|
|
serviceType = 'Databricks'
|
|
and (dbe.json #>> '{connection,config,useUnityCatalog}')::bool = true
|
|
));
|
|
|
|
|
|
-- update service type to UnityCatalog - update db service entity
|
|
UPDATE dbservice_entity de
|
|
SET json = jsonb_set(
|
|
jsonb_set(
|
|
de.json #- '{serviceType}',
|
|
'{serviceType}',
|
|
'"UnityCatalog"'
|
|
) #- '{connection,config,type}',
|
|
'{connection,config,type}',
|
|
'"UnityCatalog"'
|
|
)
|
|
WHERE de.serviceType = 'Databricks'
|
|
AND (de.json #>> '{connection,config,useUnityCatalog}')::bool = True
|
|
;
|
|
|
|
-- remove `useUnityCatalog` flag from service connection details of databricks
|
|
UPDATE dbservice_entity de
|
|
SET json = json #- '{connection,config,useUnityCatalog}'
|
|
WHERE de.serviceType IN ('Databricks','UnityCatalog');
|
|
|
|
-- Add Incident ID for test case results
|
|
ALTER TABLE data_quality_data_time_series ADD COLUMN incidentId varchar(36);
|
|
CREATE INDEX IF NOT EXISTS data_quality_data_time_series_incidentId ON data_quality_data_time_series(incidentId);
|
|
|
|
-- Add new table for event subscription extensions
|
|
CREATE TABLE IF NOT EXISTS change_event_consumers (
|
|
id VARCHAR(36) NOT NULL,
|
|
extension VARCHAR(256) NOT NULL,
|
|
jsonSchema VARCHAR(256) NOT NULL,
|
|
json jsonb NOT NULL,
|
|
timestamp BIGINT GENERATED ALWAYS AS ((json ->> 'timestamp')::bigint) STORED NOT NULL,
|
|
UNIQUE(id, extension)
|
|
);
|
|
|
|
DELETE FROM event_subscription_entity ese where name = 'DataInsightReport';
|
|
|
|
-- Update Change Event Table
|
|
ALTER TABLE change_event ADD COLUMN "offset" SERIAL PRIMARY KEY;
|
|
|
|
CREATE TABLE IF NOT EXISTS consumers_dlq (
|
|
id VARCHAR(36) NOT NULL,
|
|
extension VARCHAR(256) NOT NULL,
|
|
json jsonb NOT NULL,
|
|
timestamp BIGINT GENERATED ALWAYS AS ((json ->> 'timestamp')::bigint) STORED NOT NULL,
|
|
UNIQUE(id, extension)
|
|
);
|
|
|
|
-- Add supportsQueryComment to MSSQL
|
|
update dbservice_entity
|
|
set json = jsonb_set(json::jsonb, '{connection,config,supportsQueryComment}', 'true', true)
|
|
where serviceType = 'Mssql';
|
|
|
|
DELETE FROM event_subscription_entity;
|
|
DELETE FROM change_event_consumers;
|
|
DELETE FROM consumers_dlq;
|
|
|
|
CREATE TABLE IF NOT EXISTS suggestions (
|
|
id VARCHAR(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL,
|
|
fqnHash VARCHAR(256) NOT NULL,
|
|
entityLink VARCHAR(256) GENERATED ALWAYS AS (json ->> 'entityLink') STORED NOT NULL,
|
|
suggestionType VARCHAR(36) GENERATED ALWAYS AS (json ->> 'type') STORED NOT NULL,
|
|
json JSON NOT NULL,
|
|
updatedAt BIGINT GENERATED ALWAYS AS ((json ->> 'updatedAt')::bigint) STORED NOT NULL,
|
|
updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> 'updatedBy') STORED NOT NULL,
|
|
status VARCHAR(256) GENERATED ALWAYS AS (json ->> 'status') STORED NOT NULL,
|
|
PRIMARY KEY (id)
|
|
);
|
|
|
|
UPDATE ingestion_pipeline_entity SET json = JSONB_SET(json::jsonb, '{provider}', '"user"', true)
|
|
WHERE json->>'name' = 'OpenMetadata_dataInsight'; |