Пример #1
0
  /**
   * Insert a row into the temporary conglomerate
   *
   * <p>This opens our deferred ConglomeratController the first time it is called.
   *
   * @exception StandardException Thrown on error
   */
  private void doDeferredInsert() throws StandardException {
    if (rowHolder == null) {
      Properties properties = new Properties();

      // Get the properties on the index
      openIndexCC().getInternalTablePropertySet(properties);

      /*
       ** Create our row holder.  it is ok to skip passing
       ** in the result description because if we don't already
       ** have a row holder, then we are the only user of the
       ** row holder (the description is needed when the row
       ** holder is going to be handed to users for triggers).
       */
      rowHolder = new TemporaryRowHolderImpl(activation, properties, (ResultDescription) null);
    }

    /*
     ** If the user of the IndexChanger already
     ** had a row holder, then we don't need to
     ** bother saving deferred inserts -- they
     ** have already done so.
     */
    if (!rowHolderPassedIn) {
      rowHolder.insert(ourIndexRow);
    }
  }