This file is indexed.

/usr/share/gforge/db/20111017-schema-convergence-from-nondeb.sql is in gforge-db-postgresql 5.3.2+20141104-3+deb8u3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
ALTER FUNCTION frs_dlstats_filetotal_insert_ag() RENAME TO frs_dlstats_filetotal_insert_agg;

ALTER TABLE ONLY artifact_type_monitor ADD CONSTRAINT artifact_type_monitor_group_artifact_id_fkey FOREIGN KEY (group_artifact_id) REFERENCES artifact_group_list(group_artifact_id) ON DELETE CASCADE;
ALTER TABLE ONLY artifact_type_monitor ADD CONSTRAINT artifact_type_monitor_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(user_id);

ALTER TABLE artifact_type_monitor DROP CONSTRAINT "$1";
ALTER TABLE artifact_type_monitor DROP CONSTRAINT "$2";

ALTER TABLE ONLY forum_attachment ADD CONSTRAINT forum_attachment_msg_id_fkey FOREIGN KEY (msg_id) REFERENCES forum(msg_id) ON DELETE CASCADE;
ALTER TABLE ONLY forum_attachment ADD CONSTRAINT forum_attachment_userid_fkey FOREIGN KEY (userid) REFERENCES users(user_id) ON DELETE SET DEFAULT;

ALTER TABLE forum_attachment DROP CONSTRAINT "$1";
ALTER TABLE forum_attachment DROP CONSTRAINT "$2";

ALTER SEQUENCE supported_langu_language_id_seq RENAME TO supported_languages_pk_seq;
ALTER TABLE supported_languages ALTER COLUMN language_id SET DEFAULT nextval(('supported_languages_pk_seq'::text)::regclass);
ALTER SEQUENCE group_cvs_history_id_seq RENAME TO group_cvs_history_pk_seq;
ALTER TABLE group_cvs_history ALTER COLUMN id SET DEFAULT nextval(('group_cvs_history_pk_seq'::text)::regclass);
ALTER TABLE group_cvs_history ADD CONSTRAINT group_cvs_history_pkey PRIMARY KEY (id);

ALTER SEQUENCE project_messa_project_messa_seq RENAME TO project_messages_project_message_id_seq;
ALTER TABLE activity_log ALTER COLUMN ver SET DEFAULT 0::double precision;
ALTER TABLE artifact_extra_field_data ALTER COLUMN data_id SET DEFAULT nextval('artifact_extra_field_data_data_id_seq'::regclass);
ALTER TABLE artifact_extra_field_list ALTER COLUMN extra_field_id SET DEFAULT nextval('artifact_extra_field_list_extra_field_id_seq'::regclass);
ALTER TABLE artifact_extra_field_elements ALTER COLUMN element_id SET DEFAULT nextval('artifact_extra_field_elements_element_id_seq'::regclass);

ALTER TABLE db_images ALTER COLUMN upload_date SET DEFAULT 0;
ALTER TABLE db_images ALTER COLUMN version SET DEFAULT 0;

ALTER TABLE group_join_request DROP CONSTRAINT "$1";
ALTER TABLE group_join_request DROP CONSTRAINT "$2";
ALTER TABLE group_join_request ADD CONSTRAINT group_join_request_group_id_fkey FOREIGN KEY (group_id) REFERENCES groups(group_id) ON DELETE CASCADE;
ALTER TABLE group_join_request ADD CONSTRAINT group_join_request_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(user_id);
ALTER TABLE groups ADD CONSTRAINT groups_license FOREIGN KEY (license) REFERENCES licenses(license_id) MATCH FULL;
ALTER TABLE groups ALTER COLUMN unix_box SET DEFAULT 'shell'::character varying;
ALTER TABLE users ALTER COLUMN unix_box SET DEFAULT 'shell'::character varying;

