Skip to content
1 change: 1 addition & 0 deletions proto/substrait/extensions/extensions.proto
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ message SimpleExtensionURN {

// The extension URN that uniquely identifies this extension. This must follow the
// format extension:<OWNER>:<ID> and serves as the "namespace" of this extension.
// Otherwise, the urn is a RFC 8141 valid URN with the "urn:" prefix taken off.
Comment thread
benbellick marked this conversation as resolved.
Outdated
string urn = 2;
}

Expand Down
2 changes: 1 addition & 1 deletion site/docs/extensions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Some kinds of primitives are so frequently extended that Substrait defines a sta
* Window Functions
* Table Functions

To extend these items, developers can create one or more YAML files that describe the properties of each of these extensions. Each YAML file must include a required `urn` field that uniquely identifies the extension. While these identifiers are URN-like but not technically URNs (they lack the `urn:` prefix), they will be referred to as `extension URNs` for clarity.
To extend these items, developers can create one or more YAML files that describe the properties of each of these extensions. Each YAML file must include a required `urn` field that uniquely identifies the extension. While these identifiers are URN-like but not technically URNs (they lack the `urn:` prefix), they will be referred to as `extension URNs` for clarity. (These URNs are otherwise valid [RFC 8141](https://www.rfc-editor.org/rfc/rfc8141.html) with the `"urn:` prefix removed from the front.)
Comment thread
benbellick marked this conversation as resolved.
Outdated

This extension URN uses the format `extension:<OWNER>:<ID>`, where:

Expand Down
2 changes: 1 addition & 1 deletion site/docs/serialization/binary_serialization.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For simple extensions, a plan references the extension URNs associated with the

Simple extensions within a plan are split into three components: an extension URN, an extension declaration and a number of references.

* **Extension URN**: A unique identifier for the extension following the format `extension:<OWNER>:<ID>` that identifies a YAML document specifying one or more specific extensions. Declares an anchor that can be used in extension declarations.
* **Extension URN**: A unique identifier for the extension following the format `extension:<OWNER>:<ID>` that identifies a YAML document specifying one or more specific extensions. Declares an anchor that can be used in extension declarations. The URN is neccessarily a valid [RFC 8141](https://www.rfc-editor.org/rfc/rfc8141.html) but with the `"urn:"` prefix cutoff.
Comment thread
benbellick marked this conversation as resolved.
Outdated
* **Extension Declaration**: A specific extension within a single YAML document. The declaration combines a reference to the associated extension URN along with a unique key identifying the specific item within that YAML document (see [Function Signature](../extensions/index.md#function-signature)). It also defines a declaration anchor. The anchor is a plan-specific unique value that the producer creates as a key to be referenced elsewhere.
* **Extension Reference**: A specific instance or use of an extension declaration within the plan body.

Expand Down
Loading