[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:
HyukjinKwon 2019-05-10 09:11:12 -07:00 committed by Dongjoon Hyun
parent 80de449f51
commit 3442fcaa9b

View file

@ -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(""),