Skip to content

Commit 4b80e43

Browse files
committed
ESQL: Add url_decode function (#133494)
- Add url_decode as a snapshot function. - Move common logic to both encode/decode to a parent class
1 parent 61382f3 commit 4b80e43

File tree

19 files changed

+602
-75
lines changed

19 files changed

+602
-75
lines changed

docs/reference/query-languages/esql/_snippets/functions/description/url_decode.md

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/examples/url_decode.md

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/layout/url_decode.md

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/parameters/url_decode.md

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/_snippets/functions/types/url_decode.md

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/images/functions/url_decode.svg

Lines changed: 1 addition & 0 deletions
Loading

docs/reference/query-languages/esql/kibana/definition/functions/url_decode.json

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/kibana/docs/functions/url_decode.md

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/qa/testFixtures/src/main/resources/string.csv-spec

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2501,3 +2501,39 @@ ROW u = ["hello elastic!", "a+b-c%d", "", "!#$&'()*+,/:;=?@[]"] | EVAL u = URL_E
25012501
u:keyword
25022502
["hello+elastic%21", "a%2Bb-c%25d", "", "%21%23%24%26%27%28%29*%2B%2C%2F%3A%3B%3D%3F%40%5B%5D"]
25032503
;
2504+
2505+
url_decode sample for docs
2506+
required_capability: url_decode
2507+
2508+
// tag::url_decode[]
2509+
ROW u = "https%3A%2F%2Fwww.example.com%2Fpapers%3Fq%3Dinformation%2Bretrieval%26year%3D2024%26citations%3Dhigh" | EVAL u = URL_DECODE(u)
2510+
// end::url_decode[]
2511+
;
2512+
2513+
// tag::url_decode-result[]
2514+
u:keyword
2515+
https://www.example.com/papers?q=information+retrieval&year=2024&citations=high
2516+
// end::url_decode-result[]
2517+
;
2518+
2519+
url_decode mixed functions tests
2520+
required_capability: url_decode
2521+
2522+
FROM employees
2523+
| WHERE emp_no == 10001
2524+
| EVAL a = TRIM(URL_DECODE(first_name))
2525+
| EVAL b = URL_DECODE(TO_LOWER(first_name))
2526+
| KEEP a,b;
2527+
2528+
a:keyword | b:keyword
2529+
Georgi | georgi
2530+
;
2531+
2532+
url_decode mixed input tests
2533+
required_capability: url_decode
2534+
2535+
ROW u = "%21%23%24%26%27%28%29*%2B%2C%2F%3A%3B%3D%3F%40%5B%5D" | EVAL u = URL_DECODE(u);
2536+
2537+
u:keyword
2538+
"!#$&'()*+,/:;=?@[]"
2539+
;

x-pack/plugin/esql/src/main/generated/org/elasticsearch/xpack/esql/expression/function/scalar/convert/UrlDecodeEvaluator.java

Lines changed: 153 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)