awkrun: ajouter l'argument suffix à qsql(), cqsql(), cval()

This commit is contained in:
Jephté Clain 2016-04-15 12:23:27 +04:00
parent 339ac983d8
commit a45fd99410
2 changed files with 19 additions and 10 deletions

View File

@ -94,17 +94,23 @@ qegrep(s)
sont mis en échappement: \\ . [ ^ \$ ? + * ( ) | { sont mis en échappement: \\ . [ ^ \$ ? + * ( ) | {
L'alias quote_egrep(s) existe pour compatibilité 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: quoter une valeur pour un script sql. la valeur est entourée de quotes, e.g:
qsql(\"hello'there\") qsql(\"hello'there\")
--> 'hello''there' --> 'hello''there'
L'alias quote_sql(s) existe pour compatibilité 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 comme qsql() mais ajouter une virgule avant la valeur quotée. ceci permet de
construire facilement une requête SQL, e.g: construire facilement une requête SQL, e.g:
print \"insert into t(a, b, c) values (\" qsql(a) cqsql(b) cqsql(c) \");\" 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) unquote_mysqlcsv(s)
Analyser une valeur exportée de MySQL avec mysqlcsv. Les transformations Analyser une valeur exportée de MySQL avec mysqlcsv. Les transformations
@ -119,10 +125,13 @@ sval(s)
sval(\"\") --> \"\" sval(\"\") --> \"\"
sval(\"any\") --> \" any\" 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: retourner la valeur s précédée d'une virgule si elle est non vide, e.g:
sval(\"\") --> \"\" sval(\"\") --> \"\"
sval(\"any\") --> \",any\" 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) mkindices(values, indices)
créer le tableau indices qui contient les indices du tableau values, de 1 à N, créer le tableau indices qui contient les indices du tableau values, de 1 à N,

View File

@ -1914,12 +1914,12 @@ function qegrep(s) {
gsub(/[[\\.^$*+?()|{]/, "\\\\&", s) gsub(/[[\\.^$*+?()|{]/, "\\\\&", s)
return s return s
} }
function qsql(s) {'" function qsql(s, suffix) {'"
gsub(/'/, \"''\", s) gsub(/'/, \"''\", s)
return \"'\" s \"'\" return \"'\" s \"'\" (suffix != \"\"? \" \" suffix: \"\")
"'} "'}
function cqsql(s, field) { function cqsql(s, suffix) {
return "," qsql(s) (field != ""? " " field: "") return "," qsql(s, suffix)
} }
function unquote_mysqlcsv(s) { function unquote_mysqlcsv(s) {
gsub(/\\n/, "\n", s) gsub(/\\n/, "\n", s)
@ -1932,9 +1932,9 @@ function sval(s) {
if (s == "") return s if (s == "") return s
else return " " s else return " " s
} }
function cval(s) { function cval(s, suffix) {
if (s == "") return s if (s == "") return s
else return "," s else return "," s (suffix != ""? " " suffix: "")
} }
# aliases pour compatibilité # aliases pour compatibilité
function quote_html(s) { return qhtml(s) } function quote_html(s) { return qhtml(s) }