From 886ec9820c6c0233dbc212b0428401d835ee2950 Mon Sep 17 00:00:00 2001 From: Elias Renman Date: Mon, 25 Dec 2023 21:39:05 +0100 Subject: [PATCH] feat: wip where fetcher --- src/database/query/mod.rs | 5 +++-- src/database/query/query_builder.rs | 23 ++++++++++++++++++++--- src/database/query/where_fetcher.rs | 7 +++++++ 3 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 src/database/query/where_fetcher.rs diff --git a/src/database/query/mod.rs b/src/database/query/mod.rs index ee26020..66ffe09 100644 --- a/src/database/query/mod.rs +++ b/src/database/query/mod.rs @@ -1,3 +1,4 @@ -pub mod select_processor; pub mod query_builder; -pub mod select_parser; \ No newline at end of file +pub mod select_parser; +pub mod select_processor; +pub mod where_fetcher; diff --git a/src/database/query/query_builder.rs b/src/database/query/query_builder.rs index 8ff754f..b751cd9 100644 --- a/src/database/query/query_builder.rs +++ b/src/database/query/query_builder.rs @@ -1,3 +1,20 @@ -// select query builder -// where query builder -// Combine them \ No newline at end of file +use crate::database::{self, Database}; + +use super::{select_parser::SelectParser, select_processor::SelectProcessor}; + +pub struct QueryBuilder<'a> { + database: &'a Database, +} + +impl<'a> QueryBuilder<'a> { + fn new(database: &'a Database) -> QueryBuilder { + QueryBuilder { database } + } + + fn select(self) { + // select query builder + // where query builder + // Combine them + let output = SelectProcessor::selector(self.database, &cat_table.name, cat_1, select); + } +} diff --git a/src/database/query/where_fetcher.rs b/src/database/query/where_fetcher.rs new file mode 100644 index 0000000..01e48c0 --- /dev/null +++ b/src/database/query/where_fetcher.rs @@ -0,0 +1,7 @@ +use crate::database::{self, Database}; + +pub struct WhereFetcher {} + +impl WhereFetcher { + pub fn find_rows(database: &Database, table_name: String, where_query: String) {} +}