From fa09b7cb0060f9546d90f864343eceba090de0a9 Mon Sep 17 00:00:00 2001 From: Kould Date: Sat, 7 Dec 2024 14:06:06 +0800 Subject: [PATCH] chore: rollback `https://github.com/KipData/FnckSQL/pull/191` --- src/binder/expr.rs | 2 +- src/binder/mod.rs | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/binder/expr.rs b/src/binder/expr.rs index c147ed76..53c4958a 100644 --- a/src/binder/expr.rs +++ b/src/binder/expr.rs @@ -342,7 +342,7 @@ impl<'a, T: Transaction> Binder<'a, '_, T> { try_default!(&full_name.0, full_name.1); } if let Some(table) = full_name.0.or(bind_table_name) { - let source = self.context.bind_source(&table, self.parent)?; + let source = self.context.bind_source(&table)?; let schema_buf = self.table_schema_buf.entry(Arc::new(table)).or_default(); Ok(ScalarExpression::ColumnRef( diff --git a/src/binder/mod.rs b/src/binder/mod.rs index 068d6f81..7e9e5340 100644 --- a/src/binder/mod.rs +++ b/src/binder/mod.rs @@ -272,18 +272,12 @@ impl<'a, T: Transaction> BinderContext<'a, T> { Ok(source) } - pub fn bind_source<'b: 'a>( - &self, - table_name: &str, - parent: Option<&'b Binder<'a, 'b, T>>, - ) -> Result<&Source, DatabaseError> { + pub fn bind_source<'b: 'a>(&self, table_name: &str) -> Result<&Source, DatabaseError> { if let Some(source) = self.bind_table.iter().find(|((t, alias, _), _)| { t.as_str() == table_name || matches!(alias.as_ref().map(|a| a.as_str() == table_name), Some(true)) }) { Ok(source.1) - } else if let Some(binder) = parent { - binder.context.bind_source(table_name, binder.parent) } else { Err(DatabaseError::InvalidTable(table_name.into())) }