summaryrefslogtreecommitdiff
path: root/src/database.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/database.rs')
-rw-r--r--src/database.rs43
1 files changed, 20 insertions, 23 deletions
diff --git a/src/database.rs b/src/database.rs
index bd195f2..61a51cb 100644
--- a/src/database.rs
+++ b/src/database.rs
@@ -198,29 +198,26 @@ impl TagDatabase {
)
};
- let query = if let (Some(id), Some(n)) = (q.last_id, q.limit) {
- format!(
- "SELECT id, blake2, filename, orig_dir
- FROM images
- {union}
- WHERE id > {last_id}
- GROUP BY id
- ORDER BY id DESC
- LIMIT {limit}",
- last_id = id,
- union = union.or(Some("".into())).unwrap(),
- limit = n
- )
- } else {
- format!(
- "SELECT id, blake2, filename, orig_dir
- FROM images
- {union}
- GROUP BY id
- ORDER BY id DESC",
- union = union.or(Some("".into())).unwrap(),
- )
- };
+ let query = format!(
+ "SELECT id, blake2, filename, orig_dir
+ FROM images
+ {union}
+ {since}
+ GROUP BY id
+ ORDER BY id DESC
+ {limit}",
+ since = if let Some(n) = q.last_id {
+ format!("WHERE id < {}", n)
+ } else {
+ String::from("")
+ },
+ limit = if let Some(n) = q.limit {
+ format!("LIMIT {}", n)
+ } else {
+ String::from("")
+ },
+ union = union.or(Some("".into())).unwrap(),
+ );
Ok(self
.0