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
}
@@ -365,30 +369,21 @@ mod tests {
365
369
let rules:Vec<Arc<dynSqlStatementRewriteRule>> =
366
370
vec![Arc::new(ResolveUnqualifiedIdentifer)];
367
371
368
-
let sql = "SELECT n.* FROM pg_catalog.pg_namespace n WHERE nspname = 'pg_catalog' ORDER BY nspname";
369
-
let statement = parse(sql).expect("Failed to parse").remove(0);
370
-
371
-
let statement = rewrite(statement,&rules);
372
-
assert_eq!(
373
-
statement.to_string(),
372
+
assert_rewrite!(
373
+
&rules,
374
+
"SELECT n.* FROM pg_catalog.pg_namespace n WHERE nspname = 'pg_catalog' ORDER BY nspname",
374
375
"SELECT n.* FROM pg_catalog.pg_namespace AS n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname"
375
376
);
376
377
377
-
let sql = "SELECT * FROM pg_catalog.pg_namespace 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(),
378
+
assert_rewrite!(
379
+
&rules,
380
+
"SELECT * FROM pg_catalog.pg_namespace ORDER BY nspname",
383
381
"SELECT * FROM pg_catalog.pg_namespace ORDER BY nspname"
384
382
);
385
383
386
-
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";
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(),
384
+
assert_rewrite!(
385
+
&rules,
386
+
"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",
392
387
"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"
393
388
);
394
389
}
@@ -398,21 +393,27 @@ mod tests {
398
393
let rules:Vec<Arc<dynSqlStatementRewriteRule>> =
399
394
vec![Arc::new(RemoveUnsupportedTypes::new())];
400
395
401
-
let sql = "SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.nspname = 'pg_catalog'::regclass ORDER BY n.nspname";
402
-
let statement = parse(sql).expect("Failed to parse").remove(0);
403
-
404
-
let statement = rewrite(statement,&rules);
405
-
assert_eq!(
406
-
statement.to_string(),
396
+
assert_rewrite!(
397
+
&rules,
398
+
"SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.nspname = 'pg_catalog'::regclass ORDER BY n.nspname",
407
399
"SELECT n.* FROM pg_catalog.pg_namespace AS n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname"
408
400
);
409
401
410
-
let sql = "SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname";
411
-
let statement = parse(sql).expect("Failed to parse").remove(0);
402
+
assert_rewrite!(
403
+
&rules,
404
+
"SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.oid = 1 AND n.nspname = 'pg_catalog'::regclass ORDER BY n.nspname",
405
+
"SELECT n.* FROM pg_catalog.pg_namespace AS n WHERE n.oid = 1 AND n.nspname = 'pg_catalog' ORDER BY n.nspname"
406
+
);
407
+
408
+
assert_rewrite!(
409
+
&rules,
410
+
"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",
411
+
"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"
412
+
);
412
413
413
-
let statement = rewrite(statement,&rules);
414
-
assert_eq!(
415
-
statement.to_string(),
414
+
assert_rewrite!(
415
+
&rules,
416
+
"SELECT n.* FROM pg_catalog.pg_namespace n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname",
416
417
"SELECT n.* FROM pg_catalog.pg_namespace AS n WHERE n.nspname = 'pg_catalog' ORDER BY n.nspname"
0 commit comments