Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
 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));
 }
Example #4
0
        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));
            }
        }
Example #5
0
 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));
 }