@@ -284,8 +284,7 @@ public Tuple<String, String> function(String methodName, List<KVValue> paramers,
284
284
case "substring" :
285
285
functionStr = substring ((SQLExpr ) paramers .get (0 ).value ,
286
286
Integer .parseInt (Util .expr2Object ((SQLExpr ) paramers .get (1 ).value ).toString ()),
287
- Integer .parseInt (Util .expr2Object ((SQLExpr ) paramers .get (2 ).value ).toString ())
288
- , name );
287
+ Integer .parseInt (Util .expr2Object ((SQLExpr ) paramers .get (2 ).value ).toString ()));
289
288
break ;
290
289
291
290
case "degrees" :
@@ -735,22 +734,16 @@ private Tuple<String, String> strSingleValueTemplate(String methodName, SQLExpr
735
734
// query: substring(Column expr, int pos, int len)
736
735
// painless script: substring(int begin, int end)
737
736
// es behavior: 1-index, supports out-of-bound index
738
- public Tuple <String , String > substring (SQLExpr field , int pos , int len , String valueName ) {
737
+ public Tuple <String , String > substring (SQLExpr field , int pos , int len ) {
739
738
String name = nextId ("substring" );
740
-
741
739
// start and end are 0-indexes
742
740
int start = pos < 1 ? 0 : pos - 1 ;
743
- int end = Math .min (start + len , getPropertyOrValue (field ).length ());
744
- if (valueName == null ) {
745
- return new Tuple <>(name , def (name , getPropertyOrStringValue (field ) + "."
746
- + func ("substring" , false ,
747
- Integer .toString (start ), Integer .toString (end ))));
748
- } else {
749
- return new Tuple <>(name , getPropertyOrStringValue (field ) + "; "
750
- + def (name , valueName + "."
751
- + func ("substring" , false ,
752
- Integer .toString (start ), Integer .toString (end ))));
753
- }
741
+ return new Tuple <>(name , StringUtils .format (
742
+ "def end = (int) Math.min(%s + %s, %s.length()); "
743
+ + def (name , getPropertyOrStringValue (field ) + "."
744
+ + func ("substring" , false , Integer .toString (start ), "end" )),
745
+ Integer .toString (start ), Integer .toString (len ), getPropertyOrStringValue (field )
746
+ ));
754
747
}
755
748
756
749
private String lower (String property , String culture ) {
0 commit comments