[opt](Nereids) add two args signature to trim family functions (#25169)
This commit is contained in:
@ -37,11 +37,18 @@ import java.util.List;
|
||||
public class Ltrim extends ScalarFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature, PropagateNullable {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
private static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT)
|
||||
.args(VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
|
||||
FunctionSignature.ret(StringType.INSTANCE).args(StringType.INSTANCE, StringType.INSTANCE),
|
||||
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(VarcharType.SYSTEM_DEFAULT),
|
||||
FunctionSignature.ret(StringType.INSTANCE).args(StringType.INSTANCE)
|
||||
);
|
||||
|
||||
private Ltrim(List<Expression> args) {
|
||||
super("ltrim", args);
|
||||
}
|
||||
|
||||
/**
|
||||
* constructor with 1 argument.
|
||||
*/
|
||||
@ -49,13 +56,20 @@ public class Ltrim extends ScalarFunction
|
||||
super("ltrim", arg);
|
||||
}
|
||||
|
||||
/**
|
||||
* constructor with 2 argument.
|
||||
*/
|
||||
public Ltrim(Expression arg0, Expression arg1) {
|
||||
super("ltrim", arg0, arg1);
|
||||
}
|
||||
|
||||
/**
|
||||
* withChildren.
|
||||
*/
|
||||
@Override
|
||||
public Ltrim withChildren(List<Expression> children) {
|
||||
Preconditions.checkArgument(children.size() == 1);
|
||||
return new Ltrim(children.get(0));
|
||||
Preconditions.checkArgument(children.size() == 1 || children.size() == 2);
|
||||
return new Ltrim(children);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -37,11 +37,18 @@ import java.util.List;
|
||||
public class Rtrim extends ScalarFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature, PropagateNullable {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
private static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT)
|
||||
.args(VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
|
||||
FunctionSignature.ret(StringType.INSTANCE).args(StringType.INSTANCE, StringType.INSTANCE),
|
||||
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(VarcharType.SYSTEM_DEFAULT),
|
||||
FunctionSignature.ret(StringType.INSTANCE).args(StringType.INSTANCE)
|
||||
);
|
||||
|
||||
private Rtrim(List<Expression> args) {
|
||||
super("rtrim", args);
|
||||
}
|
||||
|
||||
/**
|
||||
* constructor with 1 argument.
|
||||
*/
|
||||
@ -49,13 +56,20 @@ public class Rtrim extends ScalarFunction
|
||||
super("rtrim", arg);
|
||||
}
|
||||
|
||||
/**
|
||||
* constructor with 2 argument.
|
||||
*/
|
||||
public Rtrim(Expression arg0, Expression arg1) {
|
||||
super("rtrim", arg0, arg1);
|
||||
}
|
||||
|
||||
/**
|
||||
* withChildren.
|
||||
*/
|
||||
@Override
|
||||
public Rtrim withChildren(List<Expression> children) {
|
||||
Preconditions.checkArgument(children.size() == 1);
|
||||
return new Rtrim(children.get(0));
|
||||
Preconditions.checkArgument(children.size() == 1 || children.size() == 2);
|
||||
return new Rtrim(children);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -37,11 +37,18 @@ import java.util.List;
|
||||
public class Trim extends ScalarFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature, PropagateNullable {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
private static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT)
|
||||
.args(VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
|
||||
FunctionSignature.ret(StringType.INSTANCE).args(StringType.INSTANCE, StringType.INSTANCE),
|
||||
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(VarcharType.SYSTEM_DEFAULT),
|
||||
FunctionSignature.ret(StringType.INSTANCE).args(StringType.INSTANCE)
|
||||
);
|
||||
|
||||
private Trim(List<Expression> args) {
|
||||
super("trim", args);
|
||||
}
|
||||
|
||||
/**
|
||||
* constructor with 1 argument.
|
||||
*/
|
||||
@ -49,13 +56,20 @@ public class Trim extends ScalarFunction
|
||||
super("trim", arg);
|
||||
}
|
||||
|
||||
/**
|
||||
* constructor with 2 argument.
|
||||
*/
|
||||
public Trim(Expression arg0, Expression arg1) {
|
||||
super("trim", arg0, arg1);
|
||||
}
|
||||
|
||||
/**
|
||||
* withChildren.
|
||||
*/
|
||||
@Override
|
||||
public Trim withChildren(List<Expression> children) {
|
||||
Preconditions.checkArgument(children.size() == 1);
|
||||
return new Trim(children.get(0));
|
||||
Preconditions.checkArgument(children.size() == 1 || children.size() == 2);
|
||||
return new Trim(children);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1072,3 +1072,61 @@ string3
|
||||
string3
|
||||
string3
|
||||
|
||||
-- !sql_ltrim_Varchar_Varchar --
|
||||
null
|
||||
char11
|
||||
char11
|
||||
char11
|
||||
char11
|
||||
char12
|
||||
char12
|
||||
char12
|
||||
char12
|
||||
char13
|
||||
char13
|
||||
char13
|
||||
char13
|
||||
|
||||
-- !sql_ltrim_Varchar_Varchar_notnull --
|
||||
char11
|
||||
char11
|
||||
char11
|
||||
char11
|
||||
char12
|
||||
char12
|
||||
char12
|
||||
char12
|
||||
char13
|
||||
char13
|
||||
char13
|
||||
char13
|
||||
|
||||
-- !sql_ltrim_String_String --
|
||||
null
|
||||
ing1
|
||||
ing1
|
||||
ing1
|
||||
ing1
|
||||
ing2
|
||||
ing2
|
||||
ing2
|
||||
ing2
|
||||
ing3
|
||||
ing3
|
||||
ing3
|
||||
ing3
|
||||
|
||||
-- !sql_ltrim_String_String_notnull --
|
||||
ing1
|
||||
ing1
|
||||
ing1
|
||||
ing1
|
||||
ing2
|
||||
ing2
|
||||
ing2
|
||||
ing2
|
||||
ing3
|
||||
ing3
|
||||
ing3
|
||||
ing3
|
||||
|
||||
|
||||
@ -1043,3 +1043,61 @@ string3
|
||||
string3
|
||||
string3
|
||||
|
||||
-- !sql_rtrim_Varchar_Varchar --
|
||||
null
|
||||
varchar
|
||||
varchar
|
||||
varchar
|
||||
varchar
|
||||
varchar12
|
||||
varchar12
|
||||
varchar12
|
||||
varchar12
|
||||
varchar13
|
||||
varchar13
|
||||
varchar13
|
||||
varchar13
|
||||
|
||||
-- !sql_rtrim_Varchar_Varchar_notnull --
|
||||
varchar
|
||||
varchar
|
||||
varchar
|
||||
varchar
|
||||
varchar12
|
||||
varchar12
|
||||
varchar12
|
||||
varchar12
|
||||
varchar13
|
||||
varchar13
|
||||
varchar13
|
||||
varchar13
|
||||
|
||||
-- !sql_rtrim_String_String --
|
||||
null
|
||||
string
|
||||
string
|
||||
string
|
||||
string
|
||||
string2
|
||||
string2
|
||||
string2
|
||||
string2
|
||||
string3
|
||||
string3
|
||||
string3
|
||||
string3
|
||||
|
||||
-- !sql_rtrim_String_String_notnull --
|
||||
string
|
||||
string
|
||||
string
|
||||
string
|
||||
string2
|
||||
string2
|
||||
string2
|
||||
string2
|
||||
string3
|
||||
string3
|
||||
string3
|
||||
string3
|
||||
|
||||
|
||||
@ -1,32 +1,32 @@
|
||||
-- This file is automatically generated. You should know what you did if you want to edit this
|
||||
-- !sql_tan_Double --
|
||||
\N
|
||||
0.10033467208545055
|
||||
0.2027100355086725
|
||||
0.30933624960962325
|
||||
0.10033467208545054
|
||||
0.20271003550867248
|
||||
0.3093362496096232
|
||||
0.4227932187381618
|
||||
0.5463024898437905
|
||||
0.6841368083416923
|
||||
0.8422883804630794
|
||||
0.8422883804630793
|
||||
1.0296385570503641
|
||||
1.2601582175503392
|
||||
1.5574077246549023
|
||||
1.9647596572486523
|
||||
2.5721516221263188
|
||||
1.260158217550339
|
||||
1.557407724654902
|
||||
1.9647596572486525
|
||||
2.5721516221263183
|
||||
|
||||
-- !sql_tan_Double_notnull --
|
||||
0.10033467208545055
|
||||
0.2027100355086725
|
||||
0.30933624960962325
|
||||
0.10033467208545054
|
||||
0.20271003550867248
|
||||
0.3093362496096232
|
||||
0.4227932187381618
|
||||
0.5463024898437905
|
||||
0.6841368083416923
|
||||
0.8422883804630794
|
||||
0.8422883804630793
|
||||
1.0296385570503641
|
||||
1.2601582175503392
|
||||
1.5574077246549023
|
||||
1.9647596572486523
|
||||
2.5721516221263188
|
||||
1.260158217550339
|
||||
1.557407724654902
|
||||
1.9647596572486525
|
||||
2.5721516221263183
|
||||
|
||||
-- !sql_timediff_DateTime_DateTime --
|
||||
\N
|
||||
@ -782,6 +782,64 @@ string3
|
||||
string3
|
||||
string3
|
||||
|
||||
-- !sql_trim_Varchar_Varchar --
|
||||
null
|
||||
char11
|
||||
char11
|
||||
char11
|
||||
char11
|
||||
char12
|
||||
char12
|
||||
char12
|
||||
char12
|
||||
char13
|
||||
char13
|
||||
char13
|
||||
char13
|
||||
|
||||
-- !sql_trim_Varchar_Varchar_notnull --
|
||||
char11
|
||||
char11
|
||||
char11
|
||||
char11
|
||||
char12
|
||||
char12
|
||||
char12
|
||||
char12
|
||||
char13
|
||||
char13
|
||||
char13
|
||||
char13
|
||||
|
||||
-- !sql_trim_String_String --
|
||||
null
|
||||
ing1
|
||||
ing1
|
||||
ing1
|
||||
ing1
|
||||
ing2
|
||||
ing2
|
||||
ing2
|
||||
ing2
|
||||
ing3
|
||||
ing3
|
||||
ing3
|
||||
ing3
|
||||
|
||||
-- !sql_trim_String_String_notnull --
|
||||
ing1
|
||||
ing1
|
||||
ing1
|
||||
ing1
|
||||
ing2
|
||||
ing2
|
||||
ing2
|
||||
ing2
|
||||
ing3
|
||||
ing3
|
||||
ing3
|
||||
ing3
|
||||
|
||||
-- !sql_truncate_Double_Integer --
|
||||
\N
|
||||
0.1
|
||||
|
||||
@ -93,4 +93,8 @@ suite("nereids_scalar_fn_L") {
|
||||
qt_sql_ltrim_Varchar_notnull "select ltrim(kvchrs1) from fn_test_not_nullable order by kvchrs1"
|
||||
qt_sql_ltrim_String "select ltrim(kstr) from fn_test order by kstr"
|
||||
qt_sql_ltrim_String_notnull "select ltrim(kstr) from fn_test_not_nullable order by kstr"
|
||||
qt_sql_ltrim_Varchar_Varchar "select ltrim(kvchrs1, 'var') from fn_test order by kvchrs1"
|
||||
qt_sql_ltrim_Varchar_Varchar_notnull "select ltrim(kvchrs1, 'var') from fn_test_not_nullable order by kvchrs1"
|
||||
qt_sql_ltrim_String_String "select ltrim(kstr, 'str') from fn_test order by kstr"
|
||||
qt_sql_ltrim_String_String_notnull "select ltrim(kstr, 'str') from fn_test_not_nullable order by kstr"
|
||||
}
|
||||
@ -95,4 +95,8 @@ suite("nereids_scalar_fn_R") {
|
||||
qt_sql_rtrim_Varchar_notnull "select rtrim(kvchrs1) from fn_test_not_nullable order by kvchrs1"
|
||||
qt_sql_rtrim_String "select rtrim(kstr) from fn_test order by kstr"
|
||||
qt_sql_rtrim_String_notnull "select rtrim(kstr) from fn_test_not_nullable order by kstr"
|
||||
qt_sql_rtrim_Varchar_Varchar "select rtrim(kvchrs1, '1') from fn_test order by kvchrs1"
|
||||
qt_sql_rtrim_Varchar_Varchar_notnull "select rtrim(kvchrs1, '1') from fn_test_not_nullable order by kvchrs1"
|
||||
qt_sql_rtrim_String_String "select rtrim(kstr, '1') from fn_test order by kstr"
|
||||
qt_sql_rtrim_String_String_notnull "select rtrim(kstr, '1') from fn_test_not_nullable order by kstr"
|
||||
}
|
||||
|
||||
@ -73,6 +73,10 @@ suite("nereids_scalar_fn_T") {
|
||||
qt_sql_trim_Varchar_notnull "select trim(kvchrs1) from fn_test_not_nullable order by kvchrs1"
|
||||
qt_sql_trim_String "select trim(kstr) from fn_test order by kstr"
|
||||
qt_sql_trim_String_notnull "select trim(kstr) from fn_test_not_nullable order by kstr"
|
||||
qt_sql_trim_Varchar_Varchar "select trim(kvchrs1, 'var') from fn_test order by kvchrs1"
|
||||
qt_sql_trim_Varchar_Varchar_notnull "select trim(kvchrs1, 'var') from fn_test_not_nullable order by kvchrs1"
|
||||
qt_sql_trim_String_String "select trim(kstr, 'str') from fn_test order by kstr"
|
||||
qt_sql_trim_String_String_notnull "select trim(kstr, 'str') from fn_test_not_nullable order by kstr"
|
||||
qt_sql_truncate_Double_Integer "select truncate(kdbl, 2) from fn_test order by kdbl"
|
||||
qt_sql_truncate_Double_Integer_notnull "select truncate(kdbl, 2) from fn_test_not_nullable order by kdbl"
|
||||
qt_sql_truncate_DecimalV3S1_Int "select truncate(kdcmlv3s1, 1) from fn_test order by kdcmlv3s1"
|
||||
|
||||
Reference in New Issue
Block a user