| @@ -0,0 +1,152 @@ | |||||
| DROP FOREIGN TABLE public.dataset_es; | |||||
| CREATE FOREIGN TABLE public.dataset_es | |||||
| ( | |||||
| id bigint NOT NULL, | |||||
| title character varying(255), | |||||
| status integer, | |||||
| category character varying(255), | |||||
| description text, | |||||
| download_times bigint, | |||||
| license character varying(255), | |||||
| task character varying(255), | |||||
| release_id bigint, | |||||
| user_id bigint, | |||||
| repo_id bigint, | |||||
| created_unix bigint, | |||||
| updated_unix bigint, | |||||
| file_name text | |||||
| )SERVER multicorn_es | |||||
| OPTIONS | |||||
| ( | |||||
| host '192.168.207.94', | |||||
| port '9200', | |||||
| index 'user_es-index', | |||||
| rowid_column 'id', | |||||
| default_sort '_id' | |||||
| ) | |||||
| ; | |||||
| DELETE FROM public.dataset_es; | |||||
| INSERT INTO public.dataset_es( | |||||
| id, | |||||
| title, | |||||
| status, | |||||
| category, | |||||
| description, | |||||
| download_times, | |||||
| license, task, | |||||
| release_id, | |||||
| user_id, | |||||
| repo_id, | |||||
| created_unix, | |||||
| updated_unix,file_name) | |||||
| SELECT | |||||
| id, | |||||
| title, | |||||
| status, | |||||
| category, | |||||
| description, | |||||
| download_times, | |||||
| license, | |||||
| task, | |||||
| release_id, | |||||
| user_id, | |||||
| repo_id, | |||||
| created_unix, | |||||
| updated_unix,(select array_to_string(array_agg(name order by created_unix desc),',') from public.attachment a where a.dataset_id=b.id) | |||||
| FROM public.dataset b; | |||||
| CREATE OR REPLACE FUNCTION public.insert_dataset_data() RETURNS trigger AS | |||||
| $def$ | |||||
| BEGIN | |||||
| INSERT INTO public.dataset_es( | |||||
| id, | |||||
| title, | |||||
| status, | |||||
| category, | |||||
| description, | |||||
| download_times, | |||||
| license, task, | |||||
| release_id, | |||||
| user_id, | |||||
| repo_id, | |||||
| created_unix, | |||||
| updated_unix) | |||||
| VALUES ( | |||||
| NEW.id, | |||||
| NEW.title, | |||||
| NEW.status, | |||||
| NEW.category, | |||||
| NEW.description, | |||||
| NEW.download_times, | |||||
| NEW.license, | |||||
| NEW.task, | |||||
| NEW.release_id, | |||||
| NEW.user_id, | |||||
| NEW.repo_id, | |||||
| NEW.created_unix, | |||||
| NEW.updated_unix | |||||
| ); | |||||
| RETURN NEW; | |||||
| END; | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_insert_dataset on public.dataset; | |||||
| CREATE TRIGGER es_insert_dataset | |||||
| AFTER INSERT ON public.dataset | |||||
| FOR EACH ROW EXECUTE PROCEDURE insert_dataset_data(); | |||||
| CREATE OR REPLACE FUNCTION public.udpate_dataset_file_name_delete() RETURNS trigger AS | |||||
| $def$ | |||||
| BEGIN | |||||
| update public.dataset_es SET file_name=(select array_to_string(array_agg(name order by created_unix desc),',') from public.attachment where dataset_id=OLD.dataset_id) where id=OLD.dataset_id; | |||||
| return NEW; | |||||
| END; | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_udpate_dataset_file_name_delete on public.attachment; | |||||
| CREATE TRIGGER es_udpate_dataset_file_name_delete | |||||
| AFTER DELETE ON public.attachment | |||||
| FOR EACH ROW EXECUTE PROCEDURE udpate_dataset_file_name_delete(); | |||||
| CREATE OR REPLACE FUNCTION public.update_dataset() RETURNS trigger AS | |||||
| $def$ | |||||
| BEGIN | |||||
| UPDATE public.dataset_es | |||||
| SET description=NEW.description, | |||||
| title=NEW.title, | |||||
| category=NEW.category, | |||||
| file_name=(select array_to_string(array_agg(name order by created_unix desc),',') from public.attachment where dataset_id=NEW.id) | |||||
| where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_dataset on public.dataset; | |||||
| CREATE TRIGGER es_update_dataset | |||||
| AFTER UPDATE ON public.dataset | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_dataset(); | |||||
| CREATE OR REPLACE FUNCTION public.delete_dataset() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| DELETE FROM public.dataset_es where id=OLD.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_delete_dataset on public.dataset; | |||||
| CREATE TRIGGER es_delete_dataset | |||||
| AFTER DELETE ON public.dataset | |||||
| FOR EACH ROW EXECUTE PROCEDURE delete_dataset(); | |||||
| @@ -1,155 +0,0 @@ | |||||
| CREATE FOREIGN TABLE public."dataset_es" | |||||
| ( | |||||
| id bigint NOT NULL, | |||||
| title character varying(255), | |||||
| status integer, | |||||
| category character varying(255), | |||||
| description text, | |||||
| download_times bigint, | |||||
| license character varying(255), | |||||
| task character varying(255), | |||||
| release_id bigint, | |||||
| user_id bigint, | |||||
| repo_id bigint, | |||||
| created_unix bigint, | |||||
| updated_unix bigint, | |||||
| file_name text | |||||
| )SERVER multicorn_es | |||||
| OPTIONS | |||||
| ( | |||||
| host '192.168.207.94', | |||||
| port '9200', | |||||
| index 'user_es-index', | |||||
| rowid_column 'id' | |||||
| ) | |||||
| ; | |||||
| CREATE OR REPLACE FUNCTION public.insert_dataset_data() RETURNS trigger AS | |||||
| $def$ | |||||
| BEGIN | |||||
| INSERT INTO public.dataset_es( | |||||
| id, | |||||
| title, | |||||
| status, | |||||
| category, | |||||
| description, | |||||
| download_times, | |||||
| license, task, | |||||
| release_id, | |||||
| user_id, | |||||
| repo_id, | |||||
| created_unix, | |||||
| updated_unix) | |||||
| VALUES ( | |||||
| NEW.id, | |||||
| NEW.title, | |||||
| NEW.status, | |||||
| NEW.category, | |||||
| NEW.description, | |||||
| NEW.download_times, | |||||
| NEW.license, | |||||
| NEW.task, | |||||
| NEW.release_id, | |||||
| NEW.user_id, | |||||
| NEW.repo_id, | |||||
| NEW.created_unix, | |||||
| NEW.updated_unix | |||||
| ); | |||||
| RETURN NEW; | |||||
| END; | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_insert_dataset on public.dataset; | |||||
| CREATE TRIGGER es_insert_dataset | |||||
| AFTER INSERT ON public.dataset | |||||
| FOR EACH ROW EXECUTE PROCEDURE insert_dataset_data(); | |||||
| CREATE OR REPLACE FUNCTION public.udpate_dataset_file_name() RETURNS trigger AS | |||||
| $def$ | |||||
| BEGIN | |||||
| if (TG_OP = 'DELETE') then | |||||
| update public.dataset_es SET file_name=(select array_to_string(array_agg(name order by created_unix desc),',') from public.attachment where dataset_id=OLD.dataset_id order by created_unix desc) where id=OLD.dataset_id; | |||||
| elsif (TG_OP = 'INSERT') then | |||||
| update public.dataset_es SET file_name=(select array_to_string(array_agg(name order by created_unix desc),',') from public.attachment where dataset_id=NEW.dataset_id order by created_unix desc) where id=NEW.dataset_id; | |||||
| end if; | |||||
| return null; | |||||
| END; | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_udpate_dataset_file_name on public.attachment; | |||||
| CREATE TRIGGER es_udpate_dataset_file_name | |||||
| AFTER INSERT OR DELETE ON public.attachment | |||||
| FOR EACH ROW EXECUTE PROCEDURE udpate_dataset_file_name(); | |||||
| CREATE OR REPLACE FUNCTION public.update_dataset_description() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.dataset_es SET description=NEW.description where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_dataset_description on public.dataset; | |||||
| CREATE TRIGGER es_update_dataset_description | |||||
| AFTER UPDATE OF "description" ON public.dataset | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_dataset_description(); | |||||
| CREATE OR REPLACE FUNCTION public.update_dataset_title() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.dataset_es SET title=NEW.title where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_dataset_title on public.dataset; | |||||
| CREATE TRIGGER es_update_dataset_title | |||||
| AFTER UPDATE OF "title" ON public.dataset | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_dataset_title(); | |||||
| CREATE OR REPLACE FUNCTION public.update_dataset_category() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.dataset_es SET category=NEW.category where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_dataset_category on public.dataset; | |||||
| CREATE TRIGGER es_update_dataset_category | |||||
| AFTER UPDATE OF "category" ON public.dataset | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_dataset_category(); | |||||
| CREATE OR REPLACE FUNCTION public.delete_dataset() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| DELETE FROM public.dataset_es where id=OLD.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_delete_dataset on public.dataset; | |||||
| CREATE TRIGGER es_delete_dataset | |||||
| AFTER DELETE ON public.dataset | |||||
| FOR EACH ROW EXECUTE PROCEDURE delete_dataset(); | |||||
| @@ -1,3 +1,4 @@ | |||||
| DROP FOREIGN TABLE public.issue_es; | |||||
| CREATE FOREIGN TABLE public.issue_es | CREATE FOREIGN TABLE public.issue_es | ||||
| ( | ( | ||||
| id bigint NOT NULL, | id bigint NOT NULL, | ||||
| @@ -29,10 +30,60 @@ OPTIONS | |||||
| host '192.168.207.94', | host '192.168.207.94', | ||||
| port '9200', | port '9200', | ||||
| index 'user_es-index', | index 'user_es-index', | ||||
| rowid_column 'id' | |||||
| rowid_column 'id', | |||||
| default_sort '_id' | |||||
| ) | ) | ||||
| ; | ; | ||||
| DELETE FROM public.issue_es; | |||||
| INSERT INTO public.issue_es( | |||||
| id, | |||||
| repo_id, | |||||
| index, | |||||
| poster_id, | |||||
| original_author, | |||||
| original_author_id, | |||||
| name, | |||||
| content, | |||||
| milestone_id, | |||||
| priority, | |||||
| is_closed, | |||||
| is_pull, | |||||
| num_comments, | |||||
| ref, | |||||
| deadline_unix, | |||||
| created_unix, | |||||
| updated_unix, | |||||
| closed_unix, | |||||
| is_locked, | |||||
| amount, | |||||
| is_transformed,comment) | |||||
| SELECT | |||||
| id, | |||||
| repo_id, | |||||
| index, | |||||
| poster_id, | |||||
| original_author, | |||||
| original_author_id, | |||||
| name, | |||||
| content, | |||||
| milestone_id, | |||||
| priority, | |||||
| is_closed, | |||||
| is_pull, | |||||
| num_comments, | |||||
| ref, | |||||
| deadline_unix, | |||||
| created_unix, | |||||
| updated_unix, | |||||
| closed_unix, | |||||
| is_locked, | |||||
| amount, | |||||
| is_transformed, | |||||
| (select array_to_string(array_agg(content order by created_unix desc),',') from public.comment a where a.issue_id=b.id) | |||||
| FROM public.issue b; | |||||
| CREATE OR REPLACE FUNCTION public.insert_issue_data() RETURNS trigger AS | CREATE OR REPLACE FUNCTION public.insert_issue_data() RETURNS trigger AS | ||||
| $def$ | $def$ | ||||
| BEGIN | BEGIN | ||||
| @@ -79,7 +130,7 @@ $def$ | |||||
| NEW.closed_unix, | NEW.closed_unix, | ||||
| NEW.is_locked, | NEW.is_locked, | ||||
| NEW.amount, | NEW.amount, | ||||
| NEW.is_transformed | |||||
| NEW.is_transformed | |||||
| ); | ); | ||||
| RETURN NEW; | RETURN NEW; | ||||
| @@ -100,9 +151,7 @@ $def$ | |||||
| BEGIN | BEGIN | ||||
| if (TG_OP = 'DELETE') then | if (TG_OP = 'DELETE') then | ||||
| update public.issue_es SET comment=(select array_to_string(array_agg(content order by created_unix desc),',') from public.comment where issue_id=OLD.issue_id) where id=OLD.issue_id; | update public.issue_es SET comment=(select array_to_string(array_agg(content order by created_unix desc),',') from public.comment where issue_id=OLD.issue_id) where id=OLD.issue_id; | ||||
| elsif (TG_OP = 'INSERT') then | |||||
| update public.issue_es SET comment=(select array_to_string(array_agg(content order by created_unix desc),',') from public.comment where issue_id=NEW.issue_id) where id=NEW.issue_id; | |||||
| elsif (TG_OP = 'UPDATE') then | |||||
| elsif (TG_OP = 'UPDATE') then | |||||
| update public.issue_es SET comment=(select array_to_string(array_agg(content order by created_unix desc),',') from public.comment where issue_id=NEW.issue_id) where id=NEW.issue_id; | update public.issue_es SET comment=(select array_to_string(array_agg(content order by created_unix desc),',') from public.comment where issue_id=NEW.issue_id) where id=NEW.issue_id; | ||||
| end if; | end if; | ||||
| @@ -113,75 +162,32 @@ LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_udpate_issue_comment on public.comment; | DROP TRIGGER IF EXISTS es_udpate_issue_comment on public.comment; | ||||
| CREATE TRIGGER es_udpate_issue_comment | CREATE TRIGGER es_udpate_issue_comment | ||||
| AFTER INSERT OR DELETE OR UPDATE ON public.comment | |||||
| AFTER DELETE OR UPDATE ON public.comment | |||||
| FOR EACH ROW EXECUTE PROCEDURE udpate_issue_comment(); | FOR EACH ROW EXECUTE PROCEDURE udpate_issue_comment(); | ||||
| CREATE OR REPLACE FUNCTION public.update_issue_content() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.issue_es SET content=NEW.content where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_issue_content on public.issue; | |||||
| CREATE TRIGGER es_update_issue_content | |||||
| AFTER UPDATE OF "content" ON public.issue | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_issue_content(); | |||||
| CREATE OR REPLACE FUNCTION public.update_issue_name() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.issue_es SET name=NEW.name where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_issue_name on public.issue; | |||||
| CREATE TRIGGER es_update_issue_name | |||||
| AFTER UPDATE OF "name" ON public.issue | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_issue_name(); | |||||
| CREATE OR REPLACE FUNCTION public.update_issue_is_closed() RETURNS trigger AS | |||||
| CREATE OR REPLACE FUNCTION public.update_issue() RETURNS trigger AS | |||||
| $def$ | $def$ | ||||
| declare | declare | ||||
| BEGIN | BEGIN | ||||
| UPDATE public.issue_es SET is_closed=NEW.is_closed where id=NEW.id; | |||||
| UPDATE public.issue_es | |||||
| SET content=NEW.content, | |||||
| name=NEW.name, | |||||
| is_closed=NEW.is_closed, | |||||
| num_comments=NEW.num_comments, | |||||
| comment=(select array_to_string(array_agg(content order by created_unix desc),',') from public.comment where issue_id=NEW.id) | |||||
| where id=NEW.id; | |||||
| return new; | return new; | ||||
| END | END | ||||
| $def$ | $def$ | ||||
| LANGUAGE plpgsql; | LANGUAGE plpgsql; | ||||
| DROP TRIGGER IF EXISTS es_update_issue_is_closed on public.issue; | |||||
| CREATE TRIGGER es_update_issue_is_closed | |||||
| AFTER UPDATE OF "is_closed" ON public.issue | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_issue_is_closed(); | |||||
| CREATE OR REPLACE FUNCTION public.update_issue_num_comments() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.issue_es SET num_comments=NEW.num_comments where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_issue on public.issue; | |||||
| DROP TRIGGER IF EXISTS es_update_issue_num_comments on public.issue; | |||||
| CREATE TRIGGER es_update_issue | |||||
| AFTER UPDATE ON public.issue | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_issue(); | |||||
| CREATE TRIGGER es_update_issue_num_comments | |||||
| AFTER UPDATE OF "num_comments" ON public.issue | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_issue_num_comments(); | |||||
| CREATE OR REPLACE FUNCTION public.delete_issue() RETURNS trigger AS | CREATE OR REPLACE FUNCTION public.delete_issue() RETURNS trigger AS | ||||
| @@ -1,3 +1,4 @@ | |||||
| DROP FOREIGN TABLE public.pull_request_es; | |||||
| CREATE FOREIGN TABLE public.pull_request_es | CREATE FOREIGN TABLE public.pull_request_es | ||||
| ( | ( | ||||
| id bigint NOT NULL, | id bigint NOT NULL, | ||||
| @@ -25,10 +26,56 @@ OPTIONS | |||||
| host '192.168.207.94', | host '192.168.207.94', | ||||
| port '9200', | port '9200', | ||||
| index 'user_es-index', | index 'user_es-index', | ||||
| rowid_column 'id' | |||||
| 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 | |||||
| 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 | |||||
| FROM public.pull_request; | |||||
| CREATE OR REPLACE FUNCTION public.insert_pull_request_data() RETURNS trigger AS | CREATE OR REPLACE FUNCTION public.insert_pull_request_data() RETURNS trigger AS | ||||
| $def$ | $def$ | ||||
| BEGIN | BEGIN | ||||
| @@ -74,9 +121,6 @@ $def$ | |||||
| NEW.amount | NEW.amount | ||||
| ); | ); | ||||
| --update issue | |||||
| UPDATE public.issue_es SET pr_id=NEW.id where id=NEW.issue_id; | |||||
| RETURN NEW; | RETURN NEW; | ||||
| END; | END; | ||||
| $def$ | $def$ | ||||
| @@ -90,21 +134,23 @@ CREATE TRIGGER es_insert_pull_request | |||||
| CREATE OR REPLACE FUNCTION public.update_pull_request_has_merged() RETURNS trigger AS | |||||
| CREATE OR REPLACE FUNCTION public.update_pull_request() RETURNS trigger AS | |||||
| $def$ | $def$ | ||||
| declare | declare | ||||
| BEGIN | BEGIN | ||||
| UPDATE public.pull_request_es SET has_merged=NEW.has_merged where id=NEW.id; | |||||
| UPDATE public.pull_request_es | |||||
| SET has_merged=NEW.has_merged | |||||
| where id=NEW.id; | |||||
| return new; | return new; | ||||
| END | END | ||||
| $def$ | $def$ | ||||
| LANGUAGE plpgsql; | LANGUAGE plpgsql; | ||||
| DROP TRIGGER IF EXISTS es_update_pull_request_has_merged on public.pull_request; | |||||
| DROP TRIGGER IF EXISTS es_update_pull_request on public.pull_request; | |||||
| CREATE TRIGGER es_update_pull_request_has_merged | |||||
| AFTER UPDATE OF "has_merged" ON public.pull_request | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_pull_request_has_merged(); | |||||
| CREATE TRIGGER es_update_pull_request | |||||
| AFTER UPDATE ON public.pull_request | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_pull_request(); | |||||
| CREATE OR REPLACE FUNCTION public.delete_pull_request() RETURNS trigger AS | CREATE OR REPLACE FUNCTION public.delete_pull_request() RETURNS trigger AS | ||||
| @@ -1,4 +1,4 @@ | |||||
| DROP FOREIGN TABLE public.repository_es; | |||||
| drop FOREIGN table if exists public.repository_es; | |||||
| CREATE FOREIGN TABLE public.repository_es ( | CREATE FOREIGN TABLE public.repository_es ( | ||||
| id bigint NOT NULL, | id bigint NOT NULL, | ||||
| owner_id bigint, | owner_id bigint, | ||||
| @@ -50,9 +50,96 @@ OPTIONS | |||||
| host '192.168.207.94', | host '192.168.207.94', | ||||
| port '9200', | port '9200', | ||||
| index 'repository-es-index', | index 'repository-es-index', | ||||
| rowid_column 'id' | |||||
| rowid_column 'id', | |||||
| default_sort '_id' | |||||
| ) | ) | ||||
| ; | ; | ||||
| delete from public.repository_es; | |||||
| INSERT INTO public.repository_es (id, | |||||
| owner_id, | |||||
| owner_name, | |||||
| lower_name, | |||||
| name, | |||||
| description, | |||||
| website, | |||||
| original_service_type, | |||||
| original_url, | |||||
| default_branch, | |||||
| num_watches, | |||||
| num_stars, | |||||
| num_forks, | |||||
| num_issues, | |||||
| num_closed_issues, | |||||
| num_pulls, | |||||
| num_closed_pulls, | |||||
| num_milestones, | |||||
| num_closed_milestones, | |||||
| is_private, | |||||
| is_empty, | |||||
| is_archived, | |||||
| is_mirror, | |||||
| status, | |||||
| is_fork, | |||||
| fork_id, | |||||
| is_template, | |||||
| template_id, | |||||
| size, | |||||
| is_fsck_enabled, | |||||
| close_issues_via_commit_in_any_branch, | |||||
| topics, | |||||
| avatar, | |||||
| created_unix, | |||||
| updated_unix, | |||||
| contract_address, | |||||
| block_chain_status, | |||||
| balance, | |||||
| clone_cnt, | |||||
| num_commit, | |||||
| git_clone_cnt) | |||||
| SELECT | |||||
| id, | |||||
| owner_id, | |||||
| owner_name, | |||||
| lower_name, | |||||
| name, | |||||
| description, | |||||
| website, | |||||
| original_service_type, | |||||
| original_url, | |||||
| default_branch, | |||||
| num_watches, | |||||
| num_stars, | |||||
| num_forks, | |||||
| num_issues, | |||||
| num_closed_issues, | |||||
| num_pulls, | |||||
| num_closed_pulls, | |||||
| num_milestones, | |||||
| num_closed_milestones, | |||||
| is_private, | |||||
| is_empty, | |||||
| is_archived, | |||||
| is_mirror, | |||||
| status, | |||||
| is_fork, | |||||
| fork_id, | |||||
| is_template, | |||||
| template_id, | |||||
| size, | |||||
| is_fsck_enabled, | |||||
| close_issues_via_commit_in_any_branch, | |||||
| topics, | |||||
| avatar, | |||||
| created_unix, | |||||
| updated_unix, | |||||
| contract_address, | |||||
| block_chain_status, | |||||
| balance, | |||||
| clone_cnt, | |||||
| num_commit, | |||||
| git_clone_cnt | |||||
| FROM public.repository; | |||||
| CREATE OR REPLACE FUNCTION public.insert_repository_data() RETURNS trigger AS | CREATE OR REPLACE FUNCTION public.insert_repository_data() RETURNS trigger AS | ||||
| $def$ | $def$ | ||||
| @@ -152,162 +239,30 @@ CREATE TRIGGER es_insert_repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE insert_repository_data(); | FOR EACH ROW EXECUTE PROCEDURE insert_repository_data(); | ||||
| CREATE OR REPLACE FUNCTION public.update_repository_description() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.repository_es SET description=NEW.description where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_description on public.repository; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_name on public.repository; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_ownername on public.repository; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_website on public.repository; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_topics on public.repository; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_updated_unix on public.repository; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_num_watches on public.repository; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_num_stars on public.repository; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_num_forks on public.repository; | |||||
| DROP TRIGGER IF EXISTS es_delete_repository on public.repository; | |||||
| CREATE TRIGGER es_update_repository_description | |||||
| AFTER UPDATE OF "description" ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository_description(); | |||||
| CREATE OR REPLACE FUNCTION public.update_repository_name() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.repository_es SET name=NEW.name,lower_name=NEW.lower_name where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_name on public.repository; | |||||
| CREATE TRIGGER es_update_repository_name | |||||
| AFTER UPDATE OF "name","lower_name" ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository_name(); | |||||
| CREATE OR REPLACE FUNCTION public.update_repository_ownername() RETURNS trigger AS | |||||
| CREATE OR REPLACE FUNCTION public.update_repository() RETURNS trigger AS | |||||
| $def$ | $def$ | ||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.repository_es SET owner_name=NEW.owner_name where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_ownername on public.repository; | |||||
| CREATE TRIGGER es_update_repository_ownername | |||||
| AFTER UPDATE OF "owner_name" ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository_ownername(); | |||||
| CREATE OR REPLACE FUNCTION public.update_repository_website() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.repository_es SET website=NEW.website where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_website on public.repository; | |||||
| CREATE TRIGGER es_update_repository_website | |||||
| AFTER UPDATE OF "website" ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository_website(); | |||||
| CREATE OR REPLACE FUNCTION public.update_repository_topics() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.repository_es SET topics=NEW.topics where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_topics on public.repository; | |||||
| CREATE TRIGGER es_update_repository_topics | |||||
| AFTER UPDATE OF "topics" ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository_topics(); | |||||
| CREATE OR REPLACE FUNCTION public.update_repository_updated_unix() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.repository_es SET updated_unix=NEW.updated_unix where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_updated_unix on public.repository; | |||||
| CREATE TRIGGER es_update_repository_updated_unix | |||||
| AFTER UPDATE OF "updated_unix" ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository_updated_unix(); | |||||
| CREATE OR REPLACE FUNCTION public.update_repository_num_watches() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.repository_es SET num_watches=NEW.num_watches where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_num_watches on public.repository; | |||||
| CREATE TRIGGER es_update_repository_num_watches | |||||
| AFTER UPDATE OF "num_watches" ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository_num_watches(); | |||||
| CREATE OR REPLACE FUNCTION public.update_repository_num_stars() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.repository_es SET num_stars=NEW.num_stars where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_repository_num_stars on public.repository; | |||||
| CREATE TRIGGER es_update_repository_num_stars | |||||
| AFTER UPDATE OF "num_stars" ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository_num_stars(); | |||||
| CREATE OR REPLACE FUNCTION public.update_repository_num_forks() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | BEGIN | ||||
| UPDATE public.repository_es SET num_forks=NEW.num_forks where id=NEW.id; | |||||
| update public.repository_es SET description=NEW.description, | |||||
| name=NEW.name, | |||||
| lower_name=NEW.lower_name, | |||||
| owner_name=NEW.owner_name, | |||||
| website=NEW.website, | |||||
| updated_unix=NEW.updated_unix, | |||||
| num_watches=NEW.num_watches, | |||||
| num_stars=NEW.num_stars, | |||||
| num_forks=NEW.num_forks, | |||||
| topics=NEW.topics | |||||
| where id=NEW.id; | |||||
| return new; | return new; | ||||
| END | END | ||||
| $def$ | $def$ | ||||
| LANGUAGE plpgsql; | LANGUAGE plpgsql; | ||||
| DROP TRIGGER IF EXISTS es_update_repository on public.repository; | |||||
| CREATE TRIGGER es_update_repository | |||||
| AFTER UPDATE ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository(); | |||||
| DROP TRIGGER IF EXISTS es_update_repository_num_forks on public.repository; | |||||
| CREATE TRIGGER es_update_repository_num_forks | |||||
| AFTER UPDATE OF "num_forks" ON public.repository | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_repository_num_forks(); | |||||
| CREATE OR REPLACE FUNCTION public.delete_repository() RETURNS trigger AS | CREATE OR REPLACE FUNCTION public.delete_repository() RETURNS trigger AS | ||||
| $def$ | $def$ | ||||
| @@ -1,4 +1,5 @@ | |||||
| CREATE FOREIGN TABLE public."user_es" | |||||
| DROP FOREIGN table if exists public.user_es; | |||||
| CREATE FOREIGN TABLE public.user_es | |||||
| ( | ( | ||||
| id bigint NOT NULL , | id bigint NOT NULL , | ||||
| lower_name character varying(255) NULL, | lower_name character varying(255) NULL, | ||||
| @@ -55,9 +56,98 @@ OPTIONS | |||||
| host '192.168.207.94', | host '192.168.207.94', | ||||
| port '9200', | port '9200', | ||||
| index 'user_es-index', | index 'user_es-index', | ||||
| rowid_column 'id' | |||||
| rowid_column 'id', | |||||
| default_sort '_id' | |||||
| ) | ) | ||||
| ; | ; | ||||
| delete from public.user_es; | |||||
| INSERT INTO public.user_es( | |||||
| id, | |||||
| lower_name, | |||||
| name, | |||||
| full_name, | |||||
| email, | |||||
| keep_email_private, | |||||
| email_notifications_preference, | |||||
| must_change_password, | |||||
| login_type, | |||||
| login_source, | |||||
| login_name, | |||||
| type, | |||||
| location, | |||||
| website, | |||||
| rands, | |||||
| language, | |||||
| description, | |||||
| created_unix, | |||||
| updated_unix, | |||||
| last_login_unix, | |||||
| last_repo_visibility, | |||||
| max_repo_creation, | |||||
| is_active, | |||||
| is_restricted, | |||||
| allow_git_hook, | |||||
| allow_import_local, | |||||
| allow_create_organization, | |||||
| prohibit_login, | |||||
| avatar, | |||||
| avatar_email, | |||||
| use_custom_avatar, | |||||
| num_followers, | |||||
| num_following, | |||||
| num_stars, | |||||
| num_repos, | |||||
| num_teams, | |||||
| num_members, | |||||
| visibility, | |||||
| repo_admin_change_team_access, | |||||
| diff_view_style, | |||||
| theme, | |||||
| is_operator) | |||||
| SELECT | |||||
| id, | |||||
| lower_name, | |||||
| name, | |||||
| full_name, | |||||
| email, | |||||
| keep_email_private, | |||||
| email_notifications_preference, | |||||
| must_change_password, | |||||
| login_type, | |||||
| login_source, | |||||
| login_name, | |||||
| type, | |||||
| location, | |||||
| website, | |||||
| rands, | |||||
| language, | |||||
| description, | |||||
| created_unix, | |||||
| updated_unix, | |||||
| last_login_unix, | |||||
| last_repo_visibility, | |||||
| max_repo_creation, | |||||
| is_active, | |||||
| is_restricted, | |||||
| allow_git_hook, | |||||
| allow_import_local, | |||||
| allow_create_organization, | |||||
| prohibit_login, | |||||
| avatar, | |||||
| avatar_email, | |||||
| use_custom_avatar, | |||||
| num_followers, | |||||
| num_following, | |||||
| num_stars, | |||||
| num_repos, | |||||
| num_teams, | |||||
| num_members, | |||||
| visibility, | |||||
| repo_admin_change_team_access, | |||||
| diff_view_style, | |||||
| theme, | |||||
| is_operator | |||||
| FROM public.user; | |||||
| CREATE OR REPLACE FUNCTION public.insert_user_data() RETURNS trigger AS | CREATE OR REPLACE FUNCTION public.insert_user_data() RETURNS trigger AS | ||||
| $def$ | $def$ | ||||
| @@ -162,107 +252,27 @@ CREATE TRIGGER es_insert_user | |||||
| FOR EACH ROW EXECUTE PROCEDURE insert_user_data(); | FOR EACH ROW EXECUTE PROCEDURE insert_user_data(); | ||||
| CREATE OR REPLACE FUNCTION public.update_user_description() RETURNS trigger AS | |||||
| CREATE OR REPLACE FUNCTION public.update_user() RETURNS trigger AS | |||||
| $def$ | $def$ | ||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.user_es SET description=NEW.description where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_user_description on public.user; | |||||
| CREATE TRIGGER es_update_user_description | |||||
| AFTER UPDATE OF "description" ON public.user | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_user_description(); | |||||
| CREATE OR REPLACE FUNCTION public.update_user_name() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.user_es SET name=NEW.name where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_user_name on public.user; | |||||
| CREATE TRIGGER es_update_user_name | |||||
| AFTER UPDATE OF "name" ON public.user | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_user_name(); | |||||
| CREATE OR REPLACE FUNCTION public.update_user_full_name() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.user_es SET full_name=NEW.full_name where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_user_full_name on public.user; | |||||
| CREATE TRIGGER es_update_user_full_name | |||||
| AFTER UPDATE OF "full_name" ON public.user | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_user_full_name(); | |||||
| CREATE OR REPLACE FUNCTION public.update_user_location() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.user_es SET location=NEW.location where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_user_location on public.user; | |||||
| CREATE TRIGGER es_update_user_location | |||||
| AFTER UPDATE OF "location" ON public.user | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_user_location(); | |||||
| CREATE OR REPLACE FUNCTION public.update_user_website() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | |||||
| UPDATE public.user_es SET website=NEW.website where id=NEW.id; | |||||
| return new; | |||||
| END | |||||
| $def$ | |||||
| LANGUAGE plpgsql; | |||||
| DROP TRIGGER IF EXISTS es_update_user_website on public.user; | |||||
| CREATE TRIGGER es_update_user_website | |||||
| AFTER UPDATE OF "website" ON public.user | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_user_website(); | |||||
| CREATE OR REPLACE FUNCTION public.update_user_email() RETURNS trigger AS | |||||
| $def$ | |||||
| declare | |||||
| BEGIN | BEGIN | ||||
| UPDATE public.user_es SET email=NEW.email where id=NEW.id; | |||||
| UPDATE public.user_es | |||||
| SET description=NEW.description, | |||||
| name=NEW.name, | |||||
| full_name=NEW.full_name, | |||||
| location=NEW.location, | |||||
| website=NEW.website, | |||||
| email=NEW.email | |||||
| where id=NEW.id; | |||||
| return new; | return new; | ||||
| END | END | ||||
| $def$ | $def$ | ||||
| LANGUAGE plpgsql; | LANGUAGE plpgsql; | ||||
| DROP TRIGGER IF EXISTS es_update_user_email on public.user; | |||||
| DROP TRIGGER IF EXISTS es_update_user on public.user; | |||||
| CREATE TRIGGER es_update_user_email | |||||
| AFTER UPDATE OF "email" ON public.user | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_user_email(); | |||||
| CREATE TRIGGER es_update_user | |||||
| AFTER UPDATE ON public.user | |||||
| FOR EACH ROW EXECUTE PROCEDURE update_user(); | |||||
| @@ -201,15 +201,7 @@ func QueryUserStaticDataAll(opts *UserBusinessAnalysisQueryOptions) ([]*UserBusi | |||||
| return nil, 0 | return nil, 0 | ||||
| } | } | ||||
| log.Info("query return total:" + fmt.Sprint(allCount)) | log.Info("query return total:" + fmt.Sprint(allCount)) | ||||
| if allCount == 0 { | |||||
| CommitCodeSizeMap, err := GetAllUserKPIStats() | |||||
| if err != nil { | |||||
| log.Info("query commit code errr.") | |||||
| } else { | |||||
| log.Info("query commit code size, len=" + fmt.Sprint(len(CommitCodeSizeMap))) | |||||
| } | |||||
| RefreshUserStaticAllTabel(make(map[string]int), CommitCodeSizeMap) | |||||
| } | |||||
| pageSize := 1000 | pageSize := 1000 | ||||
| totalPage := int(allCount) / pageSize | totalPage := int(allCount) / pageSize | ||||
| userBusinessAnalysisReturnList := UserBusinessAnalysisAllList{} | userBusinessAnalysisReturnList := UserBusinessAnalysisAllList{} | ||||
| @@ -369,7 +361,7 @@ func RefreshUserStaticAllTabel(wikiCountMap map[string]int, CommitCodeSizeMap ma | |||||
| CodeMergeCountMap := queryPullRequest(start_unix, end_unix) | CodeMergeCountMap := queryPullRequest(start_unix, end_unix) | ||||
| CommitCountMap := queryCommitAction(start_unix, end_unix, 5) | CommitCountMap := queryCommitAction(start_unix, end_unix, 5) | ||||
| IssueCountMap := queryAction(start_unix, end_unix, 6) | |||||
| IssueCountMap := queryCreateIssue(start_unix, end_unix) | |||||
| CommentCountMap := queryComment(start_unix, end_unix) | CommentCountMap := queryComment(start_unix, end_unix) | ||||
| FocusRepoCountMap := queryWatch(start_unix, end_unix) | FocusRepoCountMap := queryWatch(start_unix, end_unix) | ||||
| @@ -394,7 +386,7 @@ func RefreshUserStaticAllTabel(wikiCountMap map[string]int, CommitCodeSizeMap ma | |||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| sess.Select("`user`.*").Table("user").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("`user`.*").Table("user").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| userList := make([]*User, 0) | userList := make([]*User, 0) | ||||
| sess.Find(&userList) | sess.Find(&userList) | ||||
| for i, userRecord := range userList { | for i, userRecord := range userList { | ||||
| @@ -527,7 +519,7 @@ func CounDataByDateAndReCount(wikiCountMap map[string]int, startTime time.Time, | |||||
| DataDate := startTime.Format("2006-01-02") | DataDate := startTime.Format("2006-01-02") | ||||
| CodeMergeCountMap := queryPullRequest(start_unix, end_unix) | CodeMergeCountMap := queryPullRequest(start_unix, end_unix) | ||||
| CommitCountMap := queryCommitAction(start_unix, end_unix, 5) | CommitCountMap := queryCommitAction(start_unix, end_unix, 5) | ||||
| IssueCountMap := queryAction(start_unix, end_unix, 6) | |||||
| IssueCountMap := queryCreateIssue(start_unix, end_unix) | |||||
| CommentCountMap := queryComment(start_unix, end_unix) | CommentCountMap := queryComment(start_unix, end_unix) | ||||
| FocusRepoCountMap := queryWatch(start_unix, end_unix) | FocusRepoCountMap := queryWatch(start_unix, end_unix) | ||||
| @@ -558,7 +550,7 @@ func CounDataByDateAndReCount(wikiCountMap map[string]int, startTime time.Time, | |||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| sess.Select("`user`.*").Table("user").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("`user`.*").Table("user").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| userList := make([]*User, 0) | userList := make([]*User, 0) | ||||
| sess.Find(&userList) | sess.Find(&userList) | ||||
| @@ -708,7 +700,7 @@ func querySolveIssue(start_unix int64, end_unix int64) map[int64]int { | |||||
| issueAssigneesList := make([]*IssueAssignees, 0) | issueAssigneesList := make([]*IssueAssignees, 0) | ||||
| sess.Select("issue_assignees.*").Table("issue_assignees"). | sess.Select("issue_assignees.*").Table("issue_assignees"). | ||||
| Join("inner", "issue", "issue.id=issue_assignees.issue_id"). | Join("inner", "issue", "issue.id=issue_assignees.issue_id"). | ||||
| Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| Where(cond).OrderBy("issue_assignees.id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Find(&issueAssigneesList) | sess.Find(&issueAssigneesList) | ||||
| @@ -743,7 +735,7 @@ func queryPullRequest(start_unix int64, end_unix int64) map[int64]int { | |||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| issueList := make([]*Issue, 0) | issueList := make([]*Issue, 0) | ||||
| sess.Select("issue.*").Table("issue").Join("inner", "pull_request", "issue.id=pull_request.issue_id").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("issue.*").Table("issue").Join("inner", "pull_request", "issue.id=pull_request.issue_id").Where(cond).OrderBy("issue.id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Find(&issueList) | sess.Find(&issueList) | ||||
| log.Info("query issue(PR) size=" + fmt.Sprint(len(issueList))) | log.Info("query issue(PR) size=" + fmt.Sprint(len(issueList))) | ||||
| for _, issueRecord := range issueList { | for _, issueRecord := range issueList { | ||||
| @@ -776,7 +768,7 @@ func queryCommitAction(start_unix int64, end_unix int64, actionType int64) map[i | |||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| sess.Select("id,user_id,op_type,act_user_id").Table("action").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("id,user_id,op_type,act_user_id").Table("action").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| actionList := make([]*Action, 0) | actionList := make([]*Action, 0) | ||||
| sess.Find(&actionList) | sess.Find(&actionList) | ||||
| @@ -798,29 +790,30 @@ func queryCommitAction(start_unix int64, end_unix int64, actionType int64) map[i | |||||
| return resultMap | return resultMap | ||||
| } | } | ||||
| func queryAction(start_unix int64, end_unix int64, actionType int64) map[int64]int { | |||||
| func queryCreateIssue(start_unix int64, end_unix int64) map[int64]int { | |||||
| sess := x.NewSession() | sess := x.NewSession() | ||||
| defer sess.Close() | defer sess.Close() | ||||
| resultMap := make(map[int64]int) | resultMap := make(map[int64]int) | ||||
| cond := "op_type=" + fmt.Sprint(actionType) + " and created_unix>=" + fmt.Sprint(start_unix) + " and created_unix<=" + fmt.Sprint(end_unix) | |||||
| cond := "is_pull=false and created_unix>=" + fmt.Sprint(start_unix) + " and created_unix<=" + fmt.Sprint(end_unix) | |||||
| count, err := sess.Where(cond).Count(new(Action)) | |||||
| count, err := sess.Where(cond).Count(new(Issue)) | |||||
| if err != nil { | if err != nil { | ||||
| log.Info("query Action error. return.") | |||||
| log.Info("query Issue error. return.") | |||||
| return resultMap | return resultMap | ||||
| } | } | ||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| sess.Select("id,user_id,op_type,act_user_id").Table("action").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| actionList := make([]*Action, 0) | |||||
| sess.Find(&actionList) | |||||
| log.Info("query action size=" + fmt.Sprint(len(actionList))) | |||||
| for _, actionRecord := range actionList { | |||||
| if _, ok := resultMap[actionRecord.UserID]; !ok { | |||||
| resultMap[actionRecord.UserID] = 1 | |||||
| sess.Select("id,poster_id").Table("issue").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| issueList := make([]*Issue, 0) | |||||
| sess.Find(&issueList) | |||||
| log.Info("query issue size=" + fmt.Sprint(len(issueList))) | |||||
| for _, issueRecord := range issueList { | |||||
| if _, ok := resultMap[issueRecord.PosterID]; !ok { | |||||
| resultMap[issueRecord.PosterID] = 1 | |||||
| } else { | } else { | ||||
| resultMap[actionRecord.UserID] += 1 | |||||
| resultMap[issueRecord.PosterID] += 1 | |||||
| } | } | ||||
| } | } | ||||
| indexTotal += Page_SIZE | indexTotal += Page_SIZE | ||||
| @@ -829,6 +822,7 @@ func queryAction(start_unix int64, end_unix int64, actionType int64) map[int64]i | |||||
| } | } | ||||
| } | } | ||||
| return resultMap | return resultMap | ||||
| } | } | ||||
| func queryComment(start_unix int64, end_unix int64) map[int64]int { | func queryComment(start_unix int64, end_unix int64) map[int64]int { | ||||
| @@ -845,7 +839,7 @@ func queryComment(start_unix int64, end_unix int64) map[int64]int { | |||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| sess.Select("id,type,poster_id").Table("comment").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("id,type,poster_id").Table("comment").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| commentList := make([]*Comment, 0) | commentList := make([]*Comment, 0) | ||||
| sess.Find(&commentList) | sess.Find(&commentList) | ||||
| log.Info("query Comment size=" + fmt.Sprint(len(commentList))) | log.Info("query Comment size=" + fmt.Sprint(len(commentList))) | ||||
| @@ -881,7 +875,7 @@ func queryWatch(start_unix int64, end_unix int64) map[int64]int { | |||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| watchList := make([]*Watch, 0) | watchList := make([]*Watch, 0) | ||||
| sess.Select("id,user_id,repo_id").Table("watch").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("id,user_id,repo_id").Table("watch").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Find(&watchList) | sess.Find(&watchList) | ||||
| log.Info("query Watch size=" + fmt.Sprint(len(watchList))) | log.Info("query Watch size=" + fmt.Sprint(len(watchList))) | ||||
| @@ -919,7 +913,7 @@ func queryStar(start_unix int64, end_unix int64) map[int64]int { | |||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| sess.Select("id,uid,repo_id").Table("star").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("id,uid,repo_id").Table("star").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| starList := make([]*Star, 0) | starList := make([]*Star, 0) | ||||
| sess.Find(&starList) | sess.Find(&starList) | ||||
| @@ -955,7 +949,7 @@ func queryFollow(start_unix int64, end_unix int64) map[int64]int { | |||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| sess.Select("id,user_id,follow_id").Table("follow").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("id,user_id,follow_id").Table("follow").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| followList := make([]*Follow, 0) | followList := make([]*Follow, 0) | ||||
| sess.Find(&followList) | sess.Find(&followList) | ||||
| @@ -991,7 +985,7 @@ func queryDatasetSize(start_unix int64, end_unix int64) map[int64]int { | |||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| sess.Select("id,uploader_id,size").Table("attachment").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("id,uploader_id,size").Table("attachment").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| attachmentList := make([]*Attachment, 0) | attachmentList := make([]*Attachment, 0) | ||||
| sess.Find(&attachmentList) | sess.Find(&attachmentList) | ||||
| @@ -1027,7 +1021,7 @@ func queryUserCreateRepo(start_unix int64, end_unix int64) map[int64]int { | |||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| sess.Select("id,owner_id,name").Table("repository").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| sess.Select("id,owner_id,name").Table("repository").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| repoList := make([]*Repository, 0) | repoList := make([]*Repository, 0) | ||||
| sess.Find(&repoList) | sess.Find(&repoList) | ||||
| log.Info("query Repository size=" + fmt.Sprint(len(repoList))) | log.Info("query Repository size=" + fmt.Sprint(len(repoList))) | ||||
| @@ -1117,7 +1111,7 @@ func queryLoginCount(start_unix int64, end_unix int64) map[int64]int { | |||||
| var indexTotal int64 | var indexTotal int64 | ||||
| indexTotal = 0 | indexTotal = 0 | ||||
| for { | for { | ||||
| statictisSess.Select("id,u_id").Table("user_login_log").Where(cond).Limit(Page_SIZE, int(indexTotal)) | |||||
| statictisSess.Select("id,u_id").Table("user_login_log").Where(cond).OrderBy("id asc").Limit(Page_SIZE, int(indexTotal)) | |||||
| userLoginLogList := make([]*UserLoginLog, 0) | userLoginLogList := make([]*UserLoginLog, 0) | ||||
| statictisSess.Find(&userLoginLogList) | statictisSess.Find(&userLoginLogList) | ||||
| log.Info("query user login size=" + fmt.Sprint(len(userLoginLogList))) | log.Info("query user login size=" + fmt.Sprint(len(userLoginLogList))) | ||||
| @@ -518,19 +518,19 @@ func RecommendOrgFromPromote(ctx *context.Context) { | |||||
| recommendFromPromote(ctx, url) | recommendFromPromote(ctx, url) | ||||
| } | } | ||||
| func recommendFromPromote(ctx *context.Context, url string) { | |||||
| func recommendFromPromote(ctx *context.Context, url string) []string { | |||||
| resp, err := http.Get(url) | resp, err := http.Get(url) | ||||
| if err != nil { | if err != nil { | ||||
| log.Info("Get organizations url error=" + err.Error()) | log.Info("Get organizations url error=" + err.Error()) | ||||
| ctx.ServerError("QueryTrainJobList:", err) | |||||
| return | |||||
| ctx.ServerError("Get organizations url error:", err) | |||||
| return nil | |||||
| } | } | ||||
| bytes, err := ioutil.ReadAll(resp.Body) | bytes, err := ioutil.ReadAll(resp.Body) | ||||
| resp.Body.Close() | resp.Body.Close() | ||||
| if err != nil { | if err != nil { | ||||
| log.Info("Get organizations url error=" + err.Error()) | log.Info("Get organizations url error=" + err.Error()) | ||||
| ctx.ServerError("QueryTrainJobList:", err) | |||||
| return | |||||
| ctx.ServerError("Read organizations url error:", err) | |||||
| return nil | |||||
| } | } | ||||
| allLineStr := string(bytes) | allLineStr := string(bytes) | ||||
| @@ -546,10 +546,11 @@ func recommendFromPromote(ctx *context.Context, url string) { | |||||
| result[i] = strings.Trim(line[tmpIndex+1:], " ") | result[i] = strings.Trim(line[tmpIndex+1:], " ") | ||||
| } | } | ||||
| } | } | ||||
| ctx.JSON(http.StatusOK, result) | |||||
| return result | |||||
| } | } | ||||
| func RecommendRepoFromPromote(ctx *context.Context) { | func RecommendRepoFromPromote(ctx *context.Context) { | ||||
| url := setting.RecommentRepoAddr + "projects" | url := setting.RecommentRepoAddr + "projects" | ||||
| recommendFromPromote(ctx, url) | recommendFromPromote(ctx, url) | ||||
| } | } | ||||