|
- DROP FOREIGN TABLE public.pull_request_es;
- CREATE FOREIGN TABLE public.pull_request_es
- (
- id bigint NOT NULL,
- type integer,
- status integer,
- conflicted_files json,
- commits_ahead integer,
- commits_behind integer,
- issue_id bigint,
- index bigint,
- head_repo_id bigint,
- base_repo_id bigint,
- head_branch character varying(255),
- base_branch character varying(255),
- merge_base character varying(40),
- has_merged boolean,
- merged_commit_id character varying(40),
- merger_id bigint,
- merged_unix bigint,
- is_transformed boolean NOT NULL DEFAULT false,
- amount integer NOT NULL DEFAULT 0
- )SERVER multicorn_es
- OPTIONS
- (
- host '192.168.207.94',
- port '9200',
- index 'pr-es-index',
- rowid_column 'id',
- default_sort '_id'
- )
- ;
-
- delete from public.pull_request_es;
- INSERT INTO public.pull_request_es(
- id,
- type,
- status,
- conflicted_files,
- commits_ahead,
- commits_behind,
- issue_id,
- index,
- head_repo_id,
- base_repo_id,
- head_branch,
- base_branch,
- merge_base,
- has_merged,
- merged_commit_id,
- merger_id,
- merged_unix,
- is_transformed,
- amount)
- SELECT
- b.id,
- b.type,
- b.status,
- b.conflicted_files,
- b.commits_ahead,
- b.commits_behind,
- b.issue_id,
- b.index,
- b.head_repo_id,
- b.base_repo_id,
- b.head_branch,
- b.base_branch,
- b.merge_base,
- b.has_merged,
- b.merged_commit_id,
- b.merger_id,
- b.merged_unix,
- b.is_transformed,
- b.amount
- FROM public.pull_request b,public.repository c where b.base_repo_id=c.id and c.is_private=false;
-
-
- CREATE OR REPLACE FUNCTION public.insert_pull_request_data() RETURNS trigger AS
- $def$
- DECLARE
- privateValue boolean=false;
- BEGIN
- select into privateValue is_private from public.repository where id=NEW.base_repo_id;
- if not privateValue then
- INSERT INTO public.pull_request_es(
- id,
- type,
- status,
- conflicted_files,
- commits_ahead,
- commits_behind,
- issue_id,
- index,
- head_repo_id,
- base_repo_id,
- head_branch,
- base_branch,
- merge_base,
- has_merged,
- merged_commit_id,
- merger_id,
- merged_unix,
- is_transformed,
- amount)
- VALUES (
- NEW.id,
- NEW.type,
- NEW.status,
- NEW.conflicted_files,
- NEW.commits_ahead,
- NEW.commits_behind,
- NEW.issue_id,
- NEW.index,
- NEW.head_repo_id,
- NEW.base_repo_id,
- NEW.head_branch,
- NEW.base_branch,
- NEW.merge_base,
- NEW.has_merged,
- NEW.merged_commit_id,
- NEW.merger_id,
- NEW.merged_unix,
- NEW.is_transformed,
- NEW.amount
- );
-
- UPDATE public.issue_es SET pr_id=NEW.id where id=NEW.issue_id;
- end if;
- RETURN NEW;
- END;
- $def$
- LANGUAGE plpgsql;
-
- DROP TRIGGER IF EXISTS es_insert_pull_request on public.pull_request;
-
- CREATE TRIGGER es_insert_pull_request
- AFTER INSERT ON public.pull_request
- FOR EACH ROW EXECUTE PROCEDURE insert_pull_request_data();
-
- ALTER TABLE public.pull_request ENABLE ALWAYS TRIGGER es_insert_pull_request;
-
- CREATE OR REPLACE FUNCTION public.update_pull_request() RETURNS trigger AS
- $def$
- declare
- BEGIN
- UPDATE public.pull_request_es
- SET has_merged=NEW.has_merged
- where id=NEW.id;
- return new;
- END
- $def$
- LANGUAGE plpgsql;
-
- DROP TRIGGER IF EXISTS es_update_pull_request on public.pull_request;
-
- CREATE TRIGGER es_update_pull_request
- AFTER UPDATE ON public.pull_request
- FOR EACH ROW EXECUTE PROCEDURE update_pull_request();
-
- ALTER TABLE public.pull_request ENABLE ALWAYS TRIGGER es_update_pull_request;
-
- CREATE OR REPLACE FUNCTION public.delete_pull_request() RETURNS trigger AS
- $def$
- declare
- BEGIN
- DELETE FROM public.pull_request_es where id=OLD.id;
- return new;
- END
- $def$
- LANGUAGE plpgsql;
-
- DROP TRIGGER IF EXISTS es_delete_pull_request on public.pull_request;
- CREATE TRIGGER es_delete_pull_request
- AFTER DELETE ON public.pull_request
- FOR EACH ROW EXECUTE PROCEDURE delete_pull_request();
-
- ALTER TABLE public.pull_request ENABLE ALWAYS TRIGGER es_delete_pull_request;
|