1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
use backend::Backend; use query_builder::*; use query_source::Column; use result::QueryResult; /// Represents the column list for use in an insert statement. /// /// This trait is implemented by columns and tuples of columns. pub trait ColumnList { /// The table these columns belong to type Table; /// Generate the SQL for this column list. /// /// Column names must *not* be qualified. fn walk_ast<DB: Backend>(&self, out: AstPass<DB>) -> QueryResult<()>; } impl<C> ColumnList for C where C: Column, { type Table = <C as Column>::Table; fn walk_ast<DB: Backend>(&self, mut out: AstPass<DB>) -> QueryResult<()> { out.push_identifier(C::NAME)?; Ok(()) } }