mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-01-15 09:10:08 +00:00
fix db errors handle
This commit is contained in:
parent
be30ec660f
commit
57a8b5091f
@ -25,10 +25,15 @@ impl Bookmark {
|
||||
let memory = Rc::new(Memory::new());
|
||||
|
||||
// Build initial index
|
||||
for record in database.records(None) {
|
||||
if memory.add(record.request, record.id).is_err() {
|
||||
todo!()
|
||||
match database.records(None) {
|
||||
Ok(records) => {
|
||||
for record in records {
|
||||
if memory.add(record.request, record.id).is_err() {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
}
|
||||
Err(reason) => todo!("{reason}"),
|
||||
}
|
||||
|
||||
// Return new `Self`
|
||||
|
@ -28,10 +28,10 @@ impl Database {
|
||||
// Getters
|
||||
|
||||
/// Get bookmark records from database with optional filter by `request`
|
||||
pub fn records(&self, request: Option<&str>) -> Vec<Table> {
|
||||
pub fn records(&self, request: Option<&str>) -> Result<Vec<Table>, Error> {
|
||||
let readable = self.connection.read().unwrap();
|
||||
let tx = readable.unchecked_transaction().unwrap();
|
||||
select(&tx, *self.profile_id, request).unwrap()
|
||||
let tx = readable.unchecked_transaction()?;
|
||||
select(&tx, *self.profile_id, request)
|
||||
}
|
||||
|
||||
// Setters
|
||||
@ -41,10 +41,10 @@ impl Database {
|
||||
pub fn add(&self, time: DateTime, request: String) -> Result<i64, Error> {
|
||||
// Begin new transaction
|
||||
let mut writable = self.connection.write().unwrap();
|
||||
let tx = writable.transaction().unwrap();
|
||||
let tx = writable.transaction()?;
|
||||
|
||||
// Create new record
|
||||
insert(&tx, *self.profile_id, time, request).unwrap();
|
||||
insert(&tx, *self.profile_id, time, request)?;
|
||||
|
||||
// Hold insert ID for result
|
||||
let id = last_insert_id(&tx);
|
||||
|
Loading…
x
Reference in New Issue
Block a user