DROP INDEX plugins_plugin_name_key;
ALTER TABLE plugins ADD CONSTRAINT plugins_plugin_name_key UNIQUE (plugin_name);
ALTER TABLE project_tags ADD CONSTRAINT project_tags_group_id_fkey FOREIGN KEY (group_id) REFERENCES groups(group_id) MATCH FULL;
ALTER TABLE project_task ADD CONSTRAINT project_task_group_project_id_f FOREIGN KEY (group_project_id) REFERENCES project_group_list(group_project_id) MATCH FULL;

ALTER TABLE project_task_external_order DROP CONSTRAINT "$1";
ALTER TABLE project_task_external_order ADD CONSTRAINT project_task_external_order_project_task_id_fkey FOREIGN KEY (project_task_id) REFERENCES project_task(project_task_id) MATCH FULL ON DELETE CASCADE;

ALTER TABLE project_weekly_metric ADD CONSTRAINT project_weekly_metric_pkey PRIMARY KEY (ranking);
DROP SEQUENCE project_metric_wee_ranking1_seq;

ALTER TABLE role DROP CONSTRAINT "$1";
ALTER TABLE role ADD CONSTRAINT role_group_id_fkey FOREIGN KEY (group_id) REFERENCES groups(group_id) ON DELETE CASCADE;

ALTER TABLE project_messages ALTER COLUMN project_message_id SET DEFAULT nextval('project_messages_project_message_id_seq'::regclass);
ALTER SEQUENCE project_messages_project_message_id_seq OWNED BY project_messages.project_message_id;

DROP SEQUENCE themes_pk_seq;
ALTER SEQUENCE themes_theme_id_seq RENAME TO themes_pk_seq;
ALTER TABLE themes ALTER COLUMN theme_id SET DEFAULT nextval(('themes_pk_seq'::text)::regclass);

DROP SEQUENCE trove_treesums_pk_seq;
ALTER SEQUENCE trove_treesum_trove_treesum_seq RENAME TO trove_treesums_pk_seq;
ALTER TABLE trove_treesums ALTER COLUMN trove_treesums_id SET DEFAULT nextval(('trove_treesums_pk_seq'::text)::regclass);

ALTER SEQUENCE group_cvs_history_pk_seq MAXVALUE 2147483647;
ALTER SEQUENCE supported_languages_pk_seq MAXVALUE 2147483647;
ALTER SEQUENCE themes_pk_seq MAXVALUE 2147483647;

ALTER TABLE project_category ALTER COLUMN category_id SET DEFAULT nextval('project_categor_category_id_seq'::regclass);

CREATE VIEW mta_users AS SELECT users.user_name AS login, users.email FROM users WHERE (users.status = 'A'::bpchar);
DROP VIEW nss_shadow;
CREATE VIEW nss_shadow AS SELECT users.user_name AS login, users.unix_pw AS passwd, 'n'::character(1) AS expired, 'n'::character(1) AS pwchange FROM users WHERE (users.unix_status = 'A'::bpchar);

INSERT INTO "project_status" (status_id, status_name) VALUES ('3', 'Deleted');
INSERT INTO "supported_languages" (language_id, name, filename, classname, language_code) VALUES ('13', 'Esperanto', 'Esperanto.class', 'Esperanto', 'eo ');
INSERT INTO "supported_languages" (language_id, name, filename, classname, language_code) VALUES ('15', 'Polish', 'Polish.class', 'Polish', 'pl ');
INSERT INTO "supported_languages" (language_id, name, filename, classname, language_code) VALUES ('18', 'Portuguese', 'Portuguese.class', 'Portuguese', 'pt ');
INSERT INTO "supported_languages" (language_id, name, filename, classname, language_code) VALUES ('19', 'Greek', 'Greek.class', 'Greek', 'el ');
INSERT INTO "supported_languages" (language_id, name, filename, classname, language_code) VALUES ('21', 'Indonesian', 'Indonesian.class', 'Indonesian', 'id ');
INSERT INTO "supported_languages" (language_id, name, filename, classname, language_code) VALUES ('25', 'Latin', 'Latin.class', 'Latin', 'la ');
INSERT INTO "supported_languages" (language_id, name, filename, classname, language_code) VALUES ('3', 'Hebrew', 'Hebrew.class', 'Hebrew', 'iw ');
INSERT INTO "supported_languages" (language_id, name, filename, classname, language_code) VALUES ('9', 'Norwegian', 'Norwegian.class', 'Norwegian', 'no ');

