Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

CREATE PROCEDURE "RELEASE_MANAGER"."UPDATE_DEPRECATION_STATE" (nnrtag_id IN NUMBER) AS

recno NUMBER;

CURSOR deprecate_cur IS

SELECT rc.pv_id
FROM release_content rc
WHERE rtag_id = nnrtag_id
 AND deprecated_state IN(7);

deprecate_rec deprecate_cur % rowtype;

BEGIN

  OPEN deprecate_cur;

  FETCH deprecate_cur
  INTO deprecate_rec;

  WHILE deprecate_cur % FOUND
  LOOP

    SELECT COUNT(*)
    INTO recno
    FROM package_dependencies pd,
      release_content rc
    WHERE pd.pv_id = deprecate_rec.pv_id
     AND rc.pv_id = pd.dpv_id
     AND rc.rtag_id = nnrtag_id
     AND rc.deprecated_state IN(6,   7);

    IF recno = 0 THEN

      UPDATE release_content
      SET pkg_id = NULL, deprecated_state = NULL
      WHERE pv_id = deprecate_rec.pv_id
       AND rtag_id = nnrtag_id;

    END IF;

    FETCH deprecate_cur
    INTO deprecate_rec;
  END LOOP;

END;
/