This is an automated email from the ASF dual-hosted git repository.
bridgetb pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/drill.git
The following commit(s) were added to refs/heads/gh-pages by this push:
new eab6efd regexp_matches doc update
eab6efd is described below
commit eab6efdad55955c950ae3b5f05849c969b2df952
Author: Bridget Bevens <[email protected]>
AuthorDate: Fri Apr 12 12:49:08 2019 -0700
regexp_matches doc update
---
.../sql-functions/040-string-manipulation.md | 48 ++++++++++++++-
.../sql-functions/063-cryptography-functions.md | 68 ++++++++++++++++++++++
2 files changed, 114 insertions(+), 2 deletions(-)
diff --git a/_docs/sql-reference/sql-functions/040-string-manipulation.md
b/_docs/sql-reference/sql-functions/040-string-manipulation.md
index a4cf192..6e6077f 100644
--- a/_docs/sql-reference/sql-functions/040-string-manipulation.md
+++ b/_docs/sql-reference/sql-functions/040-string-manipulation.md
@@ -1,6 +1,6 @@
---
title: "String Manipulation"
-date: 2016-01-14
+date: 2019-04-12
parent: "SQL Functions"
---
@@ -18,6 +18,7 @@ Function| Return Type
[LPAD]({{ site.baseurl }}/docs/string-manipulation/#lpad)| VARCHAR
[LTRIM]({{ site.baseurl }}/docs/string-manipulation/#ltrim)| VARCHAR
[POSITION]({{ site.baseurl }}/docs/string-manipulation/#position)| INTEGER
+[REGEXP_MATCHES]({{ site.baseurl
}}/docs/string-manipulation/#regexp_matches)|BOOLEAN
[REGEXP_REPLACE]({{ site.baseurl
}}/docs/string-manipulation/#regexp_replace)|VARCHAR
[RPAD]({{ site.baseurl }}/docs/string-manipulation/#rpad)| VARCHAR
[RTRIM]({{ site.baseurl }}/docs/string-manipulation/#rtrim)| VARCHAR
@@ -262,7 +263,50 @@ Returns the location of a substring.
+------------+
1 row selected (0.12 seconds)
-## REGEXP_REPLACE
+
+##REGEXP_MATCHES
+
+Matches a regexp pattern to a target string. Returns a boolean value; true if
the value matches the regexp, false if the value does not match the regexp.
+
+###REGEXP_MATCHES Syntax
+
+REGEXP_MATCHES(string_expression, pattern)
+
+*string_expression* is the string to be matched.
+
+*pattern* is the regular expression.
+
+### REGEXP_MATCHES Examples
+
+Shows several POSIX metacharacters that return true for the given string
expressions:
+
+ select regexp_matches('abc', 'abc|def') as a, regexp_matches('cat',
'[hc]at$') as b, regexp_matches('cat', '.at') as c, regexp_matches('cat',
'[hc]at') as d, regexp_matches('cat', '[^b]at') as e, regexp_matches('cat',
'^[hc]at') as f, regexp_matches('[a]', '\[.\]') as g, regexp_matches('sat',
's.*') as h, regexp_matches('sat','[^hc]at') as i, regexp_matches('hat',
'[hc]?at') as j, regexp_matches('cchchat', '[hc]*at') as k,
regexp_matches('chat', '[hc]+at') as l;
+
+
+------+------+------+------+------+------+------+------+------+------+------+------+
+ | a | b | c | d | e | f | g | h | i | j |
k | l |
+
+------+------+------+------+------+------+------+------+------+------+------+------+
+ | true | true | true | true | true | true | true | true | true | true |
true | true |
+
+------+------+------+------+------+------+------+------+------+------+------+------+
+
+Shows case-sensitivity:
+
+ select regexp_matches('abc', 'A*.C');
+ +--------+
+ | EXPR$0 |
+ +--------+
+ | false |
+ +--------+
+
+ select regexp_matches('abc', 'a*.c');
+ +--------+
+ | EXPR$0 |
+ +--------+
+ | true |
+ +--------+
+
+
+
+##REGEXP_REPLACE
Substitutes new text for substrings that match [Java regular expression
patterns](http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html).
diff --git a/_docs/sql-reference/sql-functions/063-cryptography-functions.md
b/_docs/sql-reference/sql-functions/063-cryptography-functions.md
new file mode 100644
index 0000000..9ad37cb
--- /dev/null
+++ b/_docs/sql-reference/sql-functions/063-cryptography-functions.md
@@ -0,0 +1,68 @@
+---
+title: "Cryptography Functions"
+date: 2019-04-10 01:25:29 UTC
+parent: "SQL Functions"
+---
+
+Starting in version 1.11, Drill supports cryptography-related functions. The
library of cryptography-related functions generally mirrors the crypto
functions in MySQL, including:
+
+* **`aes_encrypt()`/ `aes_decrypt()`**: implement encryption and decryption of
data using the official AES (Advanced Encryption Standard) algorithm,
previously known as “Rijndael.”
+ `AES_ENCRYPT()` encrypts the string `str` using the key string `key_str` and
returns a binary string containing the encrypted output. `AES_DECRYPT()`
decrypts the encrypted string `crypt_str` using the key string `key_str` and
returns the original cleartext string. If either function argument is NULL, the
function returns NULL.
+
+
+ SELECT aes_encrypt( 'encrypted_text', 'my_secret_key' ) AS aes
FROM (VALUES(1));
+ +---------------------------+
+ | aes |
+ +---------------------------+
+ | JkcBUNAn8ByKWCcVmNrKMA== |
+ +---------------------------+
+
+ SELECT aes_encrypt( 'encrypted_text', 'my_secret_key' ) AS
encrypted,
+ aes_decrypt(aes_encrypt( 'encrypted_text', 'my_secret_key'
),'my_secret_key') AS decrypted
+ FROM (VALUES(1));
+ +---------------------------+-----------------+
+ | encrypted | decrypted |
+ +---------------------------+-----------------+
+ | JkcBUNAn8ByKWCcVmNrKMA== | encrypted_text |
+ +---------------------------+-----------------+
+
+
+* **`md2(<text>)`**: Returns the md2 hash of the text.
(https://en.wikipedia.org/wiki/MD2_(cryptography))
+
+
+ select md2( 'testing' ) from (values(1));
+ +-----------------------------------+
+ | EXPR$0 |
+ +-----------------------------------+
+ | fc134df10d6ecafceb5c75861d01b41f |
+ +-----------------------------------+
+
+
+* **`md5(<text>)`**: Returns the md5 hash of the text.
(https://en.wikipedia.org/wiki/MD5)
+
+ select md5( 'testing' ) from (VALUES(1));
+ +-----------------------------------+
+ | EXPR$0 |
+ +-----------------------------------+
+ | ae2b1fca515949e5d54fb22b8ed95575 |
+ +-----------------------------------+
+
+* **`sha(<text>`) / `sha1(<text>)`**: Calculates an SHA-1 160-bit checksum for
the string, as described in RFC 3174 (Secure Hash Algorithm).
(https://en.wikipedia.org/wiki/SHA-1) The value is returned as a string of 40
hexadecimal digits, or NULL if the argument was NULL. Note that `sha()` and
`sha1()` are aliases for the same function.
+
+ select sha1( 'testing' ) from (VALUES(1));
+ +-------------------------------------------+
+ | EXPR$0 |
+ +-------------------------------------------+
+ | dc724af18fbdd4e59189f5fe768a5f8311527050 |
+ +-------------------------------------------+
+
+* **`sha2(<text>`) / `sha256(<text>)`**: Calculates an SHA-2 256-bit checksum
for the string. (https://en.wikipedia.org/wiki/SHA-2) The value is returned as
a string of hexadecimal digits, or NULL if the argument was NULL. Note that
`sha2()` and `sha256()` are aliases for the same function.
+
+ select sha2( 'testing' ) from (VALUES(1));
+
+-------------------------------------------------------------------+
+ | EXPR$0
|
+
+-------------------------------------------------------------------+
+ |
cf80cd8aed482d5d1527d7dc72fceff84e6326592848447d2dc0b0e87dfc9a90 |
+
+-------------------------------------------------------------------+
+
+Additionally, there are also `sha384(<text>)` and `sha512(<text>)` functions
which return SHA-2 hashes with 384 and 512 bit checksums.
\ No newline at end of file