Skip to content

Commit 31ebec3

Browse files
authored
Merge pull request #6 from DUWENINK/main
在GaussDB3.1.1针对默认的escape '' 无法正确查询出问题,此处应该根据GaussDB进行适配以符合自然状态
2 parents df72b28 + 6273ab8 commit 31ebec3

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Microsoft Visual Studio Solution File, Format Version 12.00
2+
# Visual Studio Version 17
3+
VisualStudioVersion = 17.5.2.0
4+
MinimumVisualStudioVersion = 10.0.40219.1
5+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EFCore.GaussDB", "EFCore.GaussDB.csproj", "{924146F9-3761-F4BC-A4E0-FE7DACE64CE5}"
6+
EndProject
7+
Global
8+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
9+
Debug|Any CPU = Debug|Any CPU
10+
Release|Any CPU = Release|Any CPU
11+
EndGlobalSection
12+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
13+
{924146F9-3761-F4BC-A4E0-FE7DACE64CE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
14+
{924146F9-3761-F4BC-A4E0-FE7DACE64CE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
15+
{924146F9-3761-F4BC-A4E0-FE7DACE64CE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
16+
{924146F9-3761-F4BC-A4E0-FE7DACE64CE5}.Release|Any CPU.Build.0 = Release|Any CPU
17+
EndGlobalSection
18+
GlobalSection(SolutionProperties) = preSolution
19+
HideSolutionNode = FALSE
20+
EndGlobalSection
21+
GlobalSection(ExtensibilityGlobals) = postSolution
22+
SolutionGuid = {60C36C95-C272-4C83-A7BD-FE20BF4DE337}
23+
EndGlobalSection
24+
EndGlobal

src/EFCore.GaussDB/Query/ExpressionTranslators/Internal/GaussDBLikeTranslator.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,14 @@ public GaussDBLikeTranslator(GaussDBSqlExpressionFactory sqlExpressionFactory)
7878

7979
var (match, pattern) = (arguments[1], arguments[2]);
8080

81-
if (pattern is SqlConstantExpression { Value: string patternValue }
82-
&& !patternValue.Contains('\\'))
81+
return pattern switch
8382
{
84-
return sensitive
85-
? _sqlExpressionFactory.Like(match, pattern)
86-
: _sqlExpressionFactory.ILike(match, pattern);
87-
}
88-
89-
return sensitive
90-
? _sqlExpressionFactory.Like(match, pattern, _sqlExpressionFactory.Constant(string.Empty))
91-
: _sqlExpressionFactory.ILike(match, pattern, _sqlExpressionFactory.Constant(string.Empty));
83+
SqlConstantExpression { Value: string patternValue } when !patternValue.Contains('\\') => sensitive
84+
? _sqlExpressionFactory.Like(match, pattern, _sqlExpressionFactory.Constant("\\"))
85+
: _sqlExpressionFactory.ILike(match, pattern, _sqlExpressionFactory.Constant("\\")),
86+
_ => sensitive
87+
? _sqlExpressionFactory.Like(match, pattern, _sqlExpressionFactory.Constant("\\"))
88+
: _sqlExpressionFactory.ILike(match, pattern, _sqlExpressionFactory.Constant("\\"))
89+
};
9290
}
9391
}

0 commit comments

Comments
 (0)