You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let statement = parse(sql).expect("Failed to parse").remove(0);
337
+
338
+
let statement = rewrite(statement, $rules);
339
+
assert_eq!(statement.to_string(), $rewt);
340
+
};
341
+
}
342
+
330
343
#[test]
331
344
fntest_alias_rewrite(){
332
345
let rules:Vec<Arc<dynSqlStatementRewriteRule>> =
333
346
vec![Arc::new(AliasDuplicatedProjectionRewrite)];
334
347
335
-
let sql = "SELECT n.oid, n.* FROM pg_catalog.pg_namespace n";
336
-
let statement = parse(sql).expect("Failed to parse").remove(0);
337
-
338
-
let statement = rewrite(statement,&rules);
339
-
assert_eq!(
340
-
statement.to_string(),
348
+
assert_rewrite!(
349
+
&rules,
350
+
"SELECT n.oid, n.* FROM pg_catalog.pg_namespace n",
341
351
"SELECT n.oid AS __alias_oid, n.* FROM pg_catalog.pg_namespace AS n"
342
352
);
343
353
344
-
let sql = "SELECT oid, * FROM pg_catalog.pg_namespace";
345
-
let statement = parse(sql).expect("Failed to parse").remove(0);
346
-
347
-
let statement = rewrite(statement,&rules);
348
-
assert_eq!(
349
-
statement.to_string(),
354
+
assert_rewrite!(
355
+
&rules,
356
+
"SELECT oid, * FROM pg_catalog.pg_namespace",
350
357
"SELECT oid AS __alias_oid, * FROM pg_catalog.pg_namespace"
351
358
);
352
359
353
-
let sql = "SELECT t1.oid, t2.* FROM tbl1 AS t1 JOIN tbl2 AS t2 ON t1.id = t2.id";
354
-
let statement = parse(sql).expect("Failed to parse").remove(0);
355
-
356
-
let statement = rewrite(statement,&rules);
357
-
assert_eq!(
358
-
statement.to_string(),
360
+
assert_rewrite!(
361
+
&rules,
362
+
"SELECT t1.oid, t2.* FROM tbl1 AS t1 JOIN tbl2 AS t2 ON t1.id = t2.id",
359
363
"SELECT t1.oid, t2.* FROM tbl1 AS t1 JOIN tbl2 AS t2 ON t1.id = t2.id"
360
364
);
361
365
@@ -374,30 +378,21 @@ mod tests {
374
378
let rules:Vec<Arc<dynSqlStatementRewriteRule>> =
375
379
vec![Arc::new(ResolveUnqualifiedIdentifer)];
376
380
377
-
let sql = "SELECT n.* FROM pg_catalog.pg_namespace n WHERE nspname = 'pg_catalog' ORDER BY nspname";
378
-
let statement = parse(sql).expect("Failed to parse").remove(0);
379
-
380
-
let statement = rewrite(statement,&rules);
381
-
assert_eq!(
382
-
statement.to_string(),
381
+
assert_rewrite!(
382
+
&rules,
383
+
"SELECT n.* FROM pg_catalog.pg_namespace n WHERE nspname = 'pg_catalog' ORDER BY nspname",
383
384
"SELECT n.* FROM pg_catalog.pg_namespace AS n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname"
384
385
);
385
386
386
-
let sql = "SELECT * FROM pg_catalog.pg_namespace ORDER BY nspname";
387
-
let statement = parse(sql).expect("Failed to parse").remove(0);
388
-
389
-
let statement = rewrite(statement,&rules);
390
-
assert_eq!(
391
-
statement.to_string(),
387
+
assert_rewrite!(
388
+
&rules,
389
+
"SELECT * FROM pg_catalog.pg_namespace ORDER BY nspname",
392
390
"SELECT * FROM pg_catalog.pg_namespace ORDER BY nspname"
393
391
);
394
392
395
-
let sql = "SELECT n.oid,n.*,d.description FROM pg_catalog.pg_namespace n LEFT OUTER JOIN pg_catalog.pg_description d ON d.objoid=n.oid AND d.objsubid=0 AND d.classoid='pg_namespace' ORDER BY nspsname";
396
-
let statement = parse(sql).expect("Failed to parse").remove(0);
397
-
398
-
let statement = rewrite(statement,&rules);
399
-
assert_eq!(
400
-
statement.to_string(),
393
+
assert_rewrite!(
394
+
&rules,
395
+
"SELECT n.oid,n.*,d.description FROM pg_catalog.pg_namespace n LEFT OUTER JOIN pg_catalog.pg_description d ON d.objoid=n.oid AND d.objsubid=0 AND d.classoid='pg_namespace' ORDER BY nspsname",
401
396
"SELECT n.oid, n.*, d.description FROM pg_catalog.pg_namespace AS n LEFT OUTER JOIN pg_catalog.pg_description AS d ON d.objoid = n.oid AND d.objsubid = 0 AND d.classoid = 'pg_namespace' ORDER BY n.nspsname"
402
397
);
403
398
}
@@ -407,21 +402,27 @@ mod tests {
407
402
let rules:Vec<Arc<dynSqlStatementRewriteRule>> =
408
403
vec![Arc::new(RemoveUnsupportedTypes::new())];
409
404
410
-
let sql = "SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.nspname = 'pg_catalog'::regclass ORDER BY n.nspname";
411
-
let statement = parse(sql).expect("Failed to parse").remove(0);
412
-
413
-
let statement = rewrite(statement,&rules);
414
-
assert_eq!(
415
-
statement.to_string(),
405
+
assert_rewrite!(
406
+
&rules,
407
+
"SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.nspname = 'pg_catalog'::regclass ORDER BY n.nspname",
416
408
"SELECT n.* FROM pg_catalog.pg_namespace AS n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname"
417
409
);
418
410
419
-
let sql = "SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname";
420
-
let statement = parse(sql).expect("Failed to parse").remove(0);
411
+
assert_rewrite!(
412
+
&rules,
413
+
"SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.oid = 1 AND n.nspname = 'pg_catalog'::regclass ORDER BY n.nspname",
414
+
"SELECT n.* FROM pg_catalog.pg_namespace AS n WHERE n.oid = 1 AND n.nspname = 'pg_catalog' ORDER BY n.nspname"
415
+
);
421
416
422
-
let statement = rewrite(statement,&rules);
423
-
assert_eq!(
424
-
statement.to_string(),
417
+
assert_rewrite!(
418
+
&rules,
419
+
"SELECT n.oid,n.*,d.description FROM pg_catalog.pg_namespace n LEFT OUTER JOIN pg_catalog.pg_description d ON d.objoid=n.oid AND d.objsubid=0 AND d.classoid='pg_namespace'::regclass ORDER BY nspname",
420
+
"SELECT n.oid, n.*, d.description FROM pg_catalog.pg_namespace AS n LEFT OUTER JOIN pg_catalog.pg_description AS d ON d.objoid = n.oid AND d.objsubid = 0 AND d.classoid = 'pg_namespace' ORDER BY nspname"
421
+
);
422
+
423
+
assert_rewrite!(
424
+
&rules,
425
+
"SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname",
425
426
"SELECT n.* FROM pg_catalog.pg_namespace AS n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname"
0 commit comments