@@ -2206,15 +2206,13 @@ fn parse_singular_row_offset() {
2206
2206
2207
2207
#[ test]
2208
2208
fn parse_fetch ( ) {
2209
+ const FETCH_FIRST_TWO_ROWS_ONLY : Fetch = Fetch {
2210
+ with_ties : false ,
2211
+ percent : false ,
2212
+ quantity : Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ,
2213
+ } ;
2209
2214
let ast = verified_query ( "SELECT foo FROM bar FETCH FIRST 2 ROWS ONLY" ) ;
2210
- assert_eq ! (
2211
- ast. fetch,
2212
- Some ( Fetch {
2213
- with_ties: false ,
2214
- percent: false ,
2215
- quantity: Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ,
2216
- } )
2217
- ) ;
2215
+ assert_eq ! ( ast. fetch, Some ( FETCH_FIRST_TWO_ROWS_ONLY ) ) ;
2218
2216
let ast = verified_query ( "SELECT foo FROM bar FETCH FIRST ROWS ONLY" ) ;
2219
2217
assert_eq ! (
2220
2218
ast. fetch,
@@ -2225,23 +2223,9 @@ fn parse_fetch() {
2225
2223
} )
2226
2224
) ;
2227
2225
let ast = verified_query ( "SELECT foo FROM bar WHERE foo = 4 FETCH FIRST 2 ROWS ONLY" ) ;
2228
- assert_eq ! (
2229
- ast. fetch,
2230
- Some ( Fetch {
2231
- with_ties: false ,
2232
- percent: false ,
2233
- quantity: Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ,
2234
- } )
2235
- ) ;
2226
+ assert_eq ! ( ast. fetch, Some ( FETCH_FIRST_TWO_ROWS_ONLY ) ) ;
2236
2227
let ast = verified_query ( "SELECT foo FROM bar ORDER BY baz FETCH FIRST 2 ROWS ONLY" ) ;
2237
- assert_eq ! (
2238
- ast. fetch,
2239
- Some ( Fetch {
2240
- with_ties: false ,
2241
- percent: false ,
2242
- quantity: Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ,
2243
- } )
2244
- ) ;
2228
+ assert_eq ! ( ast. fetch, Some ( FETCH_FIRST_TWO_ROWS_ONLY ) ) ;
2245
2229
let ast = verified_query (
2246
2230
"SELECT foo FROM bar WHERE foo = 4 ORDER BY baz FETCH FIRST 2 ROWS WITH TIES" ,
2247
2231
) ;
@@ -2266,63 +2250,28 @@ fn parse_fetch() {
2266
2250
"SELECT foo FROM bar WHERE foo = 4 ORDER BY baz OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY" ,
2267
2251
) ;
2268
2252
assert_eq ! ( ast. offset, Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ) ;
2269
- assert_eq ! (
2270
- ast. fetch,
2271
- Some ( Fetch {
2272
- with_ties: false ,
2273
- percent: false ,
2274
- quantity: Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ,
2275
- } )
2276
- ) ;
2253
+ assert_eq ! ( ast. fetch, Some ( FETCH_FIRST_TWO_ROWS_ONLY ) ) ;
2277
2254
let ast = verified_query (
2278
2255
"SELECT foo FROM (SELECT * FROM bar FETCH FIRST 2 ROWS ONLY) FETCH FIRST 2 ROWS ONLY" ,
2279
2256
) ;
2280
- assert_eq ! (
2281
- ast. fetch,
2282
- Some ( Fetch {
2283
- with_ties: false ,
2284
- percent: false ,
2285
- quantity: Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ,
2286
- } )
2287
- ) ;
2257
+ assert_eq ! ( ast. fetch, Some ( FETCH_FIRST_TWO_ROWS_ONLY ) ) ;
2288
2258
match ast. body {
2289
2259
SQLSetExpr :: Select ( s) => match only ( s. from ) . relation {
2290
2260
TableFactor :: Derived { subquery, .. } => {
2291
- assert_eq ! (
2292
- subquery. fetch,
2293
- Some ( Fetch {
2294
- with_ties: false ,
2295
- percent: false ,
2296
- quantity: Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ,
2297
- } )
2298
- ) ;
2261
+ assert_eq ! ( subquery. fetch, Some ( FETCH_FIRST_TWO_ROWS_ONLY ) ) ;
2299
2262
}
2300
2263
_ => panic ! ( "Test broke" ) ,
2301
2264
} ,
2302
2265
_ => panic ! ( "Test broke" ) ,
2303
2266
}
2304
2267
let ast = verified_query ( "SELECT foo FROM (SELECT * FROM bar OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY) OFFSET 2 ROWS FETCH FIRST 2 ROWS ONLY" ) ;
2305
2268
assert_eq ! ( ast. offset, Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ) ;
2306
- assert_eq ! (
2307
- ast. fetch,
2308
- Some ( Fetch {
2309
- with_ties: false ,
2310
- percent: false ,
2311
- quantity: Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ,
2312
- } )
2313
- ) ;
2269
+ assert_eq ! ( ast. fetch, Some ( FETCH_FIRST_TWO_ROWS_ONLY ) ) ;
2314
2270
match ast. body {
2315
2271
SQLSetExpr :: Select ( s) => match only ( s. from ) . relation {
2316
2272
TableFactor :: Derived { subquery, .. } => {
2317
2273
assert_eq ! ( subquery. offset, Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ) ;
2318
- assert_eq ! (
2319
- subquery. fetch,
2320
- Some ( Fetch {
2321
- with_ties: false ,
2322
- percent: false ,
2323
- quantity: Some ( ASTNode :: SQLValue ( Value :: Long ( 2 ) ) ) ,
2324
- } )
2325
- ) ;
2274
+ assert_eq ! ( subquery. fetch, Some ( FETCH_FIRST_TWO_ROWS_ONLY ) ) ;
2326
2275
}
2327
2276
_ => panic ! ( "Test broke" ) ,
2328
2277
} ,
0 commit comments