示例#1
0
 protected override void InternalReset()
 {
     _sourceTable.Reset();
     if (Node.DistinctRequired)
     {
         _crack = true;
         _lastRow.ClearValues();
     }
 }
示例#2
0
 protected override void PopulateTable()
 {
     using (ITable table = (ITable)Node.Nodes[0].Execute(Program))
     {
         Row row = new Row(Manager, DataType.RowType);
         try
         {
             _rowCount = 0;
             while (table.Next())
             {
                 table.Select(row);
                 _rowCount++;
                 if (Node.SequenceColumnIndex >= 0)
                 {
                     row[Node.SequenceColumnIndex] = _rowCount;
                 }
                 _table.Insert(Manager, row);                    // no validation is required because FTable will never be changed
                 row.ClearValues();
                 Program.CheckAborted();                         // Yield
             }
         }
         finally
         {
             row.Dispose();
         }
     }
 }
示例#3
0
 protected void PopulateTable()
 {
     using (ITable table = (ITable)Node.Nodes[0].Execute(Program))
     {
         Row row = new Row(Manager, DataType.RowType);
         try
         {
             while (table.Next())
             {
                 table.Select(row);
                 if (!_map.HasRow(Manager, row))
                 {
                     _map.Insert(Manager, row);                             // no validation is required because FTable will never be changed
                 }
                 row.ClearValues();
                 Program.CheckAborted();                         // Yield
             }
         }
         finally
         {
             row.Dispose();
         }
     }
 }