From 069bb2274739df54f100ee94218d9df8434c9d12 Mon Sep 17 00:00:00 2001 From: Jason Hiser <jdhiser@gmail.com> Date: Fri, 9 Aug 2019 15:45:10 -0400 Subject: [PATCH] first db schema --- turbod/schema/schema.sql | 67 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 turbod/schema/schema.sql diff --git a/turbod/schema/schema.sql b/turbod/schema/schema.sql new file mode 100644 index 0000000..5957e4a --- /dev/null +++ b/turbod/schema/schema.sql @@ -0,0 +1,67 @@ + +create type InputProvenance as ENUM ('User', 'AFL', 'QSym', 'Unknown'); + +create table if not exists boosts +( + boost_id serial primary key, + boost_name bytea, + create_time timestamp +); + +create table if not exists boost_versions +( + ver_id serial primary key, + boost_id integer references boosts(boost_id), + orig_binary bytea, + orig_bin_sha bytea, + zafl_binary bytea, + zafl_bin_sha bytea, + submit_time timestamp, + start_time timestamp, + end_time timestamp, + err bool +); + +create table if not exists inputs +( + input_id serial primary key, + boost_id integer references boosts(boost_id), + create_time timestamp, + prov InputProvenance, + input_data bytea, + sha256 bytea +); + +create table if not exists forensics +( + forensic_id serial primary key, + input_id integer references inputs(input_id), + ver_id integer references boost_versions(ver_id), + exit_code integer, + backtrace bytea, + prov InputProvenance +); + +create table if not exists seeds +( + seed_id serial primary key, + input_id integer references inputs(input_id), + prov InputProvenance +); + + +create table if not exists zafl_logs +( + log_id serial primary key, + log bytea, + ver_id integer references versions(ver_id) +); + +create table if not exists fuzz_logs +( + log_id serial primary key, + log bytea, + ver_id integer references versions(ver_id), + prov InputProvenance +); + -- GitLab