summaryrefslogtreecommitdiffstats
path: root/rust/src/database_models.rs
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2019-01-11 19:43:07 -0800
committerBryan Newbold <bnewbold@robocracy.org>2019-01-11 19:43:07 -0800
commit9ca9ed84f0a404c3740a7ac33978bd9d6c6a0c4a (patch)
tree0ec44f67e707c736f3b541dc1614f20663fa07fb /rust/src/database_models.rs
parentf6273b49b72447760f68fead35b885b4c2e8aca8 (diff)
downloadfatcat-9ca9ed84f0a404c3740a7ac33978bd9d6c6a0c4a.tar.gz
fatcat-9ca9ed84f0a404c3740a7ac33978bd9d6c6a0c4a.zip
first draft implementation of ref interning
Diffstat (limited to 'rust/src/database_models.rs')
-rw-r--r--rust/src/database_models.rs29
1 files changed, 13 insertions, 16 deletions
diff --git a/rust/src/database_models.rs b/rust/src/database_models.rs
index 63fbcb29..47fd062d 100644
--- a/rust/src/database_models.rs
+++ b/rust/src/database_models.rs
@@ -376,6 +376,7 @@ pub struct ReleaseRevRow {
pub extra_json: Option<serde_json::Value>,
pub work_ident_id: Uuid,
pub container_ident_id: Option<Uuid>,
+ pub refs_blob_sha1: Option<String>,
pub title: String,
pub release_type: Option<String>,
pub release_status: Option<String>,
@@ -400,6 +401,7 @@ pub struct ReleaseRevNewRow {
pub extra_json: Option<serde_json::Value>,
pub work_ident_id: Uuid,
pub container_ident_id: Option<Uuid>,
+ pub refs_blob_sha1: Option<String>,
pub title: String,
pub release_type: Option<String>,
pub release_status: Option<String>,
@@ -491,33 +493,28 @@ pub struct ReleaseContribNewRow {
pub extra_json: Option<serde_json::Value>,
}
-#[derive(Debug, Queryable, Identifiable, Associations, AsChangeset)]
+#[derive(Debug, Queryable, Insertable, Associations, AsChangeset)]
#[table_name = "release_ref"]
pub struct ReleaseRefRow {
- pub id: i64,
pub release_rev: Uuid,
- pub target_release_ident_id: Option<Uuid>,
- pub index_val: Option<i32>,
- pub key: Option<String>,
- pub extra_json: Option<serde_json::Value>,
- pub container_name: Option<String>,
- pub year: Option<i32>,
- pub title: Option<String>,
- pub locator: Option<String>,
+ pub index_val: i32,
+ pub target_release_ident_id: Uuid,
}
-#[derive(Debug, Insertable, AsChangeset)]
-#[table_name = "release_ref"]
-pub struct ReleaseRefNewRow {
- pub release_rev: Uuid,
- pub target_release_ident_id: Option<Uuid>,
- pub index_val: Option<i32>,
+/* These fields now interned in JSON blob
pub key: Option<String>,
pub extra_json: Option<serde_json::Value>,
pub container_name: Option<String>,
pub year: Option<i32>,
pub title: Option<String>,
pub locator: Option<String>,
+*/
+
+#[derive(Debug, Queryable, Insertable, Associations, AsChangeset)]
+#[table_name = "refs_blob"]
+pub struct RefsBlobRow {
+ pub sha1: String,
+ pub refs_json: serde_json::Value,
}
#[derive(Debug, Queryable, Insertable, Associations, AsChangeset)]