use log::trace;
use crate::database::crawler::structs::CrawlerDatabase;
use crate::database::crawler::structs::CrawlerDatabaseTransaction;
use crate::database::id::FileInfoId;
use crate::database::DatabaseError;
impl CrawlerDatabase {
pub fn get_file_text(
&self,
file_id: FileInfoId
) -> Result<String, DatabaseError> {
trace!("crawler_db.get_file_text()");
return self.connection().query_row(
"SELECT text
FROM file_text
WHERE file_id = ?
",(file_id,),
|row| row.get::<usize,String>(0)
).map_err(Into::into);
}
}
impl CrawlerDatabaseTransaction<'_> {
pub fn store_file_text(
&mut self,
file_id: FileInfoId,
text: String,
) -> Result<(), DatabaseError> {
trace!("crawler_db_transaction.store_file_text()");
self.connection().execute(
"INSERT OR REPLACE INTO file_text (
file_id,
text
) VALUES (?,?)
",(
file_id,
text
)
)?;
Ok(())
}
}