diff --git a/python/pyspark/sql/connect/column.py b/python/pyspark/sql/connect/column.py index 26cb1477cee37..7b60adb162966 100644 --- a/python/pyspark/sql/connect/column.py +++ b/python/pyspark/sql/connect/column.py @@ -239,24 +239,15 @@ def substr(self, startPos: Union[int, "Column"], length: Union[int, "Column"]) - if isinstance(length, Column): length_expr = length._expr + start_expr = startPos._expr # type: ignore[union-attr] elif isinstance(length, int): length_expr = LiteralExpression._from_value(length) - else: - raise PySparkTypeError( - error_class="NOT_COLUMN_OR_INT", - message_parameters={"arg_name": "length", "arg_type": type(length).__name__}, - ) - - if isinstance(startPos, Column): - start_expr = startPos._expr - elif isinstance(startPos, int): start_expr = LiteralExpression._from_value(startPos) else: raise PySparkTypeError( error_class="NOT_COLUMN_OR_INT", - message_parameters={"arg_name": "startPos", "arg_type": type(startPos).__name__}, + message_parameters={"arg_name": "length", "arg_type": type(length).__name__}, ) - return Column(UnresolvedFunction("substring", [self._expr, start_expr, length_expr])) substr.__doc__ = PySparkColumn.substr.__doc__