Expand description
halo sqlx
Re-exports§
pub use crate::args::Args;pub use crate::args::CompileError;pub use crate::builder::build;pub use crate::builder::build_named;pub use crate::builder::buildf;pub use crate::builder::with_flavor;pub use crate::cond::Cond;pub use crate::create_table::CreateTableBuilder;pub use crate::cte::CTEBuilder;pub use crate::cte::with;pub use crate::cte::with_recursive;pub use crate::cte_query::CTEQueryBuilder;pub use crate::delete::DeleteBuilder;pub use crate::dialect::Dialect;pub use crate::expr::Expr;pub use crate::field_mapper::FieldMapperFunc;pub use crate::field_mapper::default_field_mapper;pub use crate::field_mapper::identity_mapper;pub use crate::field_mapper::set_default_field_mapper;pub use crate::field_mapper::set_default_field_mapper_scoped;pub use crate::field_mapper::snake_case_mapper;pub use crate::flavor::Flavor;pub use crate::flavor::InterpolateError;pub use crate::flavor::default_flavor;pub use crate::flavor::set_default_flavor;pub use crate::flavor::set_default_flavor_scoped;pub use crate::insert::InsertBuilder;pub use crate::modifiers::FlattenIntoArgs;pub use crate::modifiers::Raw;pub use crate::modifiers::RcBuilder;pub use crate::modifiers::SqlNamedArg;pub use crate::modifiers::escape;pub use crate::modifiers::escape_all;pub use crate::modifiers::flatten;pub use crate::modifiers::list;pub use crate::modifiers::named;pub use crate::modifiers::raw;pub use crate::modifiers::rc_builder;pub use crate::modifiers::tuple;pub use crate::modifiers::tuple_names;pub use crate::scan::ScanCell;pub use crate::scan::ScanError;pub use crate::scan::scan_tokens;pub use crate::select::JoinOption;pub use crate::select::SelectBuilder;pub use crate::structs::FieldMeta;pub use crate::structs::FieldOpt;pub use crate::structs::SqlStruct;pub use crate::structs::Struct;pub use crate::union::UnionBuilder;pub use crate::update::UpdateBuilder;pub use crate::value::SqlValue;pub use crate::valuer::SqlValuer;pub use crate::valuer::ValuerError;pub use crate::where_clause::WhereClause;pub use crate::where_clause::WhereClauseBuilder;pub use crate::where_clause::WhereClauseRef;pub use crate::where_clause::copy_where_clause;
Modules§
- args
- Args:存储参数并把含
$语法的 format 编译成最终 SQL(对齐 go-sqlbuilderargs.go)。 - builder
- Build / BuildNamed / Buildf 等自由拼接能力(对齐 go-sqlbuilder
builder.go)。 - cond
- Cond:用于构造 WHERE 条件表达式(对齐 go-sqlbuilder
cond.go)。 - create_
table - CreateTableBuilder:构建 CREATE TABLE(对齐 go-sqlbuilder
createtable.go)。 - cte
- CTEBuilder:构建 WITH / WITH RECURSIVE(对齐 go-sqlbuilder
cte.go)。 - cte_
query - CTEQueryBuilder:构建一个 CTE 表(对齐 go-sqlbuilder
ctequery.go)。 - delete
- DeleteBuilder:构建 DELETE 语句(对齐 go-sqlbuilder
delete.go的核心行为)。 - dialect
- SQL 占位符方言支持。
- expr
- SQL 表达式片段。
- field_
mapper - Field mapper:把 Rust 字段名映射为列名(对齐 go-sqlbuilder
fieldmapper.go)。 - flavor
- SQL Flavor(方言):控制占位符、Quote、Interpolate 等行为。
- injection
- injection:按 marker 注入额外 SQL 片段(对齐 go-sqlbuilder
injection.go)。 - insert
- InsertBuilder:构建 INSERT 语句(对齐 go-sqlbuilder
insert.go的核心行为)。 - interpolate
- SQL 插值:将
sql中的占位符替换为args的字面量(对齐 go-sqlbuilderinterpolate.go)。 - macros
- 宏集合:为 builder 提供 Go 式的可变参数调用封装。
通过
select_cols!/where_exprs!等宏,可以使用不定长字符串参数而无需手动创建Vec。 - modifiers
- 参数修饰器与辅助函数(对齐 go-sqlbuilder
modifiers.go)。 - scan
- Scan:为
Struct::addr*提供可写入的“扫描目标”(对齐 go-sqlbuilder 的 Addr/Scan 体验)。 - select
- SelectBuilder:构建 SELECT 语句(对齐 go-sqlbuilder
select.go的核心行为)。 - string_
builder - 高效的字符串拼接工具(对齐 go-sqlbuilder 的 stringBuilder 行为)。
- structs
- Struct:轻量 ORM(参考 go-sqlbuilder 的 Struct/structfields 实现)。
- union
- UnionBuilder:构建 UNION / UNION ALL(对齐 go-sqlbuilder
union.go的核心行为)。 - update
- UpdateBuilder:构建 UPDATE 语句(对齐 go-sqlbuilder
update.go的核心行为)。 - value
- SQL 参数值类型。
- valuer
- SqlValuer:对齐 go-sqlbuilder 对
database/sql/driver.Valuer的支持(最小子集)。 - where_
clause - WhereClause:可复用 WHERE 子句(对齐 go-sqlbuilder
whereclause.go)。
Macros§
- create_
table_ define - 为
CreateTableBuilder::define提供 Go 风格的可变参数调用。 - create_
table_ option - 为
CreateTableBuilder::option提供 Go 风格的可变参数调用。 - cte_
delete_ from - 为
CTEBuilder::delete_from提供 Go 风格的可变参数调用。 - cte_
query_ table - 为
CTEQueryBuilder::table提供 Go 风格的列名参数。 - cte_
select_ cols - 为
CTEBuilder::select提供 Go 风格的可变参数调用。 - cte_
update_ tables - 为
CTEBuilder::update提供 Go 风格的可变参数调用。 - delete_
from_ tables - 为
DeleteBuilder::delete_from提供 Go 风格的可变参数调用。 - from_
tables - 为
SelectBuilder::from提供 Go 风格的可变参数调用。 - group_
by_ cols - 为
group_by提供 Go 风格的可变参数调用。 - having_
exprs - 为
having提供 Go 风格的可变参数调用。 - insert_
cols - 为
InsertBuilder::cols提供 Go 风格的可变参数调用。 - insert_
select_ cols - 为
InsertBuilder::select提供 Go 风格的可变参数调用。 - join_on
- 为
SelectBuilder::join提供 Go 风格的可变参数调用。 - join_
with_ option - 为
SelectBuilder::join_with_option提供 Go 风格的可变参数调用。 - order_
by_ cols - 为
order_by提供 Go 风格的可变参数调用。 - returning_
cols - 为所有
returning调用提供 Go 风格的可变参数调用。 - select_
cols - 为
SelectBuilder::select提供 Go 风格的可变参数调用。 - select_
more_ cols - 为
SelectBuilder::select_more提供 Go 风格的可变参数调用。 - sql_
struct - 声明一个可用于
Struct<T>的业务 struct 元数据与取值逻辑。 - struct_
with_ tag - 为
Struct::with_tag提供 Go 风格的可变参数调用。 - struct_
without_ tag - 为
Struct::without_tag提供 Go 风格的可变参数调用。 - update_
set - 为
UpdateBuilder::set提供 Go 风格的可变参数调用。 - update_
set_ more - 为
UpdateBuilder::set_more提供 Go 风格的可变参数调用。 - update_
tables - 为
UpdateBuilder::update提供 Go 风格的可变参数调用。 - where_
exprs - 为所有
where_调用提供 Go 风格的可变参数调用(Select/Update/Delete)。