fix get_column_name() when column name doesn't exist

This commit is contained in:
meteorgan
2025-07-25 23:47:25 +08:00
parent e0e3c52535
commit b5a18d7dc9
5 changed files with 22 additions and 17 deletions

View File

@@ -89,8 +89,8 @@ impl<T: fmt::Write> TokenStream for WriteTokenStream<'_, T> {
struct BlankContext;
impl ToSqlContext for BlankContext {
fn get_column_name(&self, _table_id: crate::ast::TableInternalId, _col_idx: usize) -> &str {
""
fn get_column_name(&self, _table_id: crate::ast::TableInternalId, _col_idx: usize) -> String {
"".to_string()
}
fn get_table_name(&self, _id: crate::ast::TableInternalId) -> &str {
@@ -758,7 +758,7 @@ impl ToTokens for Expr {
Self::Column { table, column, .. } => {
s.append(TK_ID, Some(context.get_table_name(*table)))?;
s.append(TK_DOT, None)?;
s.append(TK_ID, Some(context.get_column_name(*table, *column)))
s.append(TK_ID, Some(&context.get_column_name(*table, *column)))
}
Self::InList { lhs, not, rhs } => {
lhs.to_tokens_with_context(s, context)?;