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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//! Compile-time SQL query building for Rust.
//!
//! This crate provides a compile-time SQL macro with schema-safe field references
//! and automatic parameter binding.
//!
//! # Quick Start
//!
//! ```ignore
//! use sqlw::{schema, query_qmark as query};
//!
//! // Define your table schema
//! schema!(User "users" {
//! ID: i64 "id",
//! NAME: String "name",
//! EMAIL: String "email",
//! });
//!
//! // Build queries with schema-safe field references
//! let user_id = 42;
//! let query = query!(
//! SELECT User::NAME, User::EMAIL
//! FROM User::TABLE
//! WHERE User::ID = {user_id}
//! );
//!
//! query.sql(); // "SELECT name, email FROM users WHERE id = ?"
//! query.args(); // [Int(42)]
//! ```
//!
//! # Modules
//!
//! - [`backend`] - Query execution trait and row-mapping types
//! - [`schema!`] - Table schema definitions
//! - [`value`] - SQL value types and conversions
//!
//! [`sqlw-backend`](https://docs.rs/sqlw-backend) ([local](../sqlw_backend/index.html), [git](https://github.com/mrVncius/sqlw))
pub use *;
pub use *;
pub use *;
pub use *;
/// A compiled SQL query with bound parameters.
///
/// Created by the [`query_qmark!`] or [`query_numbered!`] macros.
/// Use [`split`](Self::split) to get the SQL string and arguments for execution,
/// or [`sql`](Self::sql) and [`args`](Self::args) to get them separately.