INSERT INTO "artifact_status" (id, status_name) VALUES ('3', 'Deleted');

INSERT INTO "people_skill" (skill_id, name) VALUES ('1', 'Ada');
INSERT INTO "people_skill" (skill_id, name) VALUES ('2', 'C');
INSERT INTO "people_skill" (skill_id, name) VALUES ('3', 'C++');
INSERT INTO "people_skill" (skill_id, name) VALUES ('4', 'HTML');
INSERT INTO "people_skill" (skill_id, name) VALUES ('5', 'LISP');
INSERT INTO "people_skill" (skill_id, name) VALUES ('6', 'Perl');
INSERT INTO "people_skill" (skill_id, name) VALUES ('7', 'PHP');
INSERT INTO "people_skill" (skill_id, name) VALUES ('8', 'Python');
INSERT INTO "people_skill" (skill_id, name) VALUES ('9', 'SQL');

ALTER TABLE frs_dlstats_filetotal_agg ALTER COLUMN file_id SET DEFAULT 0;
ALTER TABLE frs_dlstats_filetotal_agg ALTER COLUMN downloads SET DEFAULT 0;
ALTER TABLE frs_dlstats_filetotal_agg ALTER COLUMN downloads SET NOT NULL;

CREATE INDEX projecttaskartifact_projecttaskid ON project_task_artifact USING btree (project_task_id);
ALTER TABLE project_tags ALTER COLUMN name SET DEFAULT ''::text;

ALTER TABLE user_preferences DROP COLUMN dead1;

ALTER TABLE user_group ALTER COLUMN artifact_flags SET DEFAULT 0;

DROP TABLE IF EXISTS project_metric_tmp1;
DROP SEQUENCE IF EXISTS project_metric_tmp1_pk_seq;

ALTER TABLE user_preferences ADD COLUMN set_date_new integer DEFAULT 0 NOT NULL;
UPDATE user_preferences SET set_date_new = set_date;
ALTER TABLE user_preferences DROP COLUMN set_date;
ALTER TABLE user_preferences RENAME COLUMN set_date_new TO set_date;

ALTER TABLE project_task DROP CONSTRAINT project_task_category_id_fkey;
DROP INDEX project_categor_category_id_key;
ALTER TABLE project_category ADD CONSTRAINT project_category_pkey PRIMARY KEY (category_id);
ALTER TABLE project_task ADD CONSTRAINT project_task_category_id_fkey FOREIGN KEY (category_id) REFERENCES project_category(category_id);

ALTER TABLE users DROP CONSTRAINT users_themeid;
DROP INDEX themes_theme_id_key;
ALTER TABLE themes ADD CONSTRAINT themes_pkey PRIMARY KEY (theme_id);
ALTER TABLE users ADD CONSTRAINT users_themeid FOREIGN KEY (theme_id) REFERENCES themes(theme_id) MATCH FULL;


