Skip to content

Commit d8cc53c

Browse files
committed
added Wrappers for timeuuid, duration, date, inet
1 parent c13ac2c commit d8cc53c

File tree

1 file changed

+95
-12
lines changed

1 file changed

+95
-12
lines changed

examples/displayer.rs

Lines changed: 95 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
use anyhow::Result;
2-
use futures::StreamExt as _;
3-
use futures::TryStreamExt as _;
4-
use scylla::frame::response::result::Row;
52
use scylla::transport::session::Session;
63
use scylla::DeserializeRow;
74
use scylla::QueryRowsResult;
85
use scylla::SessionBuilder;
9-
use tracing_subscriber::field::display;
106
use std::env;
117

128
#[tokio::main]
@@ -53,14 +49,6 @@ async fn main() -> Result<()> {
5349
.execute_unpaged(&prepared, (44_i32, "I'm prepared 3!"))
5450
.await?;
5551

56-
// Rows can be parsed as tuples
57-
let mut iter = session
58-
.query_iter("SELECT a, b, c FROM examples_ks.basic", &[])
59-
.await?
60-
.rows_stream::<(i32, i32, String)>()?;
61-
while let Some((a, b, c)) = iter.try_next().await? {
62-
println!("a, b, c: {}, {}, {}", a, b, c);
63-
}
6452

6553
// Or as custom structs that derive DeserializeRow
6654
#[allow(unused)]
@@ -80,5 +68,100 @@ async fn main() -> Result<()> {
8068
println!("DISPLAYER:");
8169
println!("{}", displayer);
8270

71+
72+
// example 2
73+
session
74+
.query_unpaged(
75+
"CREATE TABLE IF NOT EXISTS examples_ks.basic4 (a int, b int, c text, d int, timest timestamp, bytes blob, fl float, db double, time1 time, primary key (a, c))",
76+
&[],
77+
)
78+
.await?;
79+
80+
println!("Created table examples_ks.basic2");
81+
session
82+
.query_unpaged(
83+
"INSERT INTO examples_ks.basic4
84+
(a, b, c, d, timest, bytes, fl, db, time1)
85+
VALUES
86+
(1, 10, 'example text', 3, toTimestamp(now()), textAsBlob('sample bytes'), 3.14, 2.718281, '14:30:00');",
87+
&[],
88+
)
89+
.await?;
90+
println!("insert1 done");
91+
92+
println!("SELECT * FROM examples_ks.basic2");
93+
94+
let result2 : QueryRowsResult= session
95+
.query_unpaged("SELECT * FROM examples_ks.basic4", &[])
96+
.await?
97+
.into_rows_result()?;
98+
99+
let displayer = result2.rows_displayer();
100+
println!("DISPLAYER:");
101+
println!("{}", displayer);
102+
103+
// example 3
104+
105+
session
106+
.query_unpaged(
107+
"CREATE TABLE IF NOT EXISTS examples_ks.basic6 (a int, timud timeuuid, date1 date, ipaddr inet, dur duration, primary key (a))",
108+
&[],
109+
)
110+
.await?;
111+
112+
session
113+
.query_unpaged(
114+
"INSERT INTO examples_ks.basic6
115+
(a, timud, date1, ipaddr, dur)
116+
VALUES
117+
(1, now(), '2021-01-01', '3.14.15.9', 1h);",
118+
&[],
119+
)
120+
.await?;
121+
122+
session
123+
.query_unpaged(
124+
"INSERT INTO examples_ks.basic6
125+
(a, timud, date1, ipaddr, dur)
126+
VALUES
127+
(3, NOW(), '2024-01-15', '128.0.0.1', 89h4m48s137ms);", // cqlsh prints this as 89.08003805555556h4.8022833333333335m48.137s137.0ms
128+
&[],
129+
)
130+
.await?;
131+
132+
session
133+
.query_unpaged(
134+
"INSERT INTO examples_ks.basic6
135+
(a, timud, date1, ipaddr, dur)
136+
VALUES
137+
(4, NOW(), '2024-01-15', '192.168.0.14', 13y2w89h4m48s137ms);", // cqlsh prints this as 89.08003805555556h4.8022833333333335m48.137s137.0ms
138+
&[],
139+
)
140+
.await?;
141+
142+
session
143+
.query_unpaged(
144+
"INSERT INTO examples_ks.basic6 (a, timud, date1, ipaddr, dur)
145+
VALUES (2, NOW(), '2024-02-20', '2001:0db8:0:0::1428:57ab', 5d2h);",
146+
&[],
147+
)
148+
.await?;
149+
150+
session
151+
.query_unpaged(
152+
"INSERT INTO examples_ks.basic6 (a, timud, date1, ipaddr, dur)
153+
VALUES (5, NOW(), '-250000-02-20', '2001:db8::1428:57ab', 1y1mo1w1d1h1m1s700ms);",
154+
&[],
155+
)
156+
.await?;
157+
158+
let result2 : QueryRowsResult= session
159+
.query_unpaged("SELECT * FROM examples_ks.basic6", &[])
160+
.await?
161+
.into_rows_result()?;
162+
163+
let displayer = result2.rows_displayer();
164+
println!("DISPLAYER:");
165+
println!("{}", displayer);
83166
Ok(())
84167
}

0 commit comments

Comments
 (0)