Trait QueryBuilder
pub trait QueryBuilder:
QuotedBuilder
+ EscapeBuilder
+ TableRefBuilder
+ OperLeftAssocDecider
+ PrecedenceDecider
+ Sized {
Show 68 methods
// Required methods
fn prepare_query_statement(
&self,
query: &SubQueryStatement,
sql: &mut impl SqlWriter,
);
fn prepare_select_into(
&self,
into_table: &SelectInto,
sql: &mut impl SqlWriter,
);
fn prepare_value(&self, value: Value, sql: &mut impl SqlWriter);
// Provided methods
fn placeholder(&self) -> (&'static str, bool) { ... }
fn values_list_tuple_prefix(&self) -> &str { ... }
fn prepare_insert_statement(
&self,
insert: &InsertStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_insert_statement_common(
&self,
insert: &InsertStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_union_statement(
&self,
union_type: UnionType,
select_statement: &SelectStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_select_statement(
&self,
select: &SelectStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_select_limit_offset(
&self,
select: &SelectStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_update_statement(
&self,
update: &UpdateStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_update_join(
&self,
_: &[TableRef],
_: &ConditionHolder,
_: &mut impl SqlWriter,
) { ... }
fn prepare_update_from(&self, from: &[TableRef], sql: &mut impl SqlWriter) { ... }
fn prepare_update_column(
&self,
_: &Option<Box<TableRef>>,
_: &[TableRef],
column: &DynIden,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_update_condition(
&self,
_: &[TableRef],
condition: &ConditionHolder,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_update_order_by(
&self,
update: &UpdateStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_update_limit(
&self,
update: &UpdateStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_delete_statement(
&self,
delete: &DeleteStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_delete_order_by(
&self,
delete: &DeleteStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_delete_limit(
&self,
delete: &DeleteStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_expr(&self, simple_expr: &Expr, sql: &mut impl SqlWriter) { ... }
fn prepare_expr_common(&self, simple_expr: &Expr, sql: &mut impl SqlWriter) { ... }
fn prepare_case_statement(
&self,
stmts: &CaseStatement,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_select_distinct(
&self,
select_distinct: &SelectDistinct,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_index_hints(
&self,
_table_ref: &TableRef,
_select: &SelectStatement,
_sql: &mut impl SqlWriter,
) { ... }
fn prepare_table_sample(
&self,
_select: &SelectStatement,
_sql: &mut impl SqlWriter,
) { ... }
fn prepare_select_lock(&self, lock: &LockClause, sql: &mut impl SqlWriter) { ... }
fn prepare_select_expr(
&self,
select_expr: &SelectExpr,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_join_expr(&self, join_expr: &JoinExpr, sql: &mut impl SqlWriter) { ... }
fn prepare_join_table_ref(
&self,
join_expr: &JoinExpr,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_table_ref(&self, table_ref: &TableRef, sql: &mut impl SqlWriter) { ... }
fn prepare_column_ref(
&self,
column_ref: &ColumnRef,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_un_oper(&self, un_oper: &UnOper, sql: &mut impl SqlWriter) { ... }
fn prepare_bin_oper_common(
&self,
bin_oper: &BinOper,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_bin_oper(&self, bin_oper: &BinOper, sql: &mut impl SqlWriter) { ... }
fn prepare_sub_query_oper(
&self,
oper: &SubQueryOper,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_logical_chain_oper(
&self,
log_chain_oper: &LogicalChainOper,
i: usize,
length: usize,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_function_name_common(
&self,
function: &Func,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_function_arguments(
&self,
func: &FunctionCall,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_with_query(&self, query: &WithQuery, sql: &mut impl SqlWriter) { ... }
fn prepare_with_clause(
&self,
with_clause: &WithClause,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_with_clause_recursive_options(
&self,
with_clause: &WithClause,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_with_clause_common_tables(
&self,
with_clause: &WithClause,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_with_query_clause_common_table(
&self,
cte: &CommonTableExpression,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_with_query_clause_materialization(
&self,
cte: &CommonTableExpression,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_with_clause_start(
&self,
with_clause: &WithClause,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_insert(&self, replace: bool, sql: &mut impl SqlWriter) { ... }
fn prepare_function_name(&self, function: &Func, sql: &mut impl SqlWriter) { ... }
fn prepare_type_ref(&self, type_name: &TypeRef, sql: &mut impl SqlWriter) { ... }
fn prepare_join_type(&self, join_type: &JoinType, sql: &mut impl SqlWriter) { ... }
fn prepare_join_type_common(
&self,
join_type: &JoinType,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_order_expr(
&self,
order_expr: &OrderExpr,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_join_on(&self, join_on: &JoinOn, sql: &mut impl SqlWriter) { ... }
fn prepare_order(&self, order_expr: &OrderExpr, sql: &mut impl SqlWriter) { ... }
fn prepare_field_order(
&self,
order_expr: &OrderExpr,
values: &Values,
sql: &mut impl SqlWriter,
) { ... }
fn prepare_constant(&self, value: &Value, sql: &mut impl SqlWriter) { ... }
fn prepare_values_list(
&self,
value_tuples: &[ValueTuple],
sql: &mut impl SqlWriter,
) { ... }
fn prepare_values_rows(&self, values: &[Values], sql: &mut impl SqlWriter) { ... }
fn prepare_tuple(&self, exprs: &[Expr], sql: &mut impl SqlWriter) { ... }
fn prepare_keyword(&self, keyword: &Keyword, sql: &mut impl SqlWriter) { ... }
fn value_to_string(&self, v: &Value) -> String { ... }
fn value_to_string_common(&self, v: &Value) -> String { ... }
fn prepare_on_conflict_action_common(
&self,
on_conflict_action: &Option<OnConflictAction>,
sql: &mut impl SqlWriter,
) { ... }
fn write_string_quoted(&self, string: &str, buffer: &mut impl Write) { ... }
fn insert_default_keyword(&self) -> &str { ... }
fn insert_default_values(&self, num_rows: u32, sql: &mut impl SqlWriter) { ... }
fn prepare_constant_true(&self, sql: &mut impl SqlWriter) { ... }
fn prepare_constant_false(&self, sql: &mut impl SqlWriter) { ... }
}Required Methods§
fn prepare_query_statement(
&self,
query: &SubQueryStatement,
sql: &mut impl SqlWriter,
)
fn prepare_query_statement( &self, query: &SubQueryStatement, sql: &mut impl SqlWriter, )
Translate QueryStatement into SQL statement.
fn prepare_select_into(&self, into_table: &SelectInto, sql: &mut impl SqlWriter)
fn prepare_value(&self, value: Value, sql: &mut impl SqlWriter)
fn prepare_value(&self, value: Value, sql: &mut impl SqlWriter)
Write Value into SQL statement as parameter.
Provided Methods§
fn placeholder(&self) -> (&'static str, bool)
fn placeholder(&self) -> (&'static str, bool)
The type of placeholder the builder uses for values, and whether it is numbered.
fn values_list_tuple_prefix(&self) -> &str
fn values_list_tuple_prefix(&self) -> &str
Prefix for tuples in VALUES list (e.g. ROW for MySQL)
fn prepare_insert_statement(
&self,
insert: &InsertStatement,
sql: &mut impl SqlWriter,
)
fn prepare_insert_statement( &self, insert: &InsertStatement, sql: &mut impl SqlWriter, )
Translate InsertStatement into SQL statement.
fn prepare_insert_statement_common(
&self,
insert: &InsertStatement,
sql: &mut impl SqlWriter,
)
fn prepare_insert_statement_common( &self, insert: &InsertStatement, sql: &mut impl SqlWriter, )
Common implementation of [prepare_insert_statement] shared among backends.
fn prepare_union_statement( &self, union_type: UnionType, select_statement: &SelectStatement, sql: &mut impl SqlWriter, )
fn prepare_select_statement(
&self,
select: &SelectStatement,
sql: &mut impl SqlWriter,
)
fn prepare_select_statement( &self, select: &SelectStatement, sql: &mut impl SqlWriter, )
Translate SelectStatement into SQL statement.
fn prepare_select_limit_offset( &self, select: &SelectStatement, sql: &mut impl SqlWriter, )
fn prepare_update_statement(
&self,
update: &UpdateStatement,
sql: &mut impl SqlWriter,
)
fn prepare_update_statement( &self, update: &UpdateStatement, sql: &mut impl SqlWriter, )
Translate UpdateStatement into SQL statement.
fn prepare_update_join( &self, _: &[TableRef], _: &ConditionHolder, _: &mut impl SqlWriter, )
fn prepare_update_from(&self, from: &[TableRef], sql: &mut impl SqlWriter)
fn prepare_update_column( &self, _: &Option<Box<TableRef>>, _: &[TableRef], column: &DynIden, sql: &mut impl SqlWriter, )
fn prepare_update_condition( &self, _: &[TableRef], condition: &ConditionHolder, sql: &mut impl SqlWriter, )
fn prepare_update_order_by(
&self,
update: &UpdateStatement,
sql: &mut impl SqlWriter,
)
fn prepare_update_order_by( &self, update: &UpdateStatement, sql: &mut impl SqlWriter, )
Translate ORDER BY expression in UpdateStatement.
fn prepare_update_limit(
&self,
update: &UpdateStatement,
sql: &mut impl SqlWriter,
)
fn prepare_update_limit( &self, update: &UpdateStatement, sql: &mut impl SqlWriter, )
Translate LIMIT expression in UpdateStatement.
fn prepare_delete_statement(
&self,
delete: &DeleteStatement,
sql: &mut impl SqlWriter,
)
fn prepare_delete_statement( &self, delete: &DeleteStatement, sql: &mut impl SqlWriter, )
Translate DeleteStatement into SQL statement.
fn prepare_delete_order_by(
&self,
delete: &DeleteStatement,
sql: &mut impl SqlWriter,
)
fn prepare_delete_order_by( &self, delete: &DeleteStatement, sql: &mut impl SqlWriter, )
Translate ORDER BY expression in DeleteStatement.
fn prepare_delete_limit(
&self,
delete: &DeleteStatement,
sql: &mut impl SqlWriter,
)
fn prepare_delete_limit( &self, delete: &DeleteStatement, sql: &mut impl SqlWriter, )
Translate LIMIT expression in DeleteStatement.
fn prepare_expr(&self, simple_expr: &Expr, sql: &mut impl SqlWriter)
fn prepare_expr(&self, simple_expr: &Expr, sql: &mut impl SqlWriter)
Translate Expr into SQL statement.
fn prepare_expr_common(&self, simple_expr: &Expr, sql: &mut impl SqlWriter)
fn prepare_case_statement(
&self,
stmts: &CaseStatement,
sql: &mut impl SqlWriter,
)
fn prepare_case_statement( &self, stmts: &CaseStatement, sql: &mut impl SqlWriter, )
Translate CaseStatement into SQL statement.
fn prepare_select_distinct(
&self,
select_distinct: &SelectDistinct,
sql: &mut impl SqlWriter,
)
fn prepare_select_distinct( &self, select_distinct: &SelectDistinct, sql: &mut impl SqlWriter, )
Translate SelectDistinct into SQL statement.
fn prepare_index_hints(
&self,
_table_ref: &TableRef,
_select: &SelectStatement,
_sql: &mut impl SqlWriter,
)
fn prepare_index_hints( &self, _table_ref: &TableRef, _select: &SelectStatement, _sql: &mut impl SqlWriter, )
Translate IndexHint into SQL statement.
fn prepare_table_sample(
&self,
_select: &SelectStatement,
_sql: &mut impl SqlWriter,
)
fn prepare_table_sample( &self, _select: &SelectStatement, _sql: &mut impl SqlWriter, )
Translate TableSample into SQL statement.
fn prepare_select_lock(&self, lock: &LockClause, sql: &mut impl SqlWriter)
fn prepare_select_lock(&self, lock: &LockClause, sql: &mut impl SqlWriter)
Translate LockType into SQL statement.
fn prepare_select_expr(
&self,
select_expr: &SelectExpr,
sql: &mut impl SqlWriter,
)
fn prepare_select_expr( &self, select_expr: &SelectExpr, sql: &mut impl SqlWriter, )
Translate SelectExpr into SQL statement.
fn prepare_join_expr(&self, join_expr: &JoinExpr, sql: &mut impl SqlWriter)
fn prepare_join_expr(&self, join_expr: &JoinExpr, sql: &mut impl SqlWriter)
Translate JoinExpr into SQL statement.
fn prepare_join_table_ref(&self, join_expr: &JoinExpr, sql: &mut impl SqlWriter)
fn prepare_table_ref(&self, table_ref: &TableRef, sql: &mut impl SqlWriter)
fn prepare_table_ref(&self, table_ref: &TableRef, sql: &mut impl SqlWriter)
Translate TableRef into SQL statement.
fn prepare_column_ref(&self, column_ref: &ColumnRef, sql: &mut impl SqlWriter)
fn prepare_un_oper(&self, un_oper: &UnOper, sql: &mut impl SqlWriter)
fn prepare_un_oper(&self, un_oper: &UnOper, sql: &mut impl SqlWriter)
Translate UnOper into SQL statement.
fn prepare_bin_oper_common(&self, bin_oper: &BinOper, sql: &mut impl SqlWriter)
fn prepare_bin_oper(&self, bin_oper: &BinOper, sql: &mut impl SqlWriter)
fn prepare_bin_oper(&self, bin_oper: &BinOper, sql: &mut impl SqlWriter)
Translate BinOper into SQL statement.
fn prepare_sub_query_oper(&self, oper: &SubQueryOper, sql: &mut impl SqlWriter)
fn prepare_sub_query_oper(&self, oper: &SubQueryOper, sql: &mut impl SqlWriter)
Translate SubQueryOper into SQL statement.
fn prepare_logical_chain_oper(
&self,
log_chain_oper: &LogicalChainOper,
i: usize,
length: usize,
sql: &mut impl SqlWriter,
)
fn prepare_logical_chain_oper( &self, log_chain_oper: &LogicalChainOper, i: usize, length: usize, sql: &mut impl SqlWriter, )
Translate LogicalChainOper into SQL statement.
fn prepare_function_name_common(
&self,
function: &Func,
sql: &mut impl SqlWriter,
)
fn prepare_function_name_common( &self, function: &Func, sql: &mut impl SqlWriter, )
Translate Function into SQL statement.
fn prepare_function_arguments( &self, func: &FunctionCall, sql: &mut impl SqlWriter, )
fn prepare_with_query(&self, query: &WithQuery, sql: &mut impl SqlWriter)
fn prepare_with_clause( &self, with_clause: &WithClause, sql: &mut impl SqlWriter, )
fn prepare_with_clause_recursive_options( &self, with_clause: &WithClause, sql: &mut impl SqlWriter, )
fn prepare_with_clause_common_tables( &self, with_clause: &WithClause, sql: &mut impl SqlWriter, )
fn prepare_with_query_clause_common_table( &self, cte: &CommonTableExpression, sql: &mut impl SqlWriter, )
fn prepare_with_query_clause_materialization( &self, cte: &CommonTableExpression, sql: &mut impl SqlWriter, )
fn prepare_with_clause_start( &self, with_clause: &WithClause, sql: &mut impl SqlWriter, )
fn prepare_insert(&self, replace: bool, sql: &mut impl SqlWriter)
fn prepare_function_name(&self, function: &Func, sql: &mut impl SqlWriter)
fn prepare_type_ref(&self, type_name: &TypeRef, sql: &mut impl SqlWriter)
fn prepare_type_ref(&self, type_name: &TypeRef, sql: &mut impl SqlWriter)
Translate TypeRef into an SQL statement.
fn prepare_join_type(&self, join_type: &JoinType, sql: &mut impl SqlWriter)
fn prepare_join_type(&self, join_type: &JoinType, sql: &mut impl SqlWriter)
Translate JoinType into SQL statement.
fn prepare_join_type_common( &self, join_type: &JoinType, sql: &mut impl SqlWriter, )
fn prepare_order_expr(&self, order_expr: &OrderExpr, sql: &mut impl SqlWriter)
fn prepare_order_expr(&self, order_expr: &OrderExpr, sql: &mut impl SqlWriter)
Translate OrderExpr into SQL statement.
fn prepare_join_on(&self, join_on: &JoinOn, sql: &mut impl SqlWriter)
fn prepare_join_on(&self, join_on: &JoinOn, sql: &mut impl SqlWriter)
Translate JoinOn into SQL statement.
fn prepare_order(&self, order_expr: &OrderExpr, sql: &mut impl SqlWriter)
fn prepare_order(&self, order_expr: &OrderExpr, sql: &mut impl SqlWriter)
Translate Order into SQL statement.
fn prepare_field_order(
&self,
order_expr: &OrderExpr,
values: &Values,
sql: &mut impl SqlWriter,
)
fn prepare_field_order( &self, order_expr: &OrderExpr, values: &Values, sql: &mut impl SqlWriter, )
Translate Order::Field into SQL statement
fn prepare_constant(&self, value: &Value, sql: &mut impl SqlWriter)
fn prepare_constant(&self, value: &Value, sql: &mut impl SqlWriter)
Write Value inline.
fn prepare_values_list(
&self,
value_tuples: &[ValueTuple],
sql: &mut impl SqlWriter,
)
fn prepare_values_list( &self, value_tuples: &[ValueTuple], sql: &mut impl SqlWriter, )
Translate a &[ValueTuple] into a VALUES list.
fn prepare_values_rows(&self, values: &[Values], sql: &mut impl SqlWriter)
fn prepare_tuple(&self, exprs: &[Expr], sql: &mut impl SqlWriter)
fn prepare_tuple(&self, exprs: &[Expr], sql: &mut impl SqlWriter)
Translate Expr::Tuple into SQL statement.
fn prepare_keyword(&self, keyword: &Keyword, sql: &mut impl SqlWriter)
fn prepare_keyword(&self, keyword: &Keyword, sql: &mut impl SqlWriter)
Translate Keyword into SQL statement.
fn value_to_string(&self, v: &Value) -> String
fn value_to_string(&self, v: &Value) -> String
Convert a SQL value into syntax-specific string
fn value_to_string_common(&self, v: &Value) -> String
fn prepare_on_conflict_action_common( &self, on_conflict_action: &Option<OnConflictAction>, sql: &mut impl SqlWriter, )
fn write_string_quoted(&self, string: &str, buffer: &mut impl Write)
fn insert_default_keyword(&self) -> &str
fn insert_default_keyword(&self) -> &str
The keywords for insert default row.
fn insert_default_values(&self, num_rows: u32, sql: &mut impl SqlWriter)
fn insert_default_values(&self, num_rows: u32, sql: &mut impl SqlWriter)
Write insert default rows expression.
fn prepare_constant_true(&self, sql: &mut impl SqlWriter)
fn prepare_constant_true(&self, sql: &mut impl SqlWriter)
Write TRUE constant
fn prepare_constant_false(&self, sql: &mut impl SqlWriter)
fn prepare_constant_false(&self, sql: &mut impl SqlWriter)
Write FALSE constant
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.