Skip to content

Commit 20a5b75

Browse files
authored
fix(sql-execution): can not set a delimiter longer than 2 (#1414)
1 parent d54225b commit 20a5b75

2 files changed

Lines changed: 6 additions & 7 deletions

File tree

client

Submodule client updated 166 files

server/odc-core/src/main/java/com/oceanbase/odc/core/sql/split/SqlCommentProcessor.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import java.util.regex.Matcher;
2929
import java.util.regex.Pattern;
3030
import java.util.stream.Collectors;
31-
import java.util.stream.IntStream;
3231

3332
import com.oceanbase.odc.common.lang.Holder;
3433
import com.oceanbase.odc.common.util.StringUtils;
@@ -633,11 +632,11 @@ private boolean equalsIgnoreCase(char[] src, OrderChar[] dest, int begin, int co
633632
* 当前SQL是否是以分隔符开头
634633
*/
635634
private boolean isPrefix(OrderChar[] line, int pos, String delim) {
636-
boolean res = IntStream.range(pos, pos + delim.length())
637-
.mapToObj(i -> line[i].getCh())
638-
.collect(StringBuilder::new, StringBuilder::append, StringBuilder::append)
639-
.toString().startsWith(delim);
640-
635+
StringBuilder builder = new StringBuilder();
636+
for (int i = 0; i < line.length - pos; i++) {
637+
builder.append(line[pos + i].getCh());
638+
}
639+
boolean res = builder.toString().startsWith(delim);
641640
if (!res || !"/".equals(delim) || line.length <= 1) {
642641
return res;
643642
}

0 commit comments

Comments
 (0)