/// <summary> /// Executes the query with multiple result. /// </summary> /// <param name="query">The query.</param> /// <param name="parameters">The query parameters</param> /// <returns></returns> public IMultipleResult ExecuteQueryWithMultipleResult(string query, params object[] parameters) { IMultipleResult result = _innerClients[0].ExecuteQueryWithMultipleResult(query, parameters); if (PollAllInnerClients) { for (int i = 1; i < _innerClients.Count; i++) { _innerClients[i].ExecuteQueryWithMultipleResult(query, parameters); } } return(result); }
/// <summary> /// Receives the query result from server. /// </summary> /// <returns></returns> public IMultipleResult ReceiveMultipleQueryResult() { IMultipleResult result = _innerClients[0].ReceiveMultipleQueryResult(); if (PollAllInnerClients) { for (int i = 1; i < _innerClients.Count; i++) { _innerClients[i].ReceiveMultipleQueryResult(); } } return(result); }
public IMultipleResult FillMultiple(RequestContext context, IMultipleResult multipleResult) { return(ExecuteWrap((dbSession) => { IDataReaderWrapper dataReader = null; try { dataReader = CommandExecuter.ExecuteReader(dbSession, context); return multipleResult.InitData(context, dataReader, _dataReaderDeserializer); } finally { DisposeReader(dataReader); } }, context, DataSourceChoice.Read)); }
public void ExecuteQueryWithParamMultipleResultsTest() { using (IDatabaseClient client = CreateDatabaseClient()) { CreateTrade(client); client.ExecuteNonQuery("f:{[table]d:`result1`result2!(); d[`result1]:select from table; d[`result2]:select from table; :d}"); InsertRow(client); client.ExecuteNonQuery("`trade insert(`MSFT;11.0;300)"); IMultipleResult result = client.ExecuteQueryWithMultipleResult("f", "trade"); Assert.IsTrue(result.Count == 2); CheckTwoRows(result.GetResult(0)); CheckTwoRows(result.GetResult(1)); } }
public async Task <IMultipleResult> FillMultipleAsync(RequestContext context, IMultipleResult multipleResult) { return(await ExecuteWrapAsync(async (dbSession) => { IDataReaderWrapper dataReader = null; try { dataReader = CommandExecuter.ExecuteReader(dbSession, context); return await multipleResult.InitDataAsync(context, dataReader, _dataReaderDeserializer); } finally { DisposeReader(dataReader); } }, context, DataSourceChoice.Read)); }