Skip to content

Commit ac7a699

Browse files
committed
NamedParameterUtils.isParameterSeparator checks for non-ASCII characters
Issue: SPR-16472
1 parent 5c0ddf3 commit ac7a699

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ private static SqlParameter findParameter(
391391
* that is, whether the given character qualifies as a separator.
392392
*/
393393
private static boolean isParameterSeparator(char c) {
394-
return (separatorIndex[c] || Character.isWhitespace(c));
394+
return (c < 128 && separatorIndex[c]) || Character.isWhitespace(c);
395395
}
396396

397397
/**

spring-jdbc/src/test/java/org/springframework/jdbc/core/namedparam/NamedParameterUtilsTests.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2017 the original author or authors.
2+
* Copyright 2002-2018 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -52,11 +52,11 @@ public void parseSql() {
5252
assertEquals(2, psql2.getTotalParameterCount());
5353
assertEquals(1, psql2.getNamedParameterCount());
5454

55-
String sql3 = "xxx &a+:b" + '\t' + ":c%10 yyyy ? zzzzz";
55+
String sql3 = "xxx &ä+:ö" + '\t' + ":ü%10 yyyy ? zzzzz";
5656
ParsedSql psql3 = NamedParameterUtils.parseSqlStatement(sql3);
57-
assertEquals("a", psql3.getParameterNames().get(0));
58-
assertEquals("b", psql3.getParameterNames().get(1));
59-
assertEquals("c", psql3.getParameterNames().get(2));
57+
assertEquals("ä", psql3.getParameterNames().get(0));
58+
assertEquals("ö", psql3.getParameterNames().get(1));
59+
assertEquals("ü", psql3.getParameterNames().get(2));
6060
}
6161

6262
@Test

0 commit comments

Comments
 (0)