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
// use query_macros::IntoQuery;
// use sqlx::{Pool, Sqlite};
// use query::{prelude::*, PrepareStatement};
// use query::{select_st::SelectSt, QuickQuery};
//
//
// #[tokio::test]
// async fn quick_queries() {
// let conn = Pool::<Sqlite>::connect(":memory:").await.unwrap();
// let mut stmt = stmt::select("Todos", ());
//
// sqlx::query("CREATE TABLE Todos ( id INTEGER PRIMARY KEY, title TEXT NOT NULL);")
// .execute(&conn)
// .await
// .unwrap();
//
// sqlx::query("INSERT INTO Todos (title) VALUES ('hi'), ('new todo'), ('new todo 2');")
// .execute(&conn)
// .await
// .unwrap();
//
// stmt.select(col("title"));
// stmt.select(col("id"));
//
// stmt.where_(col("id").eq(|| 1));
//
// let stmt = stmt.prepare::<(String, i32)>();
//
// let sql = stmt.sql_str();
// assert_eq!(sql, "SELECT title, id FROM Todos WHERE id = $1;");
//
// let res = stmt.fetch_all(&conn).await.unwrap();
//
// assert_eq!(vec![("hi".to_string(), 1),], res);
// }
//
// #[derive(Debug, IntoQuery)]
// struct Input {
// id: i32,
// }
//
// #[tokio::test]
// async fn prepared_queries() {
// let conn = Pool::<Sqlite>::connect(":memory:").await.unwrap();
// // let mut stmt = SelectSt::<
// // Sqlite,
// // PrepareStatement<Sqlite, (Input,)>,
// // >::from("Todos");
// let (input, mut stmt) =
// stmt::select("Todos", prepared_stmt::<Input>());
//
// sqlx::query("CREATE TABLE Todos ( id INTEGER PRIMARY KEY, title TEXT NOT NULL);")
// .execute(&conn)
// .await
// .unwrap();
//
// sqlx::query("INSERT INTO Todos (title) VALUES ('hi'), ('new todo'), ('new todo 2');")
// .execute(&conn)
// .await
// .unwrap();
//
// stmt.select(col("title"));
// stmt.select(col("id"));
//
// stmt.where_(col("id").eq(input.id));
//
// let stmt = stmt.prepare::<(String, i32)>();
//
// let sql = stmt.as_str();
// assert_eq!(sql, "SELECT title, id FROM Todos WHERE id = $1;");
//
// let res = stmt.fetch_all(Input { id: 1 }, &conn).await.unwrap();
//
// assert_eq!(vec![("hi".to_string(), 1),], res);
//
// let res = stmt.fetch_all(Input { id: 2 }, &conn).await.unwrap();
// assert_eq!(vec![("new todo".to_string(), 2),], res);
// }