36 lines
1 KiB
SQL
36 lines
1 KiB
SQL
|
|
CREATE VIEW orig_repos AS
|
|
SELECT id, name, full_name, html_url, description, last_seen
|
|
FROM repos
|
|
WHERE NOT fork;
|
|
|
|
CREATE VIEW fork_repos AS
|
|
SELECT id, name, full_name, html_url, description, last_seen
|
|
FROM repos
|
|
WHERE fork
|
|
|
|
CREATE EXTENSION pg_trgm;
|
|
|
|
CREATE INDEX ix_trgm_repos_description ON
|
|
repos USING gin (description gin_trgm_ops);
|
|
|
|
CREATE INDEX ix_trgm_repos_full_name ON
|
|
repos USING gin (full_name gin_trgm_ops);
|
|
|
|
CREATE TABLE repos_history (
|
|
ts timestamp DEFAULT current_timestamp,
|
|
repos integer NOT NULL,
|
|
fork_repos integer,
|
|
orig_repos integer
|
|
);
|
|
|
|
CREATE VIEW repo_creations AS
|
|
SELECT today.ts :: date as date,
|
|
today.repos - yesterday.repos as repos,
|
|
today.fork_repos - yesterday.fork_repos as fork_repos,
|
|
today.orig_repos - yesterday.orig_repos as orig_repos
|
|
FROM repos_history today
|
|
JOIN repos_history yesterday ON
|
|
(yesterday.ts = (SELECT max(ts)
|
|
FROM repos_history
|
|
WHERE ts < today.ts));
|