From 81ca4fd6b2948fdd45aaaff39836b18500597f4f Mon Sep 17 00:00:00 2001 From: jiacai2050 Date: Sat, 16 Mar 2024 23:59:48 +0800 Subject: [PATCH] fix CI --- .../interceptor-replace/simple/replace.result | 35 ++++++++++--------- sqlness/src/case.rs | 13 ++++--- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/sqlness/examples/interceptor-replace/simple/replace.result b/sqlness/examples/interceptor-replace/simple/replace.result index 5016584..0664a4b 100644 --- a/sqlness/examples/interceptor-replace/simple/replace.result +++ b/sqlness/examples/interceptor-replace/simple/replace.result @@ -1,44 +1,47 @@ -- SQLNESS REPLACE 00 SELECT 0; -SELECT 0; +SELECT 0 -- SQLNESS REPLACE 00 SELECT 00; -SELECT ; +SELECT -- SQLNESS REPLACE 0 1 SELECT 0; -SELECT 1; +SELECT 1 -- example of capture group replacement -- SQLNESS REPLACE (?P\d{4})-(?P\d{2})-(?P\d{2}) $m/$d/$y 2012-03-14, 2013-01-01 and 2014-07-05; -03/14/2012, 01/01/2013 and 07/05/2014; +03/14/2012, 01/01/2013 and 07/05/2014 -- SQLNESS TEMPLATE {"name": "test"} -SELECT * FROM table where name = "test"; +SELECT * FROM table where name = "{{name}}"; -SELECT * FROM table where name = "test"; +SELECT * FROM table where name = "test" -- SQLNESS TEMPLATE {"aggr": ["sum", "avg", "count"]} -SELECT sum(c) from t ; - -SELECT sum(c) from t ; - - SELECT avg(c) from t ; +{% for item in aggr %} +SELECT {{item}}(c) from t {%if not loop.last %} {{sql_delimiter()}} {% endif %} +{% endfor %} +; - SELECT avg(c) from t ; +SELECT sum(c) from t - SELECT count(c) from t ; + SELECT avg(c) from t - SELECT count(c) from t ; + SELECT count(c) from t -- SQLNESS TEMPLATE -INSERT INTO t (c) VALUES(1) , (2) , (3) , (4) ; +INSERT INTO t (c) VALUES +{% for num in range(1, 5) %} +({{ num }}) {%if not loop.last %} , {% endif %} +{% endfor %} +; -INSERT INTO t (c) VALUES(1) , (2) , (3) , (4) ; +INSERT INTO t (c) VALUES(1) , (2) , (3) , (4) diff --git a/sqlness/src/case.rs b/sqlness/src/case.rs index f48e76f..328145f 100644 --- a/sqlness/src/case.rs +++ b/sqlness/src/case.rs @@ -142,16 +142,19 @@ impl Query { writer.write_all(comment.as_bytes())?; writer.write_all("\n".as_bytes())?; } + for comment in &self.display_query { + writer.write_all(comment.as_bytes())?; + } + writer.write_all("\n\n".as_bytes())?; let sql = self.concat_query_lines(); // An intercetor may generate multiple SQLs, so we need to split them. for sql in sql.split(QUERY_DELIMITER) { if !sql.trim().is_empty() { - let sql = format!("{sql};"); - writer.write_all(sql.as_bytes())?; - writer.write_all("\n\n".as_bytes())?; - - let mut result = db.query(context.clone(), sql).await.to_string(); + let mut result = db + .query(context.clone(), format!("{sql};")) + .await + .to_string(); self.after_execute_intercept(&mut result); self.write_result(writer, result)?; }