diff --git a/turbod/schema/schema.sql b/turbod/schema/schema.sql new file mode 100644 index 0000000000000000000000000000000000000000..5957e4a93cb582ada5790b3a9a17d52b0972bbbd --- /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 +); +