From 8baa2d8808797e423829fb040d70206d24b6156e Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 17 Sep 2018 13:56:36 -0700 Subject: fix CHECK clauses --- rust/TODO | 1 + rust/migrations/2018-05-12-001226_init/up.sql | 14 ++++++------- rust/src/database_schema.rs | 30 +++++++++++++-------------- 3 files changed, 23 insertions(+), 22 deletions(-) (limited to 'rust') diff --git a/rust/TODO b/rust/TODO index d424c76c..c8a1a1bd 100644 --- a/rust/TODO +++ b/rust/TODO @@ -5,6 +5,7 @@ correctness - enforce "no editing if editgroup accepted" behavior - changelog sequence without gaps - batch insert editgroup behavior; always a new editgroup? +- redirect rev_id needs to be updated when primary changes edit lifecycle - editgroup: state to track review status? diff --git a/rust/migrations/2018-05-12-001226_init/up.sql b/rust/migrations/2018-05-12-001226_init/up.sql index a6384f4e..d94e9b71 100644 --- a/rust/migrations/2018-05-12-001226_init/up.sql +++ b/rust/migrations/2018-05-12-001226_init/up.sql @@ -47,7 +47,7 @@ CREATE INDEX changelog_editgroup_idx ON changelog(editgroup_id); CREATE TABLE abstracts ( -- fixed size hash (in hex). TODO: switch to bytes - sha1 TEXT PRIMARY KEY CHECK (octet_length(sha1) == 40), + sha1 TEXT PRIMARY KEY CHECK (octet_length(sha1) = 40), content TEXT NOT NULL ); @@ -60,7 +60,7 @@ CREATE TABLE creator_rev ( given_name TEXT, surname TEXT, -- fixed size identifier - orcid TEXT CHECK(octet_length(orcid) == 19), + orcid TEXT CHECK(octet_length(orcid) = 19), -- limited size for data quality wikidata_qid TEXT CHECK(octet_length(wikidata_qid) <= 12) @@ -103,7 +103,7 @@ CREATE TABLE container_rev ( name TEXT NOT NULL, publisher TEXT, -- fixed size identifier - issnl TEXT CHECK(octet_length(issnl) == 9), + issnl TEXT CHECK(octet_length(issnl) = 9), -- limited size for data quality wikidata_qid TEXT CHECK(octet_length(wikidata_qid) <= 12), abbrev TEXT, @@ -142,9 +142,9 @@ CREATE TABLE file_rev ( size BIGINT, -- fixed size hashes (in hex). TODO: switch to binary type type - sha1 TEXT CHECK(octet_length(sha1) == 40), - sha256 TEXT CHECK(octet_length(sha256) == 64), - md5 TEXT CHECK(octet_length(md5) == 32), + sha1 TEXT CHECK(octet_length(sha1) = 40), + sha256 TEXT CHECK(octet_length(sha256) = 64), + md5 TEXT CHECK(octet_length(md5) = 32), mimetype TEXT ); @@ -198,7 +198,7 @@ CREATE TABLE release_rev ( pmid TEXT CHECK(octet_length(pmid) <= 12), pmcid TEXT CHECK(octet_length(pmcid) <= 12), wikidata_qid TEXT CHECK(octet_length(wikidata_qid) <= 12), - isbn13 TEXT CHECK(octet_length(isbn13) == 13), + isbn13 TEXT CHECK(octet_length(isbn13) = 13), core_id TEXT CHECK(octet_length(core_id) <= 12), volume TEXT, issue TEXT, diff --git a/rust/src/database_schema.rs b/rust/src/database_schema.rs index bc3f6c3a..d7bba7dc 100644 --- a/rust/src/database_schema.rs +++ b/rust/src/database_schema.rs @@ -1,6 +1,6 @@ table! { abstracts (sha1) { - sha1 -> Bpchar, + sha1 -> Varchar, content -> Text, } } @@ -41,10 +41,10 @@ table! { extra_json -> Nullable, name -> Text, publisher -> Nullable, - issnl -> Nullable, - wikidata_qid -> Nullable, + issnl -> Nullable, + wikidata_qid -> Nullable, abbrev -> Nullable, - coden -> Nullable, + coden -> Nullable, } } @@ -77,8 +77,8 @@ table! { display_name -> Text, given_name -> Nullable, surname -> Nullable, - orcid -> Nullable, - wikidata_qid -> Nullable, + orcid -> Nullable, + wikidata_qid -> Nullable, } } @@ -136,9 +136,9 @@ table! { id -> Uuid, extra_json -> Nullable, size -> Nullable, - sha1 -> Nullable, - sha256 -> Nullable, - md5 -> Nullable, + sha1 -> Nullable, + sha256 -> Nullable, + md5 -> Nullable, mimetype -> Nullable, } } @@ -212,11 +212,11 @@ table! { release_status -> Nullable, release_date -> Nullable, doi -> Nullable, - pmid -> Nullable, - pmcid -> Nullable, - wikidata_qid -> Nullable, - isbn13 -> Nullable, - core_id -> Nullable, + pmid -> Nullable, + pmcid -> Nullable, + wikidata_qid -> Nullable, + isbn13 -> Nullable, + core_id -> Nullable, volume -> Nullable, issue -> Nullable, pages -> Nullable, @@ -229,7 +229,7 @@ table! { release_rev_abstract (id) { id -> Int8, release_rev -> Uuid, - abstract_sha1 -> Bpchar, + abstract_sha1 -> Varchar, mimetype -> Nullable, lang -> Nullable, } -- cgit v1.2.3