unobtanium 3.0.0

Opinioated Web search engine library with crawler and viewer companion.
Documentation
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(())
	}

}