コード例 #1
0
ファイル: UnionNode.cs プロジェクト: laszlo-kiss/Dataphor
 protected override bool InternalDefault(Program program, IRow oldRow, IRow newRow, BitArray valueFlags, string columnName, bool isDescending)
 {
     if (isDescending)
     {
         BitArray localValueFlags = newRow.GetValueFlags();
         bool     changed         = false;
         if (PropagateDefaultLeft)
         {
             changed = LeftNode.Default(program, oldRow, newRow, valueFlags, columnName);
         }
         if (PropagateDefaultRight)
         {
             changed = RightNode.Default(program, oldRow, newRow, valueFlags, columnName) || changed;
         }
         if (changed)
         {
             for (int index = 0; index < newRow.DataType.Columns.Count; index++)
             {
                 if (!localValueFlags[index] && newRow.HasValue(index))
                 {
                     Change(program, oldRow, newRow, valueFlags, newRow.DataType.Columns[index].Name);
                 }
             }
         }
         return(changed);
     }
     return(false);
 }
コード例 #2
0
 protected override bool InternalDefault(Program program, IRow oldRow, IRow newRow, BitArray valueFlags, string columnName, bool isDescending)
 {
     if (isDescending && PropagateDefaultLeft)
     {
         return(LeftNode.Default(program, oldRow, newRow, valueFlags, columnName));
     }
     return(false);
 }