Exemple #1
0
        protected void ExecuteRows <T>(SelectQuery <T> query, RowsExecutor <T> executor)
            where T : DataRecord
        {
            var item = query.CreateWork(executor);

            Client.EnqueueWork(item);
        }
Exemple #2
0
 public override void ExecuteRows <ActiveRecord>(DataTable <ActiveRecord> table, SelectQuery <ActiveRecord> query, RowsExecutor <ActiveRecord> executor)
 {
     enqueueWork((w) =>
     {
         w.ExecuteRows(table, query, executor);
     });
 }
Exemple #3
0
        public override void ExecuteRows <ActiveRecord>(DataTable <ActiveRecord> table, SelectQuery <ActiveRecord> query, RowsExecutor <ActiveRecord> executor)
        {
            var rows = applyCondition(table, query.Condition);

            rows = rows.Skip(query.Start).Take(query.MaxCount);
            var result = new RowsResult <ActiveRecord>(rows, table.MemoryRecords.Count);

            executor(result);
        }
Exemple #4
0
 internal RowsQueryWorkItem(SelectQuery <ActiveRecord> query, RowsExecutor <ActiveRecord> executor)
 {
     _query    = query;
     _executor = executor;
 }
Exemple #5
0
        public override void ExecuteRows <ActiveRecord>(DataTable <ActiveRecord> table, SelectQuery <ActiveRecord> query, RowsExecutor <ActiveRecord> executor)
        {
            var queryCmd = createSelect(table, query.Condition, true);

            appendOrderBy(queryCmd, query.Ordering);
            appendLimit(queryCmd, query);

            var results = new List <ActiveRecord>();

            using (var reader = queryCmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    var columns = new ColumnsReader(reader);
                    var result  = table.CreateRecord(columns);

                    results.Add(result);
                }
                reader.Close();
            }

            var totalRowsScalar = executeScalar("SELECT FOUND_ROWS()");
            var totalRows       = Convert.ToInt32(totalRowsScalar);

            var rowsResult = new RowsResult <ActiveRecord>(results, totalRows);

            executor(rowsResult);
        }
Exemple #6
0
 public abstract void ExecuteRows <ActiveRecord>(DataTable <ActiveRecord> table, SelectQuery <ActiveRecord> query, RowsExecutor <ActiveRecord> executor)
     where ActiveRecord : DataRecord;