Skip to content

Commit 86eda27

Browse files
AntonLGVSjhoeller
authored andcommitted
Support SQUARE brackets [] around NAMED parameter
1 parent aeff664 commit 86eda27

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

spring-r2dbc/src/main/java/org/springframework/r2dbc/core/NamedParameterUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
* @author Thomas Risberg
4949
* @author Juergen Hoeller
5050
* @author Mark Paluch
51+
* @author Anton Naydenov
5152
* @since 5.3
5253
*/
5354
abstract class NamedParameterUtils {
@@ -66,7 +67,7 @@ abstract class NamedParameterUtils {
6667
* Set of characters that qualify as parameter separators,
6768
* indicating that a parameter name in an SQL String has ended.
6869
*/
69-
private static final String PARAMETER_SEPARATORS = "\"':&,;()|=+-*%/\\<>^";
70+
private static final String PARAMETER_SEPARATORS = "\"':&,;()|=+-*%/\\<>^[]";
7071

7172
/**
7273
* An index with separator flags per character code.

spring-r2dbc/src/test/java/org/springframework/r2dbc/core/NamedParameterUtilsUnitTests.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
*
3939
* @author Mark Paluch
4040
* @author Jens Schauder
41+
* @author Anton Naydenov
4142
*/
4243
public class NamedParameterUtilsUnitTests {
4344

@@ -274,6 +275,18 @@ public void parseSqlStatementWithQuotesAndCommentAfter() {
274275
assertThat(psql2.getParameterNames()).containsExactly("xxx");
275276
}
276277

278+
@Test public void parseSqlStatementWithSquareBracket() {
279+
// given
280+
String sql = "SELECT ARRAY[:ext]";
281+
282+
// when
283+
ParsedSql psql = NamedParameterUtils.parseSqlStatement(sql);
284+
285+
//then
286+
assertThat(psql.getNamedParameterCount()).isEqualTo(1);
287+
assertThat(psql.getParameterNames()).containsExactly("ext");
288+
}
289+
277290
@Test
278291
public void shouldAllowParsingMultipleUseOfParameter() {
279292

0 commit comments

Comments
 (0)