[SPARK-27672][SQL] Add since
info to string expressions
## What changes were proposed in this pull request? This PR adds since information to the all string expressions below: SPARK-8241 ConcatWs SPARK-16276 Elt SPARK-1995 Upper / Lower SPARK-20750 StringReplace SPARK-8266 StringTranslate SPARK-8244 FindInSet SPARK-8253 StringTrimLeft SPARK-8260 StringTrimRight SPARK-8267 StringTrim SPARK-8247 StringInstr SPARK-8264 SubstringIndex SPARK-8249 StringLocate SPARK-8252 StringLPad SPARK-8259 StringRPad SPARK-16281 ParseUrl SPARK-9154 FormatString SPARK-8269 Initcap SPARK-8257 StringRepeat SPARK-8261 StringSpace SPARK-8263 Substring SPARK-21007 Right SPARK-21007 Left SPARK-8248 Length SPARK-20749 BitLength SPARK-20749 OctetLength SPARK-8270 Levenshtein SPARK-8271 SoundEx SPARK-8238 Ascii SPARK-20748 Chr SPARK-8239 Base64 SPARK-8268 UnBase64 SPARK-8242 Decode SPARK-8243 Encode SPARK-8245 format_number SPARK-16285 Sentences ## How was this patch tested? N/A Closes #24578 from HyukjinKwon/SPARK-27672. Authored-by: HyukjinKwon <gurwls223@apache.org> Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
This commit is contained in:
parent
80de449f51
commit
3442fcaa9b
|
@ -50,7 +50,8 @@ import org.apache.spark.unsafe.types.{ByteArray, UTF8String}
|
|||
Examples:
|
||||
> SELECT _FUNC_(' ', 'Spark', 'SQL');
|
||||
Spark SQL
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class ConcatWs(children: Seq[Expression])
|
||||
extends Expression with ImplicitCastInputTypes {
|
||||
|
@ -203,7 +204,8 @@ case class ConcatWs(children: Seq[Expression])
|
|||
Examples:
|
||||
> SELECT _FUNC_(1, 'scala', 'java');
|
||||
scala
|
||||
""")
|
||||
""",
|
||||
since = "2.0.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class Elt(children: Seq[Expression]) extends Expression {
|
||||
|
||||
|
@ -326,7 +328,8 @@ trait String2StringExpression extends ImplicitCastInputTypes {
|
|||
Examples:
|
||||
> SELECT _FUNC_('SparkSql');
|
||||
SPARKSQL
|
||||
""")
|
||||
""",
|
||||
since = "1.0.1")
|
||||
case class Upper(child: Expression)
|
||||
extends UnaryExpression with String2StringExpression {
|
||||
|
||||
|
@ -348,7 +351,8 @@ case class Upper(child: Expression)
|
|||
Examples:
|
||||
> SELECT _FUNC_('SparkSql');
|
||||
sparksql
|
||||
""")
|
||||
""",
|
||||
since = "1.0.1")
|
||||
case class Lower(child: Expression) extends UnaryExpression with String2StringExpression {
|
||||
|
||||
// scalastyle:off caselocale
|
||||
|
@ -421,7 +425,8 @@ case class EndsWith(left: Expression, right: Expression) extends StringPredicate
|
|||
Examples:
|
||||
> SELECT _FUNC_('ABCabc', 'abc', 'DEF');
|
||||
ABCDEF
|
||||
""")
|
||||
""",
|
||||
since = "2.3.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class StringReplace(srcExpr: Expression, searchExpr: Expression, replaceExpr: Expression)
|
||||
extends TernaryExpression with ImplicitCastInputTypes {
|
||||
|
@ -479,7 +484,8 @@ object StringTranslate {
|
|||
Examples:
|
||||
> SELECT _FUNC_('AaBbCc', 'abc', '123');
|
||||
A1B2C3
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class StringTranslate(srcExpr: Expression, matchingExpr: Expression, replaceExpr: Expression)
|
||||
extends TernaryExpression with ImplicitCastInputTypes {
|
||||
|
@ -543,7 +549,8 @@ case class StringTranslate(srcExpr: Expression, matchingExpr: Expression, replac
|
|||
Examples:
|
||||
> SELECT _FUNC_('ab','abc,b,ab,c,def');
|
||||
3
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class FindInSet(left: Expression, right: Expression) extends BinaryExpression
|
||||
with ImplicitCastInputTypes {
|
||||
|
@ -625,7 +632,8 @@ object StringTrim {
|
|||
parkSQLS
|
||||
> SELECT _FUNC_(TRAILING 'SL' FROM 'SSparkSQLS');
|
||||
SSparkSQ
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class StringTrim(
|
||||
srcStr: Expression,
|
||||
trimStr: Option[Expression] = None)
|
||||
|
@ -724,7 +732,8 @@ object StringTrimLeft {
|
|||
SparkSQL
|
||||
> SELECT _FUNC_('Sp', 'SSparkSQLS');
|
||||
arkSQLS
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class StringTrimLeft(
|
||||
srcStr: Expression,
|
||||
trimStr: Option[Expression] = None)
|
||||
|
@ -825,7 +834,8 @@ object StringTrimRight {
|
|||
SparkSQL
|
||||
> SELECT _FUNC_('LQSa', 'SSparkSQLS');
|
||||
SSpark
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class StringTrimRight(
|
||||
srcStr: Expression,
|
||||
|
@ -905,7 +915,8 @@ case class StringTrimRight(
|
|||
Examples:
|
||||
> SELECT _FUNC_('SparkSQL', 'SQL');
|
||||
6
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class StringInstr(str: Expression, substr: Expression)
|
||||
extends BinaryExpression with ImplicitCastInputTypes {
|
||||
|
@ -946,7 +957,8 @@ case class StringInstr(str: Expression, substr: Expression)
|
|||
Examples:
|
||||
> SELECT _FUNC_('www.apache.org', '.', 2);
|
||||
www.apache
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class SubstringIndex(strExpr: Expression, delimExpr: Expression, countExpr: Expression)
|
||||
extends TernaryExpression with ImplicitCastInputTypes {
|
||||
|
@ -985,7 +997,8 @@ case class SubstringIndex(strExpr: Expression, delimExpr: Expression, countExpr:
|
|||
7
|
||||
> SELECT POSITION('bar' IN 'foobarbar');
|
||||
4
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class StringLocate(substr: Expression, str: Expression, start: Expression)
|
||||
extends TernaryExpression with ImplicitCastInputTypes {
|
||||
|
@ -1070,7 +1083,8 @@ case class StringLocate(substr: Expression, str: Expression, start: Expression)
|
|||
???hi
|
||||
> SELECT _FUNC_('hi', 1, '??');
|
||||
h
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class StringLPad(str: Expression, len: Expression, pad: Expression)
|
||||
extends TernaryExpression with ImplicitCastInputTypes {
|
||||
|
||||
|
@ -1103,7 +1117,8 @@ case class StringLPad(str: Expression, len: Expression, pad: Expression)
|
|||
hi???
|
||||
> SELECT _FUNC_('hi', 1, '??');
|
||||
h
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class StringRPad(str: Expression, len: Expression, pad: Expression)
|
||||
extends TernaryExpression with ImplicitCastInputTypes {
|
||||
|
||||
|
@ -1148,7 +1163,8 @@ object ParseUrl {
|
|||
query=1
|
||||
> SELECT _FUNC_('http://spark.apache.org/path?query=1', 'QUERY', 'query')
|
||||
1
|
||||
""")
|
||||
""",
|
||||
since = "2.0.0")
|
||||
case class ParseUrl(children: Seq[Expression])
|
||||
extends Expression with ExpectsInputTypes with CodegenFallback {
|
||||
|
||||
|
@ -1299,7 +1315,8 @@ case class ParseUrl(children: Seq[Expression])
|
|||
Examples:
|
||||
> SELECT _FUNC_("Hello World %d %s", 100, "days");
|
||||
Hello World 100 days
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class FormatString(children: Expression*) extends Expression with ImplicitCastInputTypes {
|
||||
|
||||
|
@ -1386,7 +1403,8 @@ case class FormatString(children: Expression*) extends Expression with ImplicitC
|
|||
Examples:
|
||||
> SELECT _FUNC_('sPark sql');
|
||||
Spark Sql
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class InitCap(child: Expression) extends UnaryExpression with ImplicitCastInputTypes {
|
||||
|
||||
override def inputTypes: Seq[DataType] = Seq(StringType)
|
||||
|
@ -1411,7 +1429,8 @@ case class InitCap(child: Expression) extends UnaryExpression with ImplicitCastI
|
|||
Examples:
|
||||
> SELECT _FUNC_('123', 2);
|
||||
123123
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class StringRepeat(str: Expression, times: Expression)
|
||||
extends BinaryExpression with ImplicitCastInputTypes {
|
||||
|
||||
|
@ -1440,7 +1459,8 @@ case class StringRepeat(str: Expression, times: Expression)
|
|||
Examples:
|
||||
> SELECT concat(_FUNC_(2), '1');
|
||||
1
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class StringSpace(child: Expression)
|
||||
extends UnaryExpression with ImplicitCastInputTypes {
|
||||
|
||||
|
@ -1477,7 +1497,8 @@ case class StringSpace(child: Expression)
|
|||
SQL
|
||||
> SELECT _FUNC_('Spark SQL', 5, 1);
|
||||
k
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class Substring(str: Expression, pos: Expression, len: Expression)
|
||||
extends TernaryExpression with ImplicitCastInputTypes with NullIntolerant {
|
||||
|
@ -1523,7 +1544,8 @@ case class Substring(str: Expression, pos: Expression, len: Expression)
|
|||
Examples:
|
||||
> SELECT _FUNC_('Spark SQL', 3);
|
||||
SQL
|
||||
""")
|
||||
""",
|
||||
since = "2.3.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class Right(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable {
|
||||
def this(str: Expression, len: Expression) = {
|
||||
|
@ -1545,7 +1567,8 @@ case class Right(str: Expression, len: Expression, child: Expression) extends Ru
|
|||
Examples:
|
||||
> SELECT _FUNC_('Spark SQL', 3);
|
||||
Spa
|
||||
""")
|
||||
""",
|
||||
since = "2.3.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class Left(str: Expression, len: Expression, child: Expression) extends RuntimeReplaceable {
|
||||
def this(str: Expression, len: Expression) = {
|
||||
|
@ -1571,7 +1594,8 @@ case class Left(str: Expression, len: Expression, child: Expression) extends Run
|
|||
10
|
||||
> SELECT CHARACTER_LENGTH('Spark SQL ');
|
||||
10
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class Length(child: Expression) extends UnaryExpression with ImplicitCastInputTypes {
|
||||
override def dataType: DataType = IntegerType
|
||||
|
@ -1599,7 +1623,8 @@ case class Length(child: Expression) extends UnaryExpression with ImplicitCastIn
|
|||
Examples:
|
||||
> SELECT _FUNC_('Spark SQL');
|
||||
72
|
||||
""")
|
||||
""",
|
||||
since = "2.3.0")
|
||||
case class BitLength(child: Expression) extends UnaryExpression with ImplicitCastInputTypes {
|
||||
override def dataType: DataType = IntegerType
|
||||
override def inputTypes: Seq[AbstractDataType] = Seq(TypeCollection(StringType, BinaryType))
|
||||
|
@ -1629,7 +1654,8 @@ case class BitLength(child: Expression) extends UnaryExpression with ImplicitCas
|
|||
Examples:
|
||||
> SELECT _FUNC_('Spark SQL');
|
||||
9
|
||||
""")
|
||||
""",
|
||||
since = "2.3.0")
|
||||
case class OctetLength(child: Expression) extends UnaryExpression with ImplicitCastInputTypes {
|
||||
override def dataType: DataType = IntegerType
|
||||
override def inputTypes: Seq[AbstractDataType] = Seq(TypeCollection(StringType, BinaryType))
|
||||
|
@ -1658,7 +1684,8 @@ case class OctetLength(child: Expression) extends UnaryExpression with ImplicitC
|
|||
Examples:
|
||||
> SELECT _FUNC_('kitten', 'sitting');
|
||||
3
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class Levenshtein(left: Expression, right: Expression) extends BinaryExpression
|
||||
with ImplicitCastInputTypes {
|
||||
|
||||
|
@ -1683,7 +1710,8 @@ case class Levenshtein(left: Expression, right: Expression) extends BinaryExpres
|
|||
Examples:
|
||||
> SELECT _FUNC_('Miller');
|
||||
M460
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class SoundEx(child: Expression) extends UnaryExpression with ExpectsInputTypes {
|
||||
|
||||
override def dataType: DataType = StringType
|
||||
|
@ -1708,7 +1736,8 @@ case class SoundEx(child: Expression) extends UnaryExpression with ExpectsInputT
|
|||
50
|
||||
> SELECT _FUNC_(2);
|
||||
50
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class Ascii(child: Expression) extends UnaryExpression with ImplicitCastInputTypes {
|
||||
|
||||
override def dataType: DataType = IntegerType
|
||||
|
@ -1748,7 +1777,8 @@ case class Ascii(child: Expression) extends UnaryExpression with ImplicitCastInp
|
|||
Examples:
|
||||
> SELECT _FUNC_(65);
|
||||
A
|
||||
""")
|
||||
""",
|
||||
since = "2.3.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class Chr(child: Expression) extends UnaryExpression with ImplicitCastInputTypes {
|
||||
|
||||
|
@ -1791,7 +1821,8 @@ case class Chr(child: Expression) extends UnaryExpression with ImplicitCastInput
|
|||
Examples:
|
||||
> SELECT _FUNC_('Spark SQL');
|
||||
U3BhcmsgU1FM
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class Base64(child: Expression) extends UnaryExpression with ImplicitCastInputTypes {
|
||||
|
||||
override def dataType: DataType = StringType
|
||||
|
@ -1820,7 +1851,8 @@ case class Base64(child: Expression) extends UnaryExpression with ImplicitCastIn
|
|||
Examples:
|
||||
> SELECT _FUNC_('U3BhcmsgU1FM');
|
||||
Spark SQL
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class UnBase64(child: Expression) extends UnaryExpression with ImplicitCastInputTypes {
|
||||
|
||||
override def dataType: DataType = BinaryType
|
||||
|
@ -1849,7 +1881,8 @@ case class UnBase64(child: Expression) extends UnaryExpression with ImplicitCast
|
|||
Examples:
|
||||
> SELECT _FUNC_(encode('abc', 'utf-8'), 'utf-8');
|
||||
abc
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class Decode(bin: Expression, charset: Expression)
|
||||
extends BinaryExpression with ImplicitCastInputTypes {
|
||||
|
@ -1888,7 +1921,8 @@ case class Decode(bin: Expression, charset: Expression)
|
|||
Examples:
|
||||
> SELECT _FUNC_('abc', 'utf-8');
|
||||
abc
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
// scalastyle:on line.size.limit
|
||||
case class Encode(value: Expression, charset: Expression)
|
||||
extends BinaryExpression with ImplicitCastInputTypes {
|
||||
|
@ -1932,7 +1966,8 @@ case class Encode(value: Expression, charset: Expression)
|
|||
12,332.1235
|
||||
> SELECT _FUNC_(12332.123456, '##################.###');
|
||||
12332.123
|
||||
""")
|
||||
""",
|
||||
since = "1.5.0")
|
||||
case class FormatNumber(x: Expression, d: Expression)
|
||||
extends BinaryExpression with ExpectsInputTypes {
|
||||
|
||||
|
@ -2102,7 +2137,8 @@ case class FormatNumber(x: Expression, d: Expression)
|
|||
Examples:
|
||||
> SELECT _FUNC_('Hi there! Good morning.');
|
||||
[["Hi","there"],["Good","morning"]]
|
||||
""")
|
||||
""",
|
||||
since = "2.0.0")
|
||||
case class Sentences(
|
||||
str: Expression,
|
||||
language: Expression = Literal(""),
|
||||
|
|
Loading…
Reference in a new issue