@@ -56,13 +56,14 @@ pub type DFExtensionTypeRef = Arc<dyn DFExtensionType>;
5656/// extension type registries. In the future, the two implementations may increasingly converge.
5757///
5858/// Another difference is that [`DFExtensionType`] represents a fully resolved extension type that
59- /// has a fixed storage type (i.e., [`DataType`]). This is different from arrow-rs, which does not
60- /// have a fixed storage type. For example, while the DataFusion and arrow-rs JSON types share the
61- /// same metadata, an instance of DataFusion's extension type chooses one of the three possible
62- /// storage types: [`DataType::Utf8`], [`DataType::LargeUtf8`], or [`DataType::Utf8View`].
63- /// This fixed storaga type is returned in [`DFExtensionType::storage_type`]. This is also the
64- /// reason why we have different structs in DataFusion (e.g., [`DFJson`](crate::types::DFJson)
65- /// instead of [`Json`](arrow_schema::extension::Json)).
59+ /// has a fixed storage type (i.e., [`DataType`]). This is different from arrow-rs, which only
60+ /// stores the extension type's metadata. For example, an instance of DataFusion's JSON extension
61+ /// type fixes one of the three possible storage types: [`DataType::Utf8`],
62+ /// [`DataType::LargeUtf8`], or [`DataType::Utf8View`]. This fixed storaga type is returned in
63+ /// [`DFExtensionType::storage_type`]. This is not possible in arrow-rs' extension type instances.
64+ /// This is the reason why we have different types in DataFusion that usually delegate the metadata
65+ /// processing to the underlying arrow-rs extension type instance
66+ /// (e.g., [`DFJson`](crate::types::DFJson) instead of [`Json`](arrow_schema::extension::Json)).
6667///
6768/// # Examples
6869///
0 commit comments