Skip to content

Commit 5a57079

Browse files
committed
added more examples
1 parent 51cab68 commit 5a57079

File tree

1 file changed

+184
-30
lines changed

1 file changed

+184
-30
lines changed

examples/displayer.rs

Lines changed: 184 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ async fn main() -> Result<()> {
4949
.execute_unpaged(&prepared, (44_i32, "I'm prepared 3!"))
5050
.await?;
5151

52-
5352
// Or as custom structs that derive DeserializeRow
5453
#[allow(unused)]
5554
#[derive(Debug, DeserializeRow)]
@@ -59,16 +58,15 @@ async fn main() -> Result<()> {
5958
c: String,
6059
}
6160

62-
let result : QueryRowsResult= session
61+
let result: QueryRowsResult = session
6362
.query_unpaged("SELECT a, b, c FROM examples_ks.basic", &[])
6463
.await?
6564
.into_rows_result()?;
66-
65+
6766
let displayer = result.rows_displayer();
6867
println!("DISPLAYER:");
6968
println!("{}", displayer);
7069

71-
7270
// example 2
7371
session
7472
.query_unpaged(
@@ -87,12 +85,13 @@ async fn main() -> Result<()> {
8785
)
8886
.await?;
8987

90-
let result2 : QueryRowsResult= session
88+
let result2: QueryRowsResult = session
9189
.query_unpaged("SELECT * FROM examples_ks.basic4", &[])
9290
.await?
9391
.into_rows_result()?;
94-
95-
let displayer = result2.rows_displayer();
92+
93+
let mut displayer = result2.rows_displayer();
94+
displayer.set_blob_displaying(scylla::transport::query_result::ByteDisplaying::Ascii);
9695
println!("DISPLAYER:");
9796
println!("{}", displayer);
9897

@@ -106,63 +105,218 @@ async fn main() -> Result<()> {
106105
.await?;
107106

108107
session
109-
.query_unpaged(
110-
"INSERT INTO examples_ks.basic6
108+
.query_unpaged(
109+
"INSERT INTO examples_ks.basic6
111110
(a, timud, date1, ipaddr, dur)
112111
VALUES
113112
(1, now(), '2021-01-01', '3.14.15.9', 1h);",
113+
&[],
114+
)
115+
.await?;
116+
117+
session
118+
.query_unpaged(
119+
"INSERT INTO examples_ks.basic6
120+
(a, timud, date1, ipaddr, dur)
121+
VALUES
122+
(3, NOW(), '2024-01-15', '128.0.0.1', 89h4m48s137ms);", // cqlsh prints this as 89.08003805555556h4.8022833333333335m48.137s137.0ms
123+
&[],
124+
)
125+
.await?;
126+
127+
session
128+
.query_unpaged(
129+
"INSERT INTO examples_ks.basic6
130+
(a, timud, date1, ipaddr, dur)
131+
VALUES
132+
(4, NOW(), '2024-01-15', '192.168.0.14', 13y2w89h4m48s137ms);",
133+
&[],
134+
)
135+
.await?;
136+
137+
session
138+
.query_unpaged(
139+
"INSERT INTO examples_ks.basic6 (a, timud, date1, ipaddr, dur)
140+
VALUES (2, NOW(), '2024-02-20', '2001:0db8:0:0::1428:57ab', 5d2h);",
141+
&[],
142+
)
143+
.await?;
144+
145+
session
146+
.query_unpaged(
147+
"INSERT INTO examples_ks.basic6 (a, timud, date1, ipaddr, dur)
148+
VALUES (5, NOW(), '-250000-02-20', '2001:db8::1428:57ab', 1y1mo1w1d1h1m1s700ms);",
149+
&[],
150+
)
151+
.await?;
152+
153+
let result2: QueryRowsResult = session
154+
.query_unpaged("SELECT * FROM examples_ks.basic6", &[])
155+
.await?
156+
.into_rows_result()?;
157+
158+
let mut displayer = result2.rows_displayer();
159+
println!("DISPLAYER:");
160+
println!("{}", displayer);
161+
162+
displayer.set_terminal_width(80);
163+
displayer.use_color(false);
164+
println!("DISPLAYER no color, width = 80:");
165+
println!("{}", displayer);
166+
167+
// example 4 - List
168+
// Create a table with a list of text
169+
session
170+
.query_unpaged(
171+
"CREATE TABLE IF NOT EXISTS examples_ks.upcoming_calendar ( year int, month int, events list<text>, PRIMARY KEY ( year, month) )",
114172
&[],
115173
)
116174
.await?;
117175

176+
// Insert some data
118177
session
119178
.query_unpaged(
120-
"INSERT INTO examples_ks.basic6
121-
(a, timud, date1, ipaddr, dur)
122-
VALUES
123-
(3, NOW(), '2024-01-15', '128.0.0.1', 89h4m48s137ms);", // cqlsh prints this as 89.08003805555556h4.8022833333333335m48.137s137.0ms
179+
"INSERT INTO examples_ks.upcoming_calendar(year, month, events) VALUES (2015, 6, ['e1', 'e2', 'e3'])",
124180
&[],
125181
)
126182
.await?;
127183

184+
let result4: QueryRowsResult = session
185+
.query_unpaged("SELECT * FROM examples_ks.upcoming_calendar", &[])
186+
.await?
187+
.into_rows_result()?;
188+
189+
let displayer = result4.rows_displayer();
190+
println!("DISPLAYER 4 - list:");
191+
println!("{}", displayer);
192+
193+
// example 5 - map
194+
// Create a table with a list of text
128195
session
129196
.query_unpaged(
130-
"INSERT INTO examples_ks.basic6
131-
(a, timud, date1, ipaddr, dur)
132-
VALUES
133-
(4, NOW(), '2024-01-15', '192.168.0.14', 13y2w89h4m48s137ms);",
197+
"CREATE TABLE IF NOT EXISTS examples_ks.cyclist_teams ( id UUID PRIMARY KEY, lastname text, firstname text, teams map<int,text> )",
134198
&[],
135199
)
136200
.await?;
137201

202+
// Insert some data
138203
session
139204
.query_unpaged(
140-
"INSERT INTO examples_ks.basic6 (a, timud, date1, ipaddr, dur)
141-
VALUES (2, NOW(), '2024-02-20', '2001:0db8:0:0::1428:57ab', 5d2h);",
205+
"INSERT INTO examples_ks.cyclist_teams (id, lastname, firstname, teams)
206+
VALUES (
207+
5b6962dd-3f90-4c93-8f61-eabfa4a803e2,
208+
'VOS',
209+
'Marianne',
210+
{2015 : 'Rabobank-Liv Woman Cycling Team', 2014 : 'Rabobank-Liv Woman Cycling Team', 2013 : 'Rabobank-Liv Giant',
211+
2012 : 'Rabobank Women Team', 2011 : 'Nederland bloeit' })",
212+
&[],
213+
)
214+
.await?;
215+
216+
let result4: QueryRowsResult = session
217+
.query_unpaged("SELECT * FROM examples_ks.cyclist_teams", &[])
218+
.await?
219+
.into_rows_result()?;
220+
221+
let displayer = result4.rows_displayer();
222+
println!("DISPLAYER 5 - map:");
223+
println!("{}", displayer);
224+
225+
// example 6 - set
226+
session
227+
.query_unpaged(
228+
"CREATE TABLE IF NOT EXISTS examples_ks.cyclist_career_teams ( id UUID PRIMARY KEY, lastname text, teams set<text> );",
142229
&[],
143230
)
144231
.await?;
145232

233+
// Insert some data
146234
session
147235
.query_unpaged(
148-
"INSERT INTO examples_ks.basic6 (a, timud, date1, ipaddr, dur)
149-
VALUES (5, NOW(), '-250000-02-20', '2001:db8::1428:57ab', 1y1mo1w1d1h1m1s700ms);",
236+
"INSERT INTO examples_ks.cyclist_career_teams (id,lastname,teams)
237+
VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a803e2, 'VOS',
238+
{ 'Rabobank-Liv Woman Cycling Team','Rabobank-Liv Giant','Rabobank Women Team','Nederland bloeit' } )",
239+
&[],
240+
)
241+
.await?;
242+
243+
let result4: QueryRowsResult = session
244+
.query_unpaged("SELECT * FROM examples_ks.cyclist_career_teams", &[])
245+
.await?
246+
.into_rows_result()?;
247+
248+
let displayer = result4.rows_displayer();
249+
println!("DISPLAYER 6 - set:");
250+
println!("{}", displayer);
251+
252+
// example 7 - user defined type
253+
session
254+
.query_unpaged(
255+
"CREATE TYPE IF NOT EXISTS examples_ks.basic_info (
256+
birthday timestamp,
257+
nationality text,
258+
weight text,
259+
height text
260+
)",
261+
&[],
262+
)
263+
.await?;
264+
265+
// make table
266+
session
267+
.query_unpaged(
268+
"CREATE TABLE IF NOT EXISTS examples_ks.cyclist_stats ( id uuid PRIMARY KEY, lastname text, basics FROZEN<basic_info>)",
150269
&[],
151270
)
152271
.await?;
153272

154-
let result2 : QueryRowsResult= session
155-
.query_unpaged("SELECT * FROM examples_ks.basic6", &[])
273+
// Insert some data
274+
session
275+
.query_unpaged(
276+
"INSERT INTO examples_ks.cyclist_stats (id, lastname, basics) VALUES (
277+
e7ae5cf3-d358-4d99-b900-85902fda9bb0,
278+
'FRAME',
279+
{ birthday : '1993-06-18', nationality : 'New Zealand', weight : null, height : null }
280+
)",
281+
&[],
282+
)
283+
.await?;
284+
285+
let result4: QueryRowsResult = session
286+
.query_unpaged("SELECT * FROM examples_ks.cyclist_stats", &[])
156287
.await?
157288
.into_rows_result()?;
158-
159-
let mut displayer = result2.rows_displayer();
160-
println!("DISPLAYER:");
289+
290+
let displayer = result4.rows_displayer();
291+
println!("DISPLAYER 7 - UDT:");
161292
println!("{}", displayer);
162-
163-
displayer.set_terminal_width(80);
164-
displayer.use_color(false);
165-
println!("DISPLAYER no color, width = 80:");
293+
294+
// example 8 - tuples
295+
296+
// make table
297+
session
298+
.query_unpaged(
299+
"CREATE TABLE IF NOT EXISTS examples_ks.route (race_id int, race_name text, point_id int, lat_long tuple<text, tuple<float,float>>, PRIMARY KEY (race_id, point_id))",
300+
&[],
301+
)
302+
.await?;
303+
304+
// Insert some data
305+
session
306+
.query_unpaged(
307+
"INSERT INTO examples_ks.route (race_id, race_name, point_id, lat_long) VALUES (500, '47th Tour du Pays de Vaud', 2, ('Champagne', (46.833, 6.65)))",
308+
&[],
309+
)
310+
.await?;
311+
312+
let result4: QueryRowsResult = session
313+
.query_unpaged("SELECT * FROM examples_ks.route", &[])
314+
.await?
315+
.into_rows_result()?;
316+
317+
let displayer = result4.rows_displayer();
318+
println!("DISPLAYER 8 - tuples:");
166319
println!("{}", displayer);
320+
167321
Ok(())
168322
}

0 commit comments

Comments
 (0)