Пример #1
0
 public override void InsertValuesIntoSubqueryTable(Session session, IPersistentStore store)
 {
     if (!this._isTable)
     {
         object[] objArray2 = (object[])base.nodes[0].GetValue(session);
         for (int i = 0; i < objArray2.Length; i++)
         {
             object[] objArray3;
             if (this._ordinality)
             {
                 objArray3 = new object[] { objArray2[i], i };
             }
             else
             {
                 objArray3 = new object[] { objArray2[i] };
             }
             Row newCachedObject = store.GetNewCachedObject(session, objArray3);
             try
             {
                 store.IndexRow(session, newCachedObject);
             }
             catch (CoreException)
             {
             }
         }
     }
     else
     {
         RowSetNavigator navigator = base.nodes[0].GetResult(session).GetNavigator();
         while (navigator.HasNext())
         {
             object[] next            = navigator.GetNext();
             Row      newCachedObject = store.GetNewCachedObject(session, next);
             try
             {
                 store.IndexRow(session, newCachedObject);
                 continue;
             }
             catch (CoreException)
             {
                 continue;
             }
         }
     }
 }