CREATE OR REPLACE VIEW stats_project_all_vw AS SELECT stats_project_months.group_id, (avg(stats_project_months.developers))::integer AS developers, (avg(stats_project_months.group_ranking))::integer AS group_ranking, avg(stats_project_months.group_metric) AS group_metric, sum(stats_project_months.logo_showings) AS logo_showings, sum(stats_project_months.downloads) AS downloads, sum(stats_project_months.site_views) AS site_views, sum(stats_project_months.subdomain_views) AS subdomain_views, sum(stats_project_months.page_views) AS page_views, sum(stats_project_months.file_releases) AS file_releases, sum(stats_project_months.msg_posted) AS msg_posted, (avg(stats_project_months.msg_uniq_auth))::integer AS msg_uniq_auth, sum(stats_project_months.bugs_opened) AS bugs_opened, sum(stats_project_months.bugs_closed) AS bugs_closed, sum(stats_project_months.support_opened) AS support_opened, sum(stats_project_months.support_closed) AS support_closed, sum(stats_project_months.patches_opened) AS patches_opened, sum(stats_project_months.patches_closed) AS patches_closed, sum(stats_project_months.artifacts_opened) AS artifacts_opened, sum(stats_project_months.artifacts_closed) AS artifacts_closed, sum(stats_project_months.tasks_opened) AS tasks_opened, sum(stats_project_months.tasks_closed) AS tasks_closed, sum(stats_project_months.help_requests) AS help_requests, sum(stats_project_months.cvs_checkouts) AS cvs_checkouts, sum(stats_project_months.cvs_commits) AS cvs_commits, sum(stats_project_months.cvs_adds) AS cvs_adds FROM stats_project_months GROUP BY stats_project_months.group_id;
CREATE OR REPLACE VIEW stats_project_vw AS SELECT spd.group_id, spd.month, spd.day, spd.developers, spm.ranking AS group_ranking, spm.percentile AS group_metric, salbg.count AS logo_showings, fdga.downloads, sasbg.count AS site_views, ssp.pages AS subdomain_views, (COALESCE(sasbg.count, 0) + COALESCE(ssp.pages, 0)) AS page_views, sp.file_releases, sp.msg_posted, sp.msg_uniq_auth, sp.bugs_opened, sp.bugs_closed, sp.support_opened, sp.support_closed, sp.patches_opened, sp.patches_closed, sp.artifacts_opened, sp.artifacts_closed, sp.tasks_opened, sp.tasks_closed, sp.help_requests, scg.checkouts AS cvs_checkouts, scg.commits AS cvs_commits, scg.adds AS cvs_adds FROM (((((((stats_project_developers spd LEFT JOIN stats_project sp USING (month, day, group_id)) LEFT JOIN stats_project_metric spm USING (month, day, group_id)) LEFT JOIN stats_cvs_group scg USING (month, day, group_id)) LEFT JOIN stats_agg_site_by_group sasbg USING (month, day, group_id)) LEFT JOIN stats_agg_logo_by_group salbg USING (month, day, group_id)) LEFT JOIN stats_subd_pages ssp USING (month, day, group_id)) LEFT JOIN frs_dlstats_group_vw fdga USING (month, day, group_id));

CREATE TABLE artifact_idx ( artifact_id integer, group_artifact_id integer, vectors tsvector );
CREATE TABLE artifact_message_idx ( id integer, artifact_id integer, vectors tsvector );
CREATE TABLE doc_data_idx ( docid integer, group_id integer, vectors tsvector );
CREATE TABLE forum_idx ( msg_id integer, group_id integer, vectors tsvector );
CREATE TABLE frs_file_idx ( file_id integer, release_id integer, vectors tsvector );
CREATE TABLE frs_release_idx ( release_id integer, vectors tsvector );
CREATE TABLE groups_idx ( group_id integer, vectors tsvector );
CREATE TABLE news_bytes_idx ( id integer, vectors tsvector );
CREATE TABLE project_task_idx ( project_task_id integer, vectors tsvector );
CREATE TABLE skills_data_idx ( skills_data_id integer, vectors tsvector );
CREATE TABLE users_idx ( user_id integer, vectors tsvector );

CREATE INDEX artifact_idxfti ON artifact_idx USING gist (vectors);
CREATE INDEX artifact_message_idxfti ON artifact_message_idx USING gist (vectors);
CREATE INDEX doc_data_idxfti ON doc_data_idx USING gist (vectors);
CREATE INDEX forum_idxfti ON forum_idx USING gist (vectors);
CREATE INDEX frs_file_idxfti ON frs_file_idx USING gist (vectors);
CREATE INDEX frs_release_idxfti ON frs_release_idx USING gist (vectors);
CREATE INDEX groups_idxfti ON groups_idx USING gist (vectors);
CREATE INDEX news_bytes_idxfti ON news_bytes_idx USING gist (vectors);
CREATE INDEX project_task_idxfti ON project_task_idx USING gist (vectors);
CREATE INDEX skills_data_idxfti ON skills_data_idx USING gist (vectors);
CREATE INDEX users_idxfti ON users_idx USING gist (vectors);

