@@ -41,61 +41,50 @@ pub(super) struct QueryBuilder {
41
41
#[ allow( dead_code) ]
42
42
impl QueryBuilder {
43
43
pub fn with ( & mut self , value : Option < ast:: With > ) -> & mut Self {
44
- let new = self ;
45
- new. with = value;
46
- new
44
+ self . with = value;
45
+ self
47
46
}
48
47
pub fn body ( & mut self , value : Box < ast:: SetExpr > ) -> & mut Self {
49
- let new = self ;
50
- new. body = Option :: Some ( value) ;
51
- new
48
+ self . body = Some ( value) ;
49
+ self
52
50
}
53
51
pub fn take_body ( & mut self ) -> Option < Box < ast:: SetExpr > > {
54
52
self . body . take ( )
55
53
}
56
54
pub fn order_by ( & mut self , value : Vec < ast:: OrderByExpr > ) -> & mut Self {
57
- let new = self ;
58
- new. order_by = value;
59
- new
55
+ self . order_by = value;
56
+ self
60
57
}
61
58
pub fn limit ( & mut self , value : Option < ast:: Expr > ) -> & mut Self {
62
- let new = self ;
63
- new. limit = value;
64
- new
59
+ self . limit = value;
60
+ self
65
61
}
66
62
pub fn limit_by ( & mut self , value : Vec < ast:: Expr > ) -> & mut Self {
67
- let new = self ;
68
- new. limit_by = value;
69
- new
63
+ self . limit_by = value;
64
+ self
70
65
}
71
66
pub fn offset ( & mut self , value : Option < ast:: Offset > ) -> & mut Self {
72
- let new = self ;
73
- new. offset = value;
74
- new
67
+ self . offset = value;
68
+ self
75
69
}
76
70
pub fn fetch ( & mut self , value : Option < ast:: Fetch > ) -> & mut Self {
77
- let new = self ;
78
- new. fetch = value;
79
- new
71
+ self . fetch = value;
72
+ self
80
73
}
81
74
pub fn locks ( & mut self , value : Vec < ast:: LockClause > ) -> & mut Self {
82
- let new = self ;
83
- new. locks = value;
84
- new
75
+ self . locks = value;
76
+ self
85
77
}
86
78
pub fn for_clause ( & mut self , value : Option < ast:: ForClause > ) -> & mut Self {
87
- let new = self ;
88
- new. for_clause = value;
89
- new
79
+ self . for_clause = value;
80
+ self
90
81
}
91
82
pub fn build ( & self ) -> Result < ast:: Query , BuilderError > {
92
83
Ok ( ast:: Query {
93
84
with : self . with . clone ( ) ,
94
85
body : match self . body {
95
86
Some ( ref value) => value. clone ( ) ,
96
- None => {
97
- return Result :: Err ( Into :: into ( UninitializedFieldError :: from ( "body" ) ) )
98
- }
87
+ None => return Err ( Into :: into ( UninitializedFieldError :: from ( "body" ) ) ) ,
99
88
} ,
100
89
order_by : self . order_by . clone ( ) ,
101
90
limit : self . limit . clone ( ) ,
@@ -148,90 +137,74 @@ pub(super) struct SelectBuilder {
148
137
#[ allow( dead_code) ]
149
138
impl SelectBuilder {
150
139
pub fn distinct ( & mut self , value : Option < ast:: Distinct > ) -> & mut Self {
151
- let new = self ;
152
- new. distinct = value;
153
- new
140
+ self . distinct = value;
141
+ self
154
142
}
155
143
pub fn top ( & mut self , value : Option < ast:: Top > ) -> & mut Self {
156
- let new = self ;
157
- new. top = value;
158
- new
144
+ self . top = value;
145
+ self
159
146
}
160
147
pub fn projection ( & mut self , value : Vec < ast:: SelectItem > ) -> & mut Self {
161
- let new = self ;
162
- new. projection = value;
163
- new
148
+ self . projection = value;
149
+ self
164
150
}
165
151
pub fn already_projected ( & self ) -> bool {
166
152
!self . projection . is_empty ( )
167
153
}
168
154
pub fn into ( & mut self , value : Option < ast:: SelectInto > ) -> & mut Self {
169
- let new = self ;
170
- new. into = value;
171
- new
155
+ self . into = value;
156
+ self
172
157
}
173
158
pub fn from ( & mut self , value : Vec < TableWithJoinsBuilder > ) -> & mut Self {
174
- let new = self ;
175
- new. from = value;
176
- new
159
+ self . from = value;
160
+ self
177
161
}
178
162
pub fn push_from ( & mut self , value : TableWithJoinsBuilder ) -> & mut Self {
179
- let new = self ;
180
- new. from . push ( value) ;
181
- new
163
+ self . from . push ( value) ;
164
+ self
182
165
}
183
166
pub fn pop_from ( & mut self ) -> Option < TableWithJoinsBuilder > {
184
167
self . from . pop ( )
185
168
}
186
169
pub fn lateral_views ( & mut self , value : Vec < ast:: LateralView > ) -> & mut Self {
187
- let new = self ;
188
- new. lateral_views = value;
189
- new
170
+ self . lateral_views = value;
171
+ self
190
172
}
191
173
pub fn selection ( & mut self , value : Option < ast:: Expr > ) -> & mut Self {
192
- let new = self ;
193
- new. selection = value;
194
- new
174
+ self . selection = value;
175
+ self
195
176
}
196
177
pub fn group_by ( & mut self , value : ast:: GroupByExpr ) -> & mut Self {
197
- let new = self ;
198
- new. group_by = Option :: Some ( value) ;
199
- new
178
+ self . group_by = Some ( value) ;
179
+ self
200
180
}
201
181
pub fn cluster_by ( & mut self , value : Vec < ast:: Expr > ) -> & mut Self {
202
- let new = self ;
203
- new. cluster_by = value;
204
- new
182
+ self . cluster_by = value;
183
+ self
205
184
}
206
185
pub fn distribute_by ( & mut self , value : Vec < ast:: Expr > ) -> & mut Self {
207
- let new = self ;
208
- new. distribute_by = value;
209
- new
186
+ self . distribute_by = value;
187
+ self
210
188
}
211
189
pub fn sort_by ( & mut self , value : Vec < ast:: Expr > ) -> & mut Self {
212
- let new = self ;
213
- new. sort_by = value;
214
- new
190
+ self . sort_by = value;
191
+ self
215
192
}
216
193
pub fn having ( & mut self , value : Option < ast:: Expr > ) -> & mut Self {
217
- let new = self ;
218
- new. having = value;
219
- new
194
+ self . having = value;
195
+ self
220
196
}
221
197
pub fn named_window ( & mut self , value : Vec < ast:: NamedWindowDefinition > ) -> & mut Self {
222
- let new = self ;
223
- new. named_window = value;
224
- new
198
+ self . named_window = value;
199
+ self
225
200
}
226
201
pub fn qualify ( & mut self , value : Option < ast:: Expr > ) -> & mut Self {
227
- let new = self ;
228
- new. qualify = value;
229
- new
202
+ self . qualify = value;
203
+ self
230
204
}
231
205
pub fn value_table_mode ( & mut self , value : Option < ast:: ValueTableMode > ) -> & mut Self {
232
- let new = self ;
233
- new. value_table_mode = value;
234
- new
206
+ self . value_table_mode = value;
207
+ self
235
208
}
236
209
pub fn build ( & self ) -> Result < ast:: Select , BuilderError > {
237
210
Ok ( ast:: Select {
@@ -249,9 +222,7 @@ impl SelectBuilder {
249
222
group_by : match self . group_by {
250
223
Some ( ref value) => value. clone ( ) ,
251
224
None => {
252
- return Result :: Err ( Into :: into ( UninitializedFieldError :: from (
253
- "group_by" ,
254
- ) ) )
225
+ return Err ( Into :: into ( UninitializedFieldError :: from ( "group_by" ) ) )
255
226
}
256
227
} ,
257
228
cluster_by : self . cluster_by . clone ( ) ,
@@ -300,20 +271,17 @@ pub(super) struct TableWithJoinsBuilder {
300
271
#[ allow( dead_code) ]
301
272
impl TableWithJoinsBuilder {
302
273
pub fn relation ( & mut self , value : RelationBuilder ) -> & mut Self {
303
- let new = self ;
304
- new. relation = Option :: Some ( value) ;
305
- new
274
+ self . relation = Some ( value) ;
275
+ self
306
276
}
307
277
308
278
pub fn joins ( & mut self , value : Vec < ast:: Join > ) -> & mut Self {
309
- let new = self ;
310
- new. joins = value;
311
- new
279
+ self . joins = value;
280
+ self
312
281
}
313
282
pub fn push_join ( & mut self , value : ast:: Join ) -> & mut Self {
314
- let new = self ;
315
- new. joins . push ( value) ;
316
- new
283
+ self . joins . push ( value) ;
284
+ self
317
285
}
318
286
319
287
pub fn build ( & self ) -> Result < Option < ast:: TableWithJoins > , BuilderError > {
@@ -360,19 +328,16 @@ impl RelationBuilder {
360
328
self . relation . is_some ( )
361
329
}
362
330
pub fn table ( & mut self , value : TableRelationBuilder ) -> & mut Self {
363
- let new = self ;
364
- new. relation = Option :: Some ( TableFactorBuilder :: Table ( value) ) ;
365
- new
331
+ self . relation = Some ( TableFactorBuilder :: Table ( value) ) ;
332
+ self
366
333
}
367
334
pub fn derived ( & mut self , value : DerivedRelationBuilder ) -> & mut Self {
368
- let new = self ;
369
- new. relation = Option :: Some ( TableFactorBuilder :: Derived ( value) ) ;
370
- new
335
+ self . relation = Some ( TableFactorBuilder :: Derived ( value) ) ;
336
+ self
371
337
}
372
338
pub fn empty ( & mut self ) -> & mut Self {
373
- let new = self ;
374
- new. relation = Some ( TableFactorBuilder :: Empty ) ;
375
- new
339
+ self . relation = Some ( TableFactorBuilder :: Empty ) ;
340
+ self
376
341
}
377
342
pub fn alias ( & mut self , value : Option < ast:: TableAlias > ) -> & mut Self {
378
343
let new = self ;
@@ -393,9 +358,7 @@ impl RelationBuilder {
393
358
Some ( TableFactorBuilder :: Table ( ref value) ) => Some ( value. build ( ) ?) ,
394
359
Some ( TableFactorBuilder :: Derived ( ref value) ) => Some ( value. build ( ) ?) ,
395
360
Some ( TableFactorBuilder :: Empty ) => None ,
396
- None => {
397
- return Result :: Err ( Into :: into ( UninitializedFieldError :: from ( "relation" ) ) )
398
- }
361
+ None => return Err ( Into :: into ( UninitializedFieldError :: from ( "relation" ) ) ) ,
399
362
} )
400
363
}
401
364
fn create_empty ( ) -> Self {
@@ -423,42 +386,34 @@ pub(super) struct TableRelationBuilder {
423
386
#[ allow( dead_code) ]
424
387
impl TableRelationBuilder {
425
388
pub fn name ( & mut self , value : ast:: ObjectName ) -> & mut Self {
426
- let new = self ;
427
- new. name = Option :: Some ( value) ;
428
- new
389
+ self . name = Some ( value) ;
390
+ self
429
391
}
430
392
pub fn alias ( & mut self , value : Option < ast:: TableAlias > ) -> & mut Self {
431
- let new = self ;
432
- new. alias = value;
433
- new
393
+ self . alias = value;
394
+ self
434
395
}
435
396
pub fn args ( & mut self , value : Option < Vec < ast:: FunctionArg > > ) -> & mut Self {
436
- let new = self ;
437
- new. args = value;
438
- new
397
+ self . args = value;
398
+ self
439
399
}
440
400
pub fn with_hints ( & mut self , value : Vec < ast:: Expr > ) -> & mut Self {
441
- let new = self ;
442
- new. with_hints = value;
443
- new
401
+ self . with_hints = value;
402
+ self
444
403
}
445
404
pub fn version ( & mut self , value : Option < ast:: TableVersion > ) -> & mut Self {
446
- let new = self ;
447
- new. version = value;
448
- new
405
+ self . version = value;
406
+ self
449
407
}
450
408
pub fn partitions ( & mut self , value : Vec < ast:: Ident > ) -> & mut Self {
451
- let new = self ;
452
- new. partitions = value;
453
- new
409
+ self . partitions = value;
410
+ self
454
411
}
455
412
pub fn build ( & self ) -> Result < ast:: TableFactor , BuilderError > {
456
413
Ok ( ast:: TableFactor :: Table {
457
414
name : match self . name {
458
415
Some ( ref value) => value. clone ( ) ,
459
- None => {
460
- return Result :: Err ( Into :: into ( UninitializedFieldError :: from ( "name" ) ) )
461
- }
416
+ None => return Err ( Into :: into ( UninitializedFieldError :: from ( "name" ) ) ) ,
462
417
} ,
463
418
alias : self . alias . clone ( ) ,
464
419
args : self . args . clone ( ) ,
@@ -493,36 +448,27 @@ pub(super) struct DerivedRelationBuilder {
493
448
#[ allow( dead_code) ]
494
449
impl DerivedRelationBuilder {
495
450
pub fn lateral ( & mut self , value : bool ) -> & mut Self {
496
- let new = self ;
497
- new. lateral = Option :: Some ( value) ;
498
- new
451
+ self . lateral = Some ( value) ;
452
+ self
499
453
}
500
454
pub fn subquery ( & mut self , value : Box < ast:: Query > ) -> & mut Self {
501
- let new = self ;
502
- new. subquery = Option :: Some ( value) ;
503
- new
455
+ self . subquery = Some ( value) ;
456
+ self
504
457
}
505
458
pub fn alias ( & mut self , value : Option < ast:: TableAlias > ) -> & mut Self {
506
- let new = self ;
507
- new. alias = value;
508
- new
459
+ self . alias = value;
460
+ self
509
461
}
510
462
fn build ( & self ) -> Result < ast:: TableFactor , BuilderError > {
511
463
Ok ( ast:: TableFactor :: Derived {
512
464
lateral : match self . lateral {
513
465
Some ( ref value) => * value,
514
- None => {
515
- return Result :: Err ( Into :: into ( UninitializedFieldError :: from (
516
- "lateral" ,
517
- ) ) )
518
- }
466
+ None => return Err ( Into :: into ( UninitializedFieldError :: from ( "lateral" ) ) ) ,
519
467
} ,
520
468
subquery : match self . subquery {
521
469
Some ( ref value) => value. clone ( ) ,
522
470
None => {
523
- return Result :: Err ( Into :: into ( UninitializedFieldError :: from (
524
- "subquery" ,
525
- ) ) )
471
+ return Err ( Into :: into ( UninitializedFieldError :: from ( "subquery" ) ) )
526
472
}
527
473
} ,
528
474
alias : self . alias . clone ( ) ,
0 commit comments