Packages

trait SimpleProcedure extends UnboundProcedure with BoundProcedure

A procedure that does not require binding to input types.

This interface is designed for procedures that have no overloads and do not need custom binding logic. Implementations can directly provide procedure parameters and execution logic without implementing the bind method.

The default bind method simply returns this, as the procedure is already considered bound.

Annotations
@Evolving()
Source
SimpleProcedure.java
Since

4.2.0

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SimpleProcedure
  2. BoundProcedure
  3. UnboundProcedure
  4. Procedure
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def call(input: InternalRow): Iterator[Scan]

    Executes this procedure with the given input.

    Executes this procedure with the given input.

    Spark validates and rearranges arguments provided in the CALL statement to ensure that the order and data types of the fields in input matches the expected order and types defined by parameters.

    Each procedure can return any number of result sets. Each result set is represented by a scan that reports the type of records it produces and can be used to collect the output, if needed. If a result set is local and does not a distributed job, implementations should use LocalScan.

    Definition Classes
    BoundProcedure
  2. abstract def isDeterministic(): Boolean

    Indicates whether this procedure is deterministic.

    Indicates whether this procedure is deterministic.

    Definition Classes
    BoundProcedure
  3. abstract def name(): String

    Returns the name of this procedure.

    Returns the name of this procedure.

    Definition Classes
    Procedure
  4. abstract def parameters(): Array[ProcedureParameter]

    Returns parameters of this procedure.

    Returns parameters of this procedure.

    Definition Classes
    BoundProcedure

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def bind(inputType: StructType): BoundProcedure

    Binds this procedure to input types.

    Binds this procedure to input types.

    If the catalog supports procedure overloading, the implementation is expected to pick the best matching version of the procedure. If overloading is not supported, the implementation can validate if the input types are compatible while binding or delegate that to Spark. Regardless, Spark will always perform the final validation of the arguments and rearrange them as needed based on reported parameters.

    The provided inputType is based on the procedure arguments. If an argument is passed by name, its metadata will indicate this with ProcedureParameter#BY_NAME_METADATA_KEY set to true. In such cases, the field name will match the name of the target procedure parameter. If the argument is not named, ProcedureParameter#BY_NAME_METADATA_KEY will not be set and the name will be assigned randomly.

    inputType

    the input types to bind to

    returns

    the bound procedure that is most suitable for the given input types

    Definition Classes
    SimpleProcedureUnboundProcedure
    Annotations
    @Override()
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  7. def description(): String

    Returns the description of this procedure.

    Returns the description of this procedure.

    Definition Classes
    Procedure
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from BoundProcedure

Inherited from UnboundProcedure

Inherited from Procedure

Inherited from AnyRef

Inherited from Any

Ungrouped