CREATE TRIGGER artifact_ts_update AFTER INSERT OR DELETE OR UPDATE ON artifact FOR EACH ROW EXECUTE PROCEDURE update_vectors('artifact');
CREATE TRIGGER artifactmessage_ts_update AFTER INSERT OR DELETE OR UPDATE ON artifact_message FOR EACH ROW EXECUTE PROCEDURE update_vectors('artifact_message');
CREATE TRIGGER doc_data_ts_update AFTER INSERT OR DELETE OR UPDATE ON doc_data FOR EACH ROW EXECUTE PROCEDURE update_vectors('doc_data');
CREATE TRIGGER forum_update AFTER INSERT OR DELETE OR UPDATE ON forum FOR EACH ROW EXECUTE PROCEDURE update_vectors('forum');
CREATE TRIGGER frs_file_ts_update AFTER INSERT OR DELETE OR UPDATE ON frs_file FOR EACH ROW EXECUTE PROCEDURE update_vectors('frs_file');
CREATE TRIGGER frs_release_ts_update AFTER INSERT OR DELETE OR UPDATE ON frs_release FOR EACH ROW EXECUTE PROCEDURE update_vectors('frs_release');
CREATE TRIGGER groups_ts_update AFTER INSERT OR DELETE OR UPDATE ON groups FOR EACH ROW EXECUTE PROCEDURE update_vectors('groups');
CREATE TRIGGER news_bytes_ts_update AFTER INSERT OR DELETE OR UPDATE ON news_bytes FOR EACH ROW EXECUTE PROCEDURE update_vectors('news_bytes');
CREATE TRIGGER project_task_ts_update AFTER INSERT OR DELETE OR UPDATE ON project_task FOR EACH ROW EXECUTE PROCEDURE update_vectors('project_task');
CREATE TRIGGER skills_data_ts_update AFTER INSERT OR DELETE OR UPDATE ON skills_data FOR EACH ROW EXECUTE PROCEDURE update_vectors('skills_data');
CREATE TRIGGER users_ts_update AFTER INSERT OR DELETE OR UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE update_vectors('users');

CREATE TYPE artifact_results AS ( group_artifact_id integer, artifact_id integer, summary text, open_date integer, realname character varying(32));
CREATE TYPE doc_data_results AS ( docid integer, title text, description text, groupname character varying(255));
CREATE TYPE export_groups_results AS ( group_name text, unix_group_name text, type_id integer, group_id integer, short_description text, license integer, register_time integer );
CREATE TYPE forum_results AS ( msg_id integer, subject text, post_date integer, realname character varying(32));
CREATE TYPE forums_results AS ( msg_id integer, subject text, post_date integer, realname character varying(32), forum_name text );
CREATE TYPE frs_results AS ( package_name text, release_name text, release_date integer, release_id integer, realname character varying(32));
CREATE TYPE groups_results AS ( group_name text, unix_group_name text, type_id integer, group_id integer, short_description text );
CREATE TYPE news_bytes_results AS ( summary text, post_date integer, forum_id integer, realname text );
CREATE TYPE project_task_results AS ( project_task_id integer, summary text, percent_complete integer, start_date integer, end_date integer, realname text, project_name text, group_project_id integer );
CREATE TYPE skills_data_results AS ( skills_data_id integer, type integer, title text, start integer, finish integer, keywords text );
CREATE TYPE trackers_results AS ( artifact_id integer, group_artifact_id integer, summary text, open_date integer, realname character varying(32), name text );
CREATE TYPE users_results AS ( user_name text, user_id integer, realname text );

DELETE FROM project_messages_idx;

INSERT INTO project_messages_idx (id, project_task_id, vectors)
SELECT project_message_id, project_task_id, to_tsvector(coalesce(body,'')) AS vectors
FROM project_messages ORDER BY project_message_id;