Skip to content

Commit 19761e7

Browse files
Add mssql wildcard char '[' and ']' (#361)
1 parent 73b6115 commit 19761e7

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/main/java/jp/co/future/uroborosql/dialect/MsSqlDialect.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
* @author H.Sugimoto
2020
*/
2121
public class MsSqlDialect extends AbstractDialect {
22+
private static final char[] WILDCARDS = { '%', '_', '[', ']' };
23+
2224
/**
2325
* 悲観ロックのErrorCode もしくは SqlState. MSSQLの場合はErrorCodeで判定する.
2426
* <pre>SQL Error [1222] [S00045]: ロック要求がタイムアウトしました。 </pre>
@@ -29,6 +31,7 @@ public class MsSqlDialect extends AbstractDialect {
2931
* コンストラクタ
3032
*/
3133
public MsSqlDialect() {
34+
super('$', WILDCARDS);
3235
}
3336

3437
/**

src/test/java/jp/co/future/uroborosql/dialect/MsSqlDialectTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,11 @@ void testEscapeLikePattern() {
6969
assertThat(dialect.escapeLikePattern("pat_tern"), is("pat$_tern"));
7070
assertThat(dialect.escapeLikePattern("pattern%"), is("pattern$%"));
7171
assertThat(dialect.escapeLikePattern("pattern_"), is("pattern$_"));
72-
assertThat(dialect.escapeLikePattern("pat[]tern"), is("pat[]tern"));
7372
assertThat(dialect.escapeLikePattern("pat%tern"), is("pat%tern"));
7473
assertThat(dialect.escapeLikePattern("pat_tern"), is("pat_tern"));
74+
assertThat(dialect.escapeLikePattern("p[at]tern"), is("p$[at$]tern"));
75+
assertThat(dialect.escapeLikePattern("[]pattern"), is("$[$]pattern"));
76+
assertThat(dialect.escapeLikePattern("pattern[]"), is("pattern$[$]"));
7577
}
7678

7779
@Test

0 commit comments

Comments
 (0)