Skip to content

Commit de50585

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 e785661 commit de50585

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
@@ -2587,3 +2587,39 @@ ROW u = ["hello elastic!", "a+b-c%d", "", "!#$&'()*+,/:;=?@[]"] | EVAL u = URL_E
25872587
u:keyword
25882588
["hello+elastic%21", "a%2Bb-c%25d", "", "%21%23%24%26%27%28%29*%2B%2C%2F%3A%3B%3D%3F%40%5B%5D"]
25892589
;
2590+
2591+
url_decode sample for docs
2592+
required_capability: url_decode
2593+
2594+
// tag::url_decode[]
2595+
ROW u = "https%3A%2F%2Fwww.example.com%2Fpapers%3Fq%3Dinformation%2Bretrieval%26year%3D2024%26citations%3Dhigh" | EVAL u = URL_DECODE(u)
2596+
// end::url_decode[]
2597+
;
2598+
2599+
// tag::url_decode-result[]
2600+
u:keyword
2601+
https://www.example.com/papers?q=information+retrieval&year=2024&citations=high
2602+
// end::url_decode-result[]
2603+
;
2604+
2605+
url_decode mixed functions tests
2606+
required_capability: url_decode
2607+
2608+
FROM employees
2609+
| WHERE emp_no == 10001
2610+
| EVAL a = TRIM(URL_DECODE(first_name))
2611+
| EVAL b = URL_DECODE(TO_LOWER(first_name))
2612+
| KEEP a,b;
2613+
2614+
a:keyword | b:keyword
2615+
Georgi | georgi
2616+
;
2617+
2618+
url_decode mixed input tests
2619+
required_capability: url_decode
2620+
2621+
ROW u = "%21%23%24%26%27%28%29*%2B%2C%2F%3A%3B%3D%3F%40%5B%5D" | EVAL u = URL_DECODE(u);
2622+
2623+
u:keyword
2624+
"!#$&'()*+,/:;=?@[]"
2625+
;

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)