// Drop foreign key constraint tenantId_mod_source_record_manager.job_execution_progress_jobexecutionid_fkey ALTER TABLE tenantId_mod_source_record_manager.job_execution_progress DROP CONSTRAINT job_execution_progress_jobexecutionid_fkey CASCADE ; // Drop foreign key constraint tenantId_mod_source_record_manager.journal_records_job_execution_id_fkey ALTER TABLE tenantId_mod_source_record_manager.journal_records DROP CONSTRAINT journal_records_job_execution_id_fkey CASCADE ; // Drop foreign key constraint tenantId_mod_source_record_manager.job_execution_source_chunks_jobexecutionid_fkey ALTER TABLE tenantId_mod_source_record_manager.job_execution_source_chunks DROP CONSTRAINT job_execution_source_chunks_jobexecutionid_fkey CASCADE ; // Drop index tenantId_mod_source_record_manager.job_execution_source_chunks_jobexecutionid_idx DROP INDEX tenantId_mod_source_record_manager.job_execution_source_chunks_jobexecutionid_idx ; // Drop index tenantId_mod_source_record_manager.job_execution_source_chunks_id_idx DROP INDEX tenantId_mod_source_record_manager.job_execution_source_chunks_id_idx ; // Drop index tenantId_mod_source_record_manager.job_executions_id_idx DROP INDEX tenantId_mod_source_record_manager.job_executions_id_idx ; // Drop primary key constraint tenantId_mod_source_record_manager.journal_records_pkey ALTER TABLE tenantId_mod_source_record_manager.journal_records DROP CONSTRAINT journal_records_pkey CASCADE ; // Drop primary key constraint tenantId_mod_source_record_manager.mapping_rules_pkey ALTER TABLE tenantId_mod_source_record_manager.mapping_rules DROP CONSTRAINT mapping_rules_pkey CASCADE ; // Drop primary key constraint tenantId_mod_source_record_manager.job_execution_source_chunks_pkey ALTER TABLE tenantId_mod_source_record_manager.job_execution_source_chunks DROP CONSTRAINT job_execution_source_chunks_pkey CASCADE ; // Drop primary key constraint tenantId_mod_source_record_manager.job_executions_pkey ALTER TABLE tenantId_mod_source_record_manager.job_executions DROP CONSTRAINT job_executions_pkey CASCADE ; // Drop function tenantId_mod_source_record_manager.count_estimate_smart DROP FUNCTION tenantId_mod_source_record_manager.count_estimate_smart (in query text) ; // Drop function tenantId_mod_source_record_manager.count_estimate_smart_depricated DROP FUNCTION tenantId_mod_source_record_manager.count_estimate_smart_depricated (in query text) ; // Create function tenantId_mod_source_record_manager.uuid_larger(uuid, uuid) CREATE FUNCTION tenantId_mod_source_record_manager.uuid_larger (in uuid, in uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 > $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE 'plpgsql' COST 100 ; ALTER FUNCTION tenantId_mod_source_record_manager.uuid_larger (in uuid, in uuid) OWNER TO folio ; // Alter function tenantId_mod_source_record_manager.is_processing_completed(uuid) CREATE OR REPLACE FUNCTION tenantId_mod_source_record_manager.is_processing_completed (in jobexecid uuid) RETURNS bool AS $$ DECLARE completed boolean; BEGIN SELECT count(id) = (SELECT count(id) FROM job_execution_source_chunks WHERE (jsonb->>'jobExecutionId')::uuid = jobExecId) into completed FROM job_execution_source_chunks WHERE (jsonb->>'jobExecutionId')::uuid = jobExecId AND jsonb->>'state' IN ('COMPLETED', 'ERROR'); RETURN completed; END; $$ LANGUAGE 'plpgsql' COST 100 ; ALTER FUNCTION tenantId_mod_source_record_manager.is_processing_completed (in jobexecid uuid) OWNER TO folio ; // Create function tenantId_mod_source_record_manager.next_uuid(uuid) CREATE FUNCTION tenantId_mod_source_record_manager.next_uuid (in uuid) RETURNS uuid AS $$ DECLARE uuid text; digit text; BEGIN uuid = $1; FOR i IN REVERSE 36..1 LOOP digit := substring(uuid from i for 1); CONTINUE WHEN digit = '-' OR i = 15 OR i = 20; CASE digit WHEN '0' THEN digit := '1'; WHEN '1' THEN digit := '2'; WHEN '2' THEN digit := '3'; WHEN '3' THEN digit := '4'; WHEN '4' THEN digit := '5'; WHEN '5' THEN digit := '6'; WHEN '6' THEN digit := '7'; WHEN '7' THEN digit := '8'; WHEN '8' THEN digit := '9'; WHEN '9' THEN digit := 'a'; WHEN 'a' THEN digit := 'b'; WHEN 'b' THEN digit := 'c'; WHEN 'c' THEN digit := 'd'; WHEN 'd' THEN digit := 'e'; WHEN 'e' THEN digit := 'f'; WHEN 'f' THEN digit := '0'; ELSE NULL; END CASE; uuid = overlay(uuid placing digit from i); EXIT WHEN digit <> '0'; END LOOP; RETURN uuid; END; $$ LANGUAGE 'plpgsql' COST 100 ; ALTER FUNCTION tenantId_mod_source_record_manager.next_uuid (in uuid) OWNER TO folio ; // Create function tenantId_mod_source_record_manager.uuid_smaller(uuid, uuid) CREATE FUNCTION tenantId_mod_source_record_manager.uuid_smaller (in uuid, in uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 < $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE 'plpgsql' COST 100 ; ALTER FUNCTION tenantId_mod_source_record_manager.uuid_smaller (in uuid, in uuid) OWNER TO folio ; // Alter function tenantId_mod_source_record_manager.processing_contains_error_chunks(uuid) CREATE OR REPLACE FUNCTION tenantId_mod_source_record_manager.processing_contains_error_chunks (in jobexecid uuid) RETURNS bool AS $$ DECLARE has_errors boolean; BEGIN SELECT count(id) > 0 into has_errors FROM job_execution_source_chunks WHERE (jsonb->>'jobExecutionId')::uuid = jobExecId AND jsonb->>'state' = 'ERROR'; RETURN has_errors; END; $$ LANGUAGE 'plpgsql' COST 100 ; ALTER FUNCTION tenantId_mod_source_record_manager.processing_contains_error_chunks (in jobexecid uuid) OWNER TO folio ; // Alter table tenantId_mod_source_record_manager.job_executions ALTER TABLE tenantId_mod_source_record_manager.job_executions RENAME _id TO id ; ALTER TABLE tenantId_mod_source_record_manager.job_executions ADD CONSTRAINT job_executions_pkey PRIMARY KEY (id) ; // Alter table tenantId_mod_source_record_manager.job_execution_source_chunks ALTER TABLE tenantId_mod_source_record_manager.job_execution_source_chunks RENAME _id TO id ; ALTER TABLE tenantId_mod_source_record_manager.job_execution_source_chunks ADD CONSTRAINT job_execution_source_chunks_pkey PRIMARY KEY (id) ; // Alter table tenantId_mod_source_record_manager.mapping_rules ALTER TABLE tenantId_mod_source_record_manager.mapping_rules ALTER _id DROP DEFAULT ; ALTER TABLE tenantId_mod_source_record_manager.mapping_rules RENAME _id TO id ; ALTER TABLE tenantId_mod_source_record_manager.mapping_rules ADD CONSTRAINT mapping_rules_pkey PRIMARY KEY (id) ; // Alter table tenantId_mod_source_record_manager.journal_records ALTER TABLE tenantId_mod_source_record_manager.journal_records RENAME _id TO id ; ALTER TABLE tenantId_mod_source_record_manager.journal_records ADD COLUMN error text NULL ; ALTER TABLE tenantId_mod_source_record_manager.journal_records ADD COLUMN source_record_order integer NULL ; ALTER TABLE tenantId_mod_source_record_manager.journal_records ADD CONSTRAINT journal_records_pkey PRIMARY KEY (id) ; // Create index tenantId_mod_source_record_manager.job_execution_source_chunks_jobexecutionid_idx CREATE INDEX job_execution_source_chunks_jobexecutionid_idx ON tenantId_mod_source_record_manager.job_execution_source_chunks USING btree (jobexecutionid) ; // Create foreign key constraint tenantId_mod_source_record_manager.job_execution_source_chunks_jobexecutionid_fkey ALTER TABLE tenantId_mod_source_record_manager.job_execution_source_chunks ADD CONSTRAINT job_execution_source_chunks_jobexecutionid_fkey FOREIGN KEY(jobexecutionid) REFERENCES tenantId_mod_source_record_manager.job_executions(id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION ; // Create foreign key constraint tenantId_mod_source_record_manager.journal_records_job_execution_id_fkey ALTER TABLE tenantId_mod_source_record_manager.journal_records ADD CONSTRAINT journal_records_job_execution_id_fkey FOREIGN KEY(job_execution_id) REFERENCES tenantId_mod_source_record_manager.job_executions(id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION ; // Create foreign key constraint tenantId_mod_source_record_manager.job_execution_progress_jobexecutionid_fkey ALTER TABLE tenantId_mod_source_record_manager.job_execution_progress ADD CONSTRAINT job_execution_progress_jobexecutionid_fkey FOREIGN KEY(jobexecutionid) REFERENCES tenantId_mod_source_record_manager.job_executions(id) MATCH SIMPLE ON DELETE NO ACTION ON UPDATE NO ACTION ; // Create trigger tenantId_mod_source_record_manager.set_id_in_jsonb CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON tenantId_mod_source_record_manager.mapping_rules FOR EACH ROW EXECUTE PROCEDURE tenantId_mod_source_record_manager.set_id_in_jsonb() ; // Create trigger tenantId_mod_source_record_manager.set_id_in_jsonb CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON tenantId_mod_source_record_manager.job_execution_source_chunks FOR EACH ROW EXECUTE PROCEDURE tenantId_mod_source_record_manager.set_id_in_jsonb() ; // Create trigger tenantId_mod_source_record_manager.set_id_in_jsonb CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON tenantId_mod_source_record_manager.job_executions FOR EACH ROW EXECUTE PROCEDURE tenantId_mod_source_record_manager.set_id_in_jsonb() ;