You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by "edgar2020 (via GitHub)" <gi...@apache.org> on 2024/08/22 16:35:22 UTC
[PR] [docs] Batch13 IP functions (druid)
edgar2020 opened a new pull request, #16947:
URL: https://github.com/apache/druid/pull/16947
### Description
Add examples to the sql-functions.md page
Updates the `IPV4_MATCH `, `IPV4_PARSE `, `IPV4_STRINGIFY `, and `IPV6_MATCH ` functions.
This PR has:
- [X] been self-reviewed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org
Re: [PR] [docs] Batch13 IP functions (druid)
Posted by "ektravel (via GitHub)" <gi...@apache.org>.
ektravel commented on code in PR #16947:
URL: https://github.com/apache/druid/pull/16947#discussion_r1745901282
##########
docs/querying/sql-functions.md:
##########
@@ -1306,36 +1307,119 @@ Returns the following:
## IPV4_MATCH
-`IPV4_MATCH(address, subnet)`
+Returns true if the IPv4 `address` belongs to the `subnet` literal, otherwise returns false.
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+* **Syntax:** `IPV4_MATCH(address, subnet)`
+* **Function type:** Scalar, IP address
-Returns true if the IPv4 `address` belongs to the `subnet` literal, else false.
+<details><summary>Example</summary>
+
+The following example returns true if the IPv4 address in the `forward_for` column from the `kttm` datasource belongs to the subnet `181.13.41.0/24`.
+
+```sql
+SELECT
+ "forwarded_for" AS "ipv4_address",
+ IPV4_MATCH("forwarded_for", '181.13.41.0/24') AS "belongs_in_subnet"
+FROM "kttm"
+LIMIT 2
+```
+
+Returns the following:
+
+| `ipv4_address` | `belongs_in_subnet`|
+| -- | -- |
+| `181.13.41.82` | `true`|
+| `177.242.100.0` | `false`|
+
+</details>
-## IPV4_PARSE
-`IPV4_PARSE(address)`
+[Learn more](sql-scalar.md#ip-address-functions)
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+
+## IPV4_PARSE
Parses `address` into an IPv4 address stored as an integer.
-## IPV4_STRINGIFY
+* **Syntax:** `IPV4_PARSE(address)`
+* **Function type:** Scalar, IP address
+
+<details><summary>Example</summary>
+
+The following example returns the IPv4 address `5.5.5.5` represented as an integer.
+
+```sql
+SELECT
+ '5.5.5.5' AS "ipv4_address",
+ IPV4_PARSE('5.5.5.5') AS "integer"
+```
-`IPV4_STRINGIFY(address)`
+Returns the following:
+
+| `ipv4_address` | `integer` |
+| -- | -- |
+| `5.5.5.5` | `84215045` |
+
+</details>
+
+[Learn more](sql-scalar.md#ip-address-functions)
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+## IPV4_STRINGIFY
Converts `address` into an IPv4 address in dot-decimal notation.
-## IPV6_MATCH
+* **Syntax:** `IPV4_STRINGIFY(address)`
+* **Function type:** Scalar, IP address
-`IPV6_MATCH(address, subnet)`
+<details><summary>Example</summary>
+
+The following example returns the integer `84215045` in its IPv4 dot-decimal notation.
+
+```sql
+SELECT
+ '84215045' AS "integer",
+ IPV4_STRINGIFY(84215045) AS "dot_decimal_notation"
+```
+
+Returns the following:
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+| `integer` | `dot_decimal_notation` |
+| -- | -- |
+| `84215045` | `5.5.5.5` |
+
+</details>
+
+[Learn more](sql-scalar.md#ip-address-functions)
+
+## IPV6_MATCH
Returns true if the IPv6 `address` belongs to the `subnet` literal, else false.
+* **Syntax:** `IPV6_MATCH(address, subnet)`
+* **Function type:** Scalar, IP address
+
+<details><summary>Example</summary>
+
+The following example returns true because `75e9:efa4:29c6:85f6::232c` is in the subnet of `75e9:efa4:29c6:85f6::/64`.
+
+```sql
+SELECT
+ '75e9:efa4:29c6:85f6::232c' AS "ipv6_address",
+ IPV6_MATCH('75e9:efa4:29c6:85f6::232c', '75e9:efa4:29c6:85f6::/64') AS "belongs_in_subnet"
+```
+
+Returns the following:
+
+| `ipv4_address` | `belongs_in_subnet` |
Review Comment:
```suggestion
| `ipv6_address` | `belongs_in_subnet` |
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org
Re: [PR] [docs] Batch13 IP functions (druid)
Posted by "asdf2014 (via GitHub)" <gi...@apache.org>.
asdf2014 commented on code in PR #16947:
URL: https://github.com/apache/druid/pull/16947#discussion_r1728720794
##########
docs/querying/sql-functions.md:
##########
@@ -1306,36 +1307,119 @@ Returns the following:
## IPV4_MATCH
-`IPV4_MATCH(address, subnet)`
+Returns true if the IPv4 `address` belongs to the `subnet` literal, otherwise returns false.
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+* **Syntax:** `IPV4_MATCH(address, subnet)`
+* **Function type:** Scalar, IP address
-Returns true if the IPv4 `address` belongs to the `subnet` literal, else false.
+<details><summary>Example</summary>
+
+The following example returns true if the IP address in the `forward_for` column from the `kttm` datasource belongs to the subnet `181.13.41.0/24`.
+
+```sql
+SELECT
+ "forwarded_for" as "ipv4_address",
Review Comment:
```suggestion
"forwarded_for" AS "ipv4_address",
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org
Re: [PR] [docs] Batch13 IP functions (druid)
Posted by "techdocsmith (via GitHub)" <gi...@apache.org>.
techdocsmith merged PR #16947:
URL: https://github.com/apache/druid/pull/16947
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org
Re: [PR] [docs] Batch13 IP functions (druid)
Posted by "ektravel (via GitHub)" <gi...@apache.org>.
ektravel commented on code in PR #16947:
URL: https://github.com/apache/druid/pull/16947#discussion_r1742928357
##########
docs/querying/sql-functions.md:
##########
@@ -1276,14 +1277,14 @@ Returns the following:
## ICONTAINS_STRING
-Returns `true` if `str` is a substring of `expr`, case-insensitive. Otherwise returns `false`.
+Returns true if `str` is a substring of `expr`, case-insensitive. Otherwise returns false.
Review Comment:
```suggestion
Returns true if `str` is a substring of `expr`, case-insensitive. Otherwise, returns false.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org
Re: [PR] [docs] Batch13 IP functions (druid)
Posted by "techdocsmith (via GitHub)" <gi...@apache.org>.
techdocsmith commented on code in PR #16947:
URL: https://github.com/apache/druid/pull/16947#discussion_r1746336048
##########
docs/querying/sql-functions.md:
##########
@@ -1306,35 +1307,118 @@ Returns the following:
## IPV4_MATCH
-`IPV4_MATCH(address, subnet)`
+Returns true if the IPv4 `address` belongs to the `subnet` literal, otherwise returns false.
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+* **Syntax:** `IPV4_MATCH(address, subnet)`
+* **Function type:** Scalar, IP address
-Returns true if the IPv4 `address` belongs to the `subnet` literal, else false.
+<details><summary>Example</summary>
+
+The following example returns true if the IPv4 address in the `forward_for` column from the `kttm` datasource belongs to the subnet `181.13.41.0/24`.
+
+```sql
+SELECT
+ "forwarded_for" AS "ipv4_address",
+ IPV4_MATCH("forwarded_for", '181.13.41.0/24') AS "belongs_in_subnet"
+FROM "kttm"
+LIMIT 2
+```
+
+Returns the following:
+
+| `ipv4_address` | `belongs_in_subnet`|
+| -- | -- |
+| `181.13.41.82` | `true`|
+| `177.242.100.0` | `false`|
+
+</details>
-## IPV4_PARSE
-`IPV4_PARSE(address)`
+[Learn more](sql-scalar.md#ip-address-functions)
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+
+## IPV4_PARSE
Parses `address` into an IPv4 address stored as an integer.
-## IPV4_STRINGIFY
+* **Syntax:** `IPV4_PARSE(address)`
+* **Function type:** Scalar, IP address
+
+<details><summary>Example</summary>
+
+The following example returns the IPv4 address `5.5.5.5` represented as an integer.
-`IPV4_STRINGIFY(address)`
+```sql
+SELECT
+ '5.5.5.5' AS "ipv4_address",
+ IPV4_PARSE('5.5.5.5') AS "integer"
+```
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+Returns the following:
+
+| `ipv4_address` | `integer` |
+| -- | -- |
+| `5.5.5.5` | `84215045` |
+
+</details>
+
+[Learn more](sql-scalar.md#ip-address-functions)
+
+## IPV4_STRINGIFY
Converts `address` into an IPv4 address in dot-decimal notation.
+* **Syntax:** `IPV4_STRINGIFY(address)`
+* **Function type:** Scalar, IP address
+
+<details><summary>Example</summary>
+
+The following example returns the integer `84215045` in its IPv4 dot-decimal notation.
Review Comment:
```suggestion
The following example returns the integer `84215045` in IPv4 dot-decimal notation.
```
##########
docs/querying/sql-functions.md:
##########
@@ -1306,35 +1307,118 @@ Returns the following:
## IPV4_MATCH
-`IPV4_MATCH(address, subnet)`
+Returns true if the IPv4 `address` belongs to the `subnet` literal, otherwise returns false.
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+* **Syntax:** `IPV4_MATCH(address, subnet)`
+* **Function type:** Scalar, IP address
-Returns true if the IPv4 `address` belongs to the `subnet` literal, else false.
+<details><summary>Example</summary>
+
+The following example returns true if the IPv4 address in the `forward_for` column from the `kttm` datasource belongs to the subnet `181.13.41.0/24`.
+
+```sql
+SELECT
+ "forwarded_for" AS "ipv4_address",
+ IPV4_MATCH("forwarded_for", '181.13.41.0/24') AS "belongs_in_subnet"
+FROM "kttm"
+LIMIT 2
+```
+
+Returns the following:
+
+| `ipv4_address` | `belongs_in_subnet`|
+| -- | -- |
+| `181.13.41.82` | `true`|
+| `177.242.100.0` | `false`|
+
+</details>
-## IPV4_PARSE
-`IPV4_PARSE(address)`
+[Learn more](sql-scalar.md#ip-address-functions)
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+
+## IPV4_PARSE
Parses `address` into an IPv4 address stored as an integer.
Review Comment:
this description seems wrong to me based upon the example. I would say:
> Parses an IPv4 `address` as an integer.
Please verify.
##########
docs/querying/sql-functions.md:
##########
@@ -1306,35 +1307,118 @@ Returns the following:
## IPV4_MATCH
-`IPV4_MATCH(address, subnet)`
+Returns true if the IPv4 `address` belongs to the `subnet` literal, otherwise returns false.
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+* **Syntax:** `IPV4_MATCH(address, subnet)`
+* **Function type:** Scalar, IP address
-Returns true if the IPv4 `address` belongs to the `subnet` literal, else false.
+<details><summary>Example</summary>
+
+The following example returns true if the IPv4 address in the `forward_for` column from the `kttm` datasource belongs to the subnet `181.13.41.0/24`.
+
+```sql
+SELECT
+ "forwarded_for" AS "ipv4_address",
+ IPV4_MATCH("forwarded_for", '181.13.41.0/24') AS "belongs_in_subnet"
+FROM "kttm"
+LIMIT 2
+```
+
+Returns the following:
+
+| `ipv4_address` | `belongs_in_subnet`|
+| -- | -- |
+| `181.13.41.82` | `true`|
+| `177.242.100.0` | `false`|
+
+</details>
-## IPV4_PARSE
-`IPV4_PARSE(address)`
+[Learn more](sql-scalar.md#ip-address-functions)
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+
+## IPV4_PARSE
Parses `address` into an IPv4 address stored as an integer.
-## IPV4_STRINGIFY
+* **Syntax:** `IPV4_PARSE(address)`
+* **Function type:** Scalar, IP address
+
+<details><summary>Example</summary>
+
+The following example returns the IPv4 address `5.5.5.5` represented as an integer.
-`IPV4_STRINGIFY(address)`
+```sql
+SELECT
+ '5.5.5.5' AS "ipv4_address",
+ IPV4_PARSE('5.5.5.5') AS "integer"
+```
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+Returns the following:
+
+| `ipv4_address` | `integer` |
+| -- | -- |
+| `5.5.5.5` | `84215045` |
+
+</details>
+
+[Learn more](sql-scalar.md#ip-address-functions)
+
+## IPV4_STRINGIFY
Converts `address` into an IPv4 address in dot-decimal notation.
Review Comment:
```suggestion
Converts an IPv4 `address` in integer notation into dot-decimal notation.
```
##########
docs/querying/sql-functions.md:
##########
@@ -1306,35 +1307,118 @@ Returns the following:
## IPV4_MATCH
-`IPV4_MATCH(address, subnet)`
+Returns true if the IPv4 `address` belongs to the `subnet` literal, otherwise returns false.
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+* **Syntax:** `IPV4_MATCH(address, subnet)`
+* **Function type:** Scalar, IP address
-Returns true if the IPv4 `address` belongs to the `subnet` literal, else false.
+<details><summary>Example</summary>
+
+The following example returns true if the IPv4 address in the `forward_for` column from the `kttm` datasource belongs to the subnet `181.13.41.0/24`.
+
+```sql
+SELECT
+ "forwarded_for" AS "ipv4_address",
+ IPV4_MATCH("forwarded_for", '181.13.41.0/24') AS "belongs_in_subnet"
+FROM "kttm"
+LIMIT 2
+```
+
+Returns the following:
+
+| `ipv4_address` | `belongs_in_subnet`|
+| -- | -- |
+| `181.13.41.82` | `true`|
+| `177.242.100.0` | `false`|
+
+</details>
-## IPV4_PARSE
-`IPV4_PARSE(address)`
+[Learn more](sql-scalar.md#ip-address-functions)
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+
+## IPV4_PARSE
Parses `address` into an IPv4 address stored as an integer.
-## IPV4_STRINGIFY
+* **Syntax:** `IPV4_PARSE(address)`
+* **Function type:** Scalar, IP address
+
+<details><summary>Example</summary>
+
+The following example returns the IPv4 address `5.5.5.5` represented as an integer.
Review Comment:
```suggestion
The following example returns an integer that represents the IPv4 address `5.5.5.5`.
```
avoid passive.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org
Re: [PR] [docs] Batch13 IP functions (druid)
Posted by "ektravel (via GitHub)" <gi...@apache.org>.
ektravel commented on code in PR #16947:
URL: https://github.com/apache/druid/pull/16947#discussion_r1742930793
##########
docs/querying/sql-functions.md:
##########
@@ -1306,36 +1307,119 @@ Returns the following:
## IPV4_MATCH
-`IPV4_MATCH(address, subnet)`
+Returns true if the IPv4 `address` belongs to the `subnet` literal, otherwise returns false.
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+* **Syntax:** `IPV4_MATCH(address, subnet)`
+* **Function type:** Scalar, IP address
-Returns true if the IPv4 `address` belongs to the `subnet` literal, else false.
+<details><summary>Example</summary>
+
+The following example returns true if the IP address in the `forward_for` column from the `kttm` datasource belongs to the subnet `181.13.41.0/24`.
Review Comment:
```suggestion
The following example returns true if the IPv4 address in the `forward_for` column from the `kttm` datasource belongs to the subnet `181.13.41.0/24`.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org
Re: [PR] [docs] Batch13 IP functions (druid)
Posted by "ektravel (via GitHub)" <gi...@apache.org>.
ektravel commented on code in PR #16947:
URL: https://github.com/apache/druid/pull/16947#discussion_r1742927965
##########
docs/querying/sql-functions.md:
##########
@@ -731,14 +732,14 @@ Returns the following:
## CONTAINS_STRING
-Returns `true` if `str` is a substring of `expr`, case-sensitive. Otherwise returns `false`.
+Returns true if `str` is a substring of `expr`, case-sensitive. Otherwise returns false.
Review Comment:
```suggestion
Returns true if `str` is a substring of `expr`, case-sensitive. Otherwise, returns false.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org
Re: [PR] [docs] Batch13 IP functions (druid)
Posted by "ektravel (via GitHub)" <gi...@apache.org>.
ektravel commented on code in PR #16947:
URL: https://github.com/apache/druid/pull/16947#discussion_r1745898869
##########
docs/querying/sql-functions.md:
##########
@@ -1306,36 +1307,119 @@ Returns the following:
## IPV4_MATCH
-`IPV4_MATCH(address, subnet)`
+Returns true if the IPv4 `address` belongs to the `subnet` literal, otherwise returns false.
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+* **Syntax:** `IPV4_MATCH(address, subnet)`
+* **Function type:** Scalar, IP address
-Returns true if the IPv4 `address` belongs to the `subnet` literal, else false.
+<details><summary>Example</summary>
+
+The following example returns true if the IPv4 address in the `forward_for` column from the `kttm` datasource belongs to the subnet `181.13.41.0/24`.
+
+```sql
+SELECT
+ "forwarded_for" AS "ipv4_address",
+ IPV4_MATCH("forwarded_for", '181.13.41.0/24') AS "belongs_in_subnet"
+FROM "kttm"
+LIMIT 2
+```
+
+Returns the following:
+
+| `ipv4_address` | `belongs_in_subnet`|
+| -- | -- |
+| `181.13.41.82` | `true`|
+| `177.242.100.0` | `false`|
+
+</details>
-## IPV4_PARSE
-`IPV4_PARSE(address)`
+[Learn more](sql-scalar.md#ip-address-functions)
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+
+## IPV4_PARSE
Parses `address` into an IPv4 address stored as an integer.
-## IPV4_STRINGIFY
+* **Syntax:** `IPV4_PARSE(address)`
+* **Function type:** Scalar, IP address
+
+<details><summary>Example</summary>
+
+The following example returns the IPv4 address `5.5.5.5` represented as an integer.
+
+```sql
+SELECT
+ '5.5.5.5' AS "ipv4_address",
+ IPV4_PARSE('5.5.5.5') AS "integer"
+```
-`IPV4_STRINGIFY(address)`
+Returns the following:
+
+| `ipv4_address` | `integer` |
+| -- | -- |
+| `5.5.5.5` | `84215045` |
+
+</details>
+
+[Learn more](sql-scalar.md#ip-address-functions)
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+## IPV4_STRINGIFY
Converts `address` into an IPv4 address in dot-decimal notation.
-## IPV6_MATCH
+* **Syntax:** `IPV4_STRINGIFY(address)`
+* **Function type:** Scalar, IP address
-`IPV6_MATCH(address, subnet)`
+<details><summary>Example</summary>
+
+The following example returns the integer `84215045` in its IPv4 dot-decimal notation.
+
+```sql
+SELECT
+ '84215045' AS "integer",
+ IPV4_STRINGIFY(84215045) AS "dot_decimal_notation"
+```
+
+Returns the following:
-**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+| `integer` | `dot_decimal_notation` |
+| -- | -- |
+| `84215045` | `5.5.5.5` |
+
+</details>
+
+[Learn more](sql-scalar.md#ip-address-functions)
+
+## IPV6_MATCH
Returns true if the IPv6 `address` belongs to the `subnet` literal, else false.
Review Comment:
```suggestion
Returns true if the IPv6 `address` belongs to the `subnet` literal. Otherwise, returns false.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org