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

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


        int i = 0;
        for (ListIterator depsIterator = storedDeps.listIterator();
           depsIterator.hasNext(); )
        {
          DependencyDescriptor dependDescr =
                        (DependencyDescriptor) depsIterator.next();

          if (! foundStored)
          {
            debugBuf.append("Stored Dependencies:\n");
            foundStored = true;
          }
                   
                    DependableFinder providerFinder = dependDescr.getProviderFinder();
                    DependableFinder dependentFinder = dependDescr.getDependentFinder();
                   

          dependStr[i++] =
                        providerFinder.getDependable(dd, dependDescr.getProviderID()).getObjectName() +
                        ", type " + providerFinder.getSQLObjectType() +
                        ", provides for " +
                        dependentFinder.getDependable(dd, dependDescr.getUUID()).getObjectName() +
                        ", type " + dependentFinder.getSQLObjectType() +
                        "\n";
        }

        // sort stored dependencies; dependStr
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

    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

      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

        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

        // 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

    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

      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

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.