1use crate::{
2 DynQuery, TableRef,
3 writer::{Context, SqlWriter},
4};
5
6pub trait DataSet {
11 fn qualified_columns() -> bool
13 where
14 Self: Sized;
15 fn write_query(&self, writer: &dyn SqlWriter, context: &mut Context, out: &mut DynQuery);
17 fn table_ref(&self) -> TableRef;
19}
20
21impl DataSet for &dyn DataSet {
22 fn qualified_columns() -> bool
23 where
24 Self: Sized,
25 {
26 unreachable!("Cannot call static qualified_columns on a dyn object directly");
27 }
28 fn write_query(&self, writer: &dyn SqlWriter, context: &mut Context, out: &mut DynQuery) {
29 (*self).write_query(writer, context, out)
30 }
31 fn table_ref(&self) -> TableRef {
32 (*self).table_ref()
33 }
34}