Skip to content

Commit e03800a

Browse files
committed
refactor ReadAllResultSetsHelper
1 parent 6939c3d commit e03800a

File tree

2 files changed

+16
-18
lines changed

2 files changed

+16
-18
lines changed

src/Ydb.Sdk/src/Services/Query/QueryClient.cs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -137,21 +137,13 @@ public async Task<QueryResponse> Exec(string queryString,
137137

138138
internal static async Task<IReadOnlyList<Value.ResultSet.Row>> ReadAllRowsHelper(ExecuteQueryStream stream)
139139
{
140-
var rows = new List<Value.ResultSet.Row>();
141-
await foreach (var part in stream)
140+
var resultSets = await ReadAllResultSetsHelper(stream);
141+
if (resultSets.Count > 1)
142142
{
143-
if (part.ResultSetIndex != 0)
144-
{
145-
throw new QueryWrongResultFormatException("Should be only one resultSet");
146-
}
147-
148-
if (part.ResultSet is not null)
149-
{
150-
rows.AddRange(part.ResultSet.Rows);
151-
}
143+
throw new QueryWrongResultFormatException("Should be only one resultSet");
152144
}
153145

154-
return rows;
146+
return resultSets[0];
155147
}
156148

157149
internal static async Task<Value.ResultSet.Row> ReadSingleRowHelper(ExecuteQueryStream stream)
@@ -184,6 +176,7 @@ internal static async Task<YdbValue> ReadScalarHelper(ExecuteQueryStream stream)
184176
{
185177
throw new QueryWrongResultFormatException("Row should contain exactly one field");
186178
}
179+
187180
return row[0];
188181
}
189182

src/Ydb.Sdk/src/Services/Query/Tx.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ internal static Tx Begin(ITxModeSettings? txModeSettings, QueryClient client, st
5656

5757
var txSettings = GetTransactionSettings(txModeSettings);
5858

59-
var tx = new Tx(new TransactionControl { BeginTx = txSettings, CommitTx = commit }, client: client, sessionId: sessionId);
59+
var tx = new Tx(new TransactionControl { BeginTx = txSettings, CommitTx = commit }, client, sessionId);
6060
return tx;
6161
}
6262

@@ -136,7 +136,8 @@ public async Task<QueryResponse> Exec(string queryString,
136136
return response;
137137
}
138138

139-
public async Task<QueryResponseWithResult<IReadOnlyList<IReadOnlyList<Value.ResultSet.Row>>>> ReadAllResultSets(string queryString,
139+
public async Task<QueryResponseWithResult<IReadOnlyList<IReadOnlyList<Value.ResultSet.Row>>>> ReadAllResultSets(
140+
string queryString,
140141
Dictionary<string, YdbValue>? parameters = null,
141142
ExecuteQuerySettings? executeQuerySettings = null)
142143
{
@@ -145,23 +146,27 @@ public async Task<QueryResponse> Exec(string queryString,
145146
return response;
146147
}
147148

148-
public async Task<QueryResponseWithResult<IReadOnlyList<Value.ResultSet.Row>>> ReadAllRows(string queryString,
149+
public async Task<QueryResponseWithResult<IReadOnlyList<Value.ResultSet.Row>>> ReadAllRows(
150+
string queryString,
149151
Dictionary<string, YdbValue>? parameters = null,
150152
ExecuteQuerySettings? executeQuerySettings = null)
151153
{
152154
var response = await Query(queryString, parameters, QueryClient.ReadAllRowsHelper, executeQuerySettings);
153155
return response;
154156
}
155-
156-
public async Task<QueryResponseWithResult<Value.ResultSet.Row>> ReadSingleRow(string queryString,
157+
158+
public async Task<QueryResponseWithResult<Value.ResultSet.Row>> ReadSingleRow(
159+
string queryString,
157160
Dictionary<string, YdbValue>? parameters = null,
158161
ExecuteQuerySettings? executeQuerySettings = null)
159162
{
160163
var response = await Query(queryString, parameters, QueryClient.ReadSingleRowHelper,
161164
executeQuerySettings);
162165
return response;
163166
}
164-
public async Task<QueryResponseWithResult<YdbValue>> ReadScalar(string queryString,
167+
168+
public async Task<QueryResponseWithResult<YdbValue>> ReadScalar(
169+
string queryString,
165170
Dictionary<string, YdbValue>? parameters = null,
166171
ExecuteQuerySettings? executeQuerySettings = null)
167172
{

0 commit comments

Comments
 (0)