Skip to content

Commit 75fac1d

Browse files
checks in key word
1 parent 01d4fbd commit 75fac1d

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/Ydb.Sdk/src/Ado/Internal/SqlParser.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ internal static ParsedResult Parse(string sql)
1818
var newYql = new StringBuilder();
1919
var sqlParamsBuilder = new SqlParamsBuilder();
2020
var fragmentToken = 0;
21+
var inKeyWord = false;
2122

2223
for (var curToken = 0; curToken < sql.Length;)
2324
{
@@ -60,16 +61,23 @@ internal static ParsedResult Parse(string sql)
6061
fragmentToken = parsedNativeParam.NextToken;
6162
curToken = parsedNativeParam.NextToken;
6263
break;
63-
case var _ when ParseInKeyWord(sql, curToken):
64+
case var _ when !inKeyWord && ParseInKeyWord(sql, curToken):
6465
curToken += 2; // skip IN keyword
6566
newYql.Append(sql[fragmentToken .. curToken]);
6667
curToken = ParseInListParameters(sql, curToken, sqlParamsBuilder, newYql);
6768
fragmentToken = curToken;
6869
break;
6970
default:
70-
curToken++;
71+
if (sql[curToken++].IsSqlIdentifierChar())
72+
{
73+
inKeyWord = true;
74+
continue;
75+
}
76+
7177
break;
7278
}
79+
80+
inKeyWord = false;
7381
}
7482

7583
newYql.Append(sql.AsSpan(fragmentToken, sql.Length - fragmentToken));

src/Ydb.Sdk/src/Ado/YdbCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ protected override async Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBeha
192192
{
193193
continue;
194194
}
195-
195+
196196
var ydbValue = sqlParam.YdbValueFetch(ydbParameterCollection);
197197

198198
if (!sqlParam.IsNative)

0 commit comments

Comments
 (0)