Add crash_data table to store the json
Add searching on crashing backtrace function names
Drop never used tables
Bump DB schema version
Requires PostgreSQL >= 9.4 for now (for jsonb)
CREATE OR REPLACE FUNCTION extract_crashing_functions (processed_json jsonb) RETURNS text AS
$$
-- extract threads[crashing_idx]->frames[*]->function
SELECT string_agg(functions, E'\n')
FROM (
SELECT jsonb_array_elements(
(($1 #> ARRAY['threads', $1->'crash_info'->>'crashing_thread'])->'frames')
)->>'function' AS functions
) AS frames
$$
LANGUAGE sql IMMUTABLE;
-- This extension is the contrib modules
CREATE EXTENSION IF NOT EXISTS pg_trgm;
-- Used for searching function in the crashing thread backtrace
-- Search will be really slow if this index is not present
CREATE INDEX crash_datas_idx_extract_crashing_functions ON crash_datas USING gin (
extract_crashing_functions(processed) gin_trgm_ops
);