trait VariantExtraction extends Serializable
Variant extraction information that describes a single field extraction from a variant column.
This interface captures the information needed by data sources to optimize reading variant columns. Each instance represents one field extraction operation (e.g., from variant_get or try_variant_get).
For example, if a query contains variant_get(v, '$.a', 'int'), this would be represented
as a VariantExtraction with columnName=["v"], path="$.a", and expectedDataType=IntegerType.
- Annotations
- @Experimental()
- Source
- VariantExtraction.java
- Since
4.1.0
- Alphabetic
- By Inheritance
- VariantExtraction
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def columnName(): Array[String]
Returns the path to the variant column.
Returns the path to the variant column. For top-level variant columns, this is a single element array containing the column name. For nested variant columns within structs, this is an array representing the path (e.g., ["structCol", "innerStruct", "variantCol"]).
- abstract def expectedDataType(): DataType
Returns the expected data type for the extracted value.
Returns the expected data type for the extracted value. This is the target type specified in variant_get (e.g., IntegerType, StringType).
- abstract def metadata(): Metadata
Returns the metadata associated with this variant extraction.
Returns the metadata associated with this variant extraction. This may include additional information needed by the data source: - "path": the extraction path from variant_get or try_variant_get. This follows JSON path syntax (e.g., "$.a", "$.b.c", "$[0]"). - "failOnError": whether the extraction to expected data type should throw an exception or return null if the cast fails. - "timeZoneId": a string identifier of a time zone. It is required by timestamp-related casts.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)