aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2018-08-19 18:42:21 -0700
committerBryan Newbold <bnewbold@robocracy.org>2018-08-19 18:42:21 -0700
commit657c1e7d4d6f07762bc1f6a7b24e9512e0089987 (patch)
tree88792a804223e7494c840a3f436b59702dec62cd
parent582d2397004b8a55847a3fe933cc29e8b99ab8f6 (diff)
downloadfatcat-657c1e7d4d6f07762bc1f6a7b24e9512e0089987.tar.gz
fatcat-657c1e7d4d6f07762bc1f6a7b24e9512e0089987.zip
add NOT NULL to other lookups
-rw-r--r--rust/src/api_server.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/rust/src/api_server.rs b/rust/src/api_server.rs
index 9239d63b..66e6359a 100644
--- a/rust/src/api_server.rs
+++ b/rust/src/api_server.rs
@@ -396,6 +396,9 @@ impl Server {
let (ident, rev): (FileIdentRow, FileRevRow) = file_ident::table
.inner_join(file_rev::table)
.filter(file_rev::sha1.eq(sha1))
+ // This NOT NULL is here to ensure the postgresql query planner that it can use an
+ // index
+ .filter(file_rev::sha1.is_not_null())
.filter(file_ident::is_live.eq(true))
.filter(file_ident::redirect_id.is_null())
.first(conn)?;
@@ -434,6 +437,9 @@ impl Server {
let (ident, rev): (ReleaseIdentRow, ReleaseRevRow) = release_ident::table
.inner_join(release_rev::table)
.filter(release_rev::doi.eq(doi))
+ // This NOT NULL is here to ensure the postgresql query planner that it can use an
+ // index
+ .filter(release_rev::doi.is_not_null())
.filter(release_ident::is_live.eq(true))
.filter(release_ident::redirect_id.is_null())
.first(conn)?;