Package org.apache.derby.iapi.sql.dictionary

Examples of org.apache.derby.iapi.sql.dictionary.DependencyDescriptor


      null,   // stop position - through last row
            ScanController.GT);     // stopSearchOperation

    while (scanController.fetchNext(outRow.getRowArray()))
        {
      DependencyDescriptor    dependencyDescriptor;

      dependencyDescriptor = (DependencyDescriptor)
             rf.buildDescriptor(outRow,
                        (TupleDescriptor) null,
                        this);
View Full Code Here


    List depsOnAlterTableList = dd.getProvidersDescriptorList(td.getObjectID().toString());
    for (Iterator depsOnAlterTableIterator = depsOnAlterTableList.listIterator();
      depsOnAlterTableIterator.hasNext();)
    {
      //Go through all the dependent objects on the table being altered
      DependencyDescriptor depOnAlterTableDesc =
        (DependencyDescriptor) depsOnAlterTableIterator.next();
      DependableFinder dependent = depOnAlterTableDesc.getDependentFinder();
      //For the given dependent, we are only interested in it if it is a
      // stored prepared statement.
      if (dependent.getSQLObjectType().equals(Dependable.STORED_PREPARED_STATEMENT))
      {
        //Look for all the dependent objects that are using this
        // stored prepared statement as provider. We are only
        // interested in dependents that are triggers.
        List depsTrigger = dd.getProvidersDescriptorList(depOnAlterTableDesc.getUUID().toString());
        for (Iterator depsTriggerIterator = depsTrigger.listIterator();
          depsTriggerIterator.hasNext();)
        {
          DependencyDescriptor depsTriggerDesc =
            (DependencyDescriptor) depsTriggerIterator.next();
          DependableFinder providerIsTrigger = depsTriggerDesc.getDependentFinder();
          //For the given dependent, we are only interested in it if
          // it is a trigger
          if (providerIsTrigger.getSQLObjectType().equals(Dependable.TRIGGER)) {
            //Drop and recreate the trigger after regenerating
            // it's trigger action plan. If the trigger action
            // depends on the column being dropped, it will be
            // caught here.
            TriggerDescriptor trdToBeDropped  = dd.getTriggerDescriptor(depsTriggerDesc.getUUID());
            columnDroppedAndTriggerDependencies(trdToBeDropped,
                cascade, columnName);
          }
        }
      }
View Full Code Here

    String          providerID = null;
    DependableFinder    providerBloodhound = null;

    if (td != null)
    {
      DependencyDescriptor dd = (DependencyDescriptor)td;
      dependentID  = dd.getUUID().toString();
      dependentBloodhound = dd.getDependentFinder();
      if ( dependentBloodhound == null )
      {
        throw StandardException.newException(SQLState.DEP_UNABLE_TO_STORE);
      }

      providerID  = dd.getProviderID().toString();
      providerBloodhound = dd.getProviderFinder();
      if ( providerBloodhound == null )
      {
        throw StandardException.newException(SQLState.DEP_UNABLE_TO_STORE);
      }
View Full Code Here

    ExecRow          row,
    TupleDescriptor      parentTupleDescriptor,
    DataDictionary       dd )
          throws StandardException
  {
    DependencyDescriptor dependencyDesc = null;

    if (SanityManager.DEBUG)
    {
      SanityManager.ASSERT(
        row.nColumns() == SYSDEPENDS_COLUMN_COUNT,
        "Wrong number of columns for a SYSDEPENDS row");
    }

    DataValueDescriptor  col;
    String        dependentIDstring;
    UUID        dependentUUID;
    DependableFinder  dependentBloodhound;
    String        providerIDstring;
    UUID        providerUUID;
    DependableFinder  providerBloodhound;

    /* 1st column is DEPENDENTID (UUID - char(36)) */
    col = row.getColumn(SYSDEPENDS_DEPENDENTID);
    dependentIDstring = col.getString();
    dependentUUID = getUUIDFactory().recreateUUID(dependentIDstring);

    /* 2nd column is DEPENDENTTYPE */
    col = row.getColumn(SYSDEPENDS_DEPENDENTTYPE);
    dependentBloodhound = (DependableFinder) col.getObject();

    /* 3rd column is PROVIDERID (UUID - char(36)) */
    col = row.getColumn(SYSDEPENDS_PROVIDERID);
    providerIDstring = col.getString();
    providerUUID = getUUIDFactory().recreateUUID(providerIDstring);

    /* 4th column is PROVIDERTYPE */
    col = row.getColumn(SYSDEPENDS_PROVIDERTYPE);
    providerBloodhound = (DependableFinder) col.getObject();

    /* now build and return the descriptor */
    return new DependencyDescriptor(dependentUUID, dependentBloodhound,
                       providerUUID, providerBloodhound);
  }
View Full Code Here

        // tc == null means do it in the user transaction
        TransactionController tcToUse =
                (tc == null) ? lcc.getTransactionExecute() : tc;

        // Call the DataDictionary to store the dependency.
        dd.addDescriptor(new DependencyDescriptor(d, p), null,
                         DataDictionary.SYSDEPENDS_CATALOG_NUM, true,
                         tcToUse);
    }
View Full Code Here

      {
        SanityManager.NOTREACHED();
      }
    }

    DependencyDescriptor dependencyDescriptor = new DependencyDescriptor(d, p);

    dd.dropStoredDependency( dependencyDescriptor,
                 lcc.getTransactionExecute() );
  }
View Full Code Here

      {
        Dependent       tempD;
        Provider        tempP;
        DependableFinder  finder = null;

        DependencyDescriptor depDesc = (DependencyDescriptor) depsIterator.next();

          finder = depDesc.getDependentFinder();
          tempD = (Dependent) finder.getDependable(dd, depDesc.getUUID() );

          if (providerForList != null)
          {
            // Use the provider being passed in.
            tempP = providerForList;
           
            // Sanity check the object identifiers match.
            if (SanityManager.DEBUG) {
              if (!tempP.getObjectID().equals(depDesc.getProviderID()))
              {
                SanityManager.THROWASSERT("mismatch providers");
              }
            }
          }
          else
          {
            finder = depDesc.getProviderFinder();
            tempP = (Provider) finder.getDependable(dd, depDesc.getProviderID() );
           
          }

        depsIterator.set(new BasicDependency(tempD, tempP));
      }
View Full Code Here

      null,   // stop position - through last row
            ScanController.GT);     // stopSearchOperation

    while (scanController.fetchNext(outRow.getRowArray()))
        {
      DependencyDescriptor    dependencyDescriptor;

      dependencyDescriptor = (DependencyDescriptor)
             rf.buildDescriptor(outRow,
                        (TupleDescriptor) null,
                        this);
View Full Code Here

    List deps = dd.getProvidersDescriptorList(td.getObjectID().toString());
    for (Iterator depsIterator = deps.listIterator();
             depsIterator.hasNext();)
    {
      DependencyDescriptor depDesc =
                (DependencyDescriptor) depsIterator.next();

      DependableFinder finder = depDesc.getProviderFinder();
      if (finder instanceof DDColumnDependableFinder)
      {
        DDColumnDependableFinder colFinder =
                    (DDColumnDependableFinder) finder;
        FormatableBitSet oldColumnBitMap =
View Full Code Here

        Iterator            dropIterator = dropUdtMap.values().iterator();
        while( dropIterator.hasNext() )
        {
            AliasDescriptor ad = (AliasDescriptor) dropIterator.next();

            DependencyDescriptor dependency = new DependencyDescriptor( dependent, ad );

            dd.dropStoredDependency( dependency, tc );
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.derby.iapi.sql.dictionary.DependencyDescriptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.