@@ -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