From a45fd9941009a67b467926bc4794b33e233f604c Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Fri, 15 Apr 2016 12:23:27 +0400 Subject: [PATCH 1/3] =?UTF-8?q?awkrun:=20ajouter=20l'argument=20suffix=20?= =?UTF-8?q?=C3=A0=20qsql(),=20cqsql(),=20cval()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/ulib/awk | 17 +++++++++++++---- lib/ulib/base | 12 ++++++------ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/lib/ulib/awk b/lib/ulib/awk index 8684a64..8235306 100644 --- a/lib/ulib/awk +++ b/lib/ulib/awk @@ -94,17 +94,23 @@ qegrep(s) sont mis en échappement: \\ . [ ^ \$ ? + * ( ) | { L'alias quote_egrep(s) existe pour compatibilité -qsql(s) +qsql(s, [suffix]) quoter une valeur pour un script sql. la valeur est entourée de quotes, e.g: qsql(\"hello'there\") --> 'hello''there' L'alias quote_sql(s) existe pour compatibilité + Si suffix est spécifié, le rajouter après la valeur précédé d'un espace, e.g: + qsql(\"value\", \"field\") + --> 'value' field -cqsql(s) +cqsql(s, [suffix]) comme qsql() mais ajouter une virgule avant la valeur quotée. ceci permet de construire facilement une requête SQL, e.g: print \"insert into t(a, b, c) values (\" qsql(a) cqsql(b) cqsql(c) \");\" - --> insert into t(a, b, c) values ('a', 'b', 'c'); + --> insert into t(a, b, c) values ('a','b','c'); + Si suffix est spécifié, le rajouter après la valeur précédé d'un espace, e.g: + cqsql(\"value\", \"field\") + --> ,'value' field unquote_mysqlcsv(s) Analyser une valeur exportée de MySQL avec mysqlcsv. Les transformations @@ -119,10 +125,13 @@ sval(s) sval(\"\") --> \"\" sval(\"any\") --> \" any\" -cval(s) +cval(s, [suffix]) retourner la valeur s précédée d'une virgule si elle est non vide, e.g: sval(\"\") --> \"\" sval(\"any\") --> \",any\" + Si suffix est spécifié, le rajouter après la valeur précédé d'un espace, e.g: + cval(\"\", \"field\") --> \"\" + cval(\"value\", \"field\") --> \",value field\" mkindices(values, indices) créer le tableau indices qui contient les indices du tableau values, de 1 à N, diff --git a/lib/ulib/base b/lib/ulib/base index ce13062..f5748f7 100644 --- a/lib/ulib/base +++ b/lib/ulib/base @@ -1914,12 +1914,12 @@ function qegrep(s) { gsub(/[[\\.^$*+?()|{]/, "\\\\&", s) return s } -function qsql(s) {'" +function qsql(s, suffix) {'" gsub(/'/, \"''\", s) - return \"'\" s \"'\" + return \"'\" s \"'\" (suffix != \"\"? \" \" suffix: \"\") "'} -function cqsql(s, field) { - return "," qsql(s) (field != ""? " " field: "") +function cqsql(s, suffix) { + return "," qsql(s, suffix) } function unquote_mysqlcsv(s) { gsub(/\\n/, "\n", s) @@ -1932,9 +1932,9 @@ function sval(s) { if (s == "") return s else return " " s } -function cval(s) { +function cval(s, suffix) { if (s == "") return s - else return "," s + else return "," s (suffix != ""? " " suffix: "") } # aliases pour compatibilité function quote_html(s) { return qhtml(s) } From 6c93dc161ad62c4c374a04ad900c3869fab1bfa4 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Fri, 15 Apr 2016 12:24:01 +0400 Subject: [PATCH 2/3] Init changelog & version 4.4.1 --- CHANGES.txt | 4 ++++ VERSION.txt | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index dc912ae..3abedc9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +## Version 4.4.1 du 15/04/2016-12:24 + +a45fd99 awkrun: ajouter l'argument suffix à qsql(), cqsql(), cval() + ## Version 4.4.0 du 15/04/2016-12:04 73391a9 awkrun: ajout d'un champ field à cqsql diff --git a/VERSION.txt b/VERSION.txt index fdc6698..cca25a9 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -4.4.0 +4.4.1 From 9fc1c673def31254179ae6eeab96df7187fa02e3 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Fri, 15 Apr 2016 12:24:07 +0400 Subject: [PATCH 3/3] maj ulib --- lib/ulib/.ulibver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ulib/.ulibver b/lib/ulib/.ulibver index ff21241..a56b5d1 100644 --- a/lib/ulib/.ulibver +++ b/lib/ulib/.ulibver @@ -1 +1 @@ -012003000 +012003001