Subversion Repositories DevTools

Rev

Rev 119 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 119 Rev 123
Line 1... Line 1...
1
/* Release Diff */
1
/* Release Diff */
2
SELECT qry.*
2
SELECT qry.*
3
  FROM (
3
    FROM (
4
       
4
 
5
       /* Removed Packages */
5
       /* Removed Packages */
6
       SELECT 'R' AS CHANGE_TYPE,
6
       SELECT 'R' AS CHANGE_TYPE,
7
              v.VIEW_ID,
7
              v.VIEW_ID,
8
              v.VIEW_NAME,
8
              v.VIEW_NAME,
9
              pv.PKG_ID,
9
              pv.PKG_ID,
Line 21... Line 21...
21
              NULL AS PKG_VERSION_B,
21
              NULL AS PKG_VERSION_B,
22
              NULL AS MAJOR_MINOR_B,
22
              NULL AS MAJOR_MINOR_B,
23
              NULL AS PATCH_NUMBER_B,
23
              NULL AS PATCH_NUMBER_B,
24
              NULL AS BUILD_NUMBER_B,
24
              NULL AS BUILD_NUMBER_B,
25
              NULL AS PKG_STATE_B
25
              NULL AS PKG_STATE_B
26
         FROM (
26
       FROM (
-
 
27
             /* ReleaseContent@A - ( ReleaseContent@B + Planned@B(Additions) - Planned@B(Subtractions) ) */
27
              SELECT pv.PKG_ID, pv.V_EXT
28
             SELECT pv.PKG_ID, pv.V_EXT
28
                FROM RELEASE_CONTENT rc,
29
                FROM RELEASE_CONTENT rc,
29
                     PACKAGE_VERSIONS pv
30
                     PACKAGE_VERSIONS pv
30
               WHERE rc.PV_ID = pv.PV_ID
31
               WHERE rc.PV_ID = pv.PV_ID
31
                 AND rc.RTAG_ID = :RTAG_A  
32
                 AND rc.RTAG_ID = :RTAG_A
-
 
33
             MINUS
-
 
34
             ((SELECT pv.PKG_ID, pv.V_EXT
-
 
35
                 FROM RELEASE_CONTENT rc,
-
 
36
                      PACKAGE_VERSIONS pv
-
 
37
                WHERE rc.PV_ID = pv.PV_ID
-
 
38
                  AND rc.RTAG_ID = :RTAG_B
-
 
39
               UNION
-
 
40
               SELECT pv.PKG_ID, pv.V_EXT
-
 
41
                 FROM PLANNED pl,
-
 
42
                      PACKAGE_VERSIONS pv
-
 
43
                WHERE pl.PV_ID = pv.PV_ID
-
 
44
                  AND pl.operation = 'A'
-
 
45
                  AND pl.RTAG_ID = :RTAG_B)
32
              MINUS   
46
              MINUS
33
              SELECT pv.PKG_ID, pv.V_EXT
47
              SELECT pv.PKG_ID, pv.V_EXT
34
                FROM RELEASE_CONTENT rc,
48
                FROM PLANNED pl,
35
                     PACKAGE_VERSIONS pv
49
                     PACKAGE_VERSIONS pv
36
               WHERE rc.PV_ID = pv.PV_ID
50
               WHERE pl.PV_ID = pv.PV_ID
-
 
51
                 AND pl.operation = 'S'
37
                 AND rc.RTAG_ID = :RTAG_B 
52
                 AND pl.RTAG_ID = :RTAG_B)
38
              ) ad,
53
            ) ad,
39
              RELEASE_CONTENT rc,
54
            RELEASE_CONTENT rc,
40
              PACKAGE_VERSIONS pv,
55
            PACKAGE_VERSIONS pv,
41
              PACKAGES pkg,
56
            PACKAGES pkg,
42
              VIEWS v
57
            VIEWS v
43
        WHERE rc.RTAG_ID = :RTAG_A
58
       WHERE rc.RTAG_ID = :RTAG_A
44
          AND rc.BASE_VIEW_ID = v.VIEW_ID
59
         AND rc.BASE_VIEW_ID = v.VIEW_ID
45
          AND rc.PV_ID = pv.PV_ID
60
         AND rc.PV_ID = pv.PV_ID
46
          AND pv.PKG_ID = pkg.PKG_ID
61
         AND pv.PKG_ID = pkg.PKG_ID
47
          AND pv.PKG_ID = ad.PKG_ID
62
         AND pv.PKG_ID = ad.PKG_ID
48
          AND NVL( pv.V_EXT, '|LINK_A_NULL|') = NVL( ad.V_EXT, '|LINK_A_NULL|') 
63
         AND NVL( pv.V_EXT, '|LINK_A_NULL|') = NVL( ad.V_EXT, '|LINK_A_NULL|')
49
          AND :REMOVED IS NULL
64
         AND :REMOVED IS NULL
50
        
65
 
51
       UNION
66
       UNION
52
        
67
 
53
       /* Added Packages */   
68
       /* Added Packages */
54
       SELECT 'A' AS CHANGE_TYPE,
69
       SELECT 'A' AS CHANGE_TYPE,
55
              v.VIEW_ID,
70
              v.VIEW_ID,
56
              v.VIEW_NAME,
71
              v.VIEW_NAME,
57
              pv.PKG_ID,
72
              pv.PKG_ID,
58
              NULL AS PV_ID_A,
73
              NULL AS PV_ID_A,
Line 68... Line 83...
68
              pkg.PKG_NAME AS PKG_NAME_B,
83
              pkg.PKG_NAME AS PKG_NAME_B,
69
              pv.PKG_VERSION AS PKG_VERSION_B,
84
              pv.PKG_VERSION AS PKG_VERSION_B,
70
              pv.V_NMM AS MAJOR_MINOR_B,
85
              pv.V_NMM AS MAJOR_MINOR_B,
71
              get_patch_version(pv.V_MM) AS PATCH_NUMBER_B,
86
              get_patch_version(pv.V_MM) AS PATCH_NUMBER_B,
72
              get_build_number(pv.V_MM) AS BUILD_NUMBER_B,
87
              get_build_number(pv.V_MM) AS BUILD_NUMBER_B,
73
              rc.deprecated_state as PKG_STATE_B 
88
              rc.deprecated_state as PKG_STATE_B
74
         FROM (
89
       FROM (
-
 
90
             /* ( ReleaseContent@B + Planned@B(Additions) - Planned@B(Subtractions) ) - ReleaseContent@A */
-
 
91
             ((SELECT pv.PKG_ID, pv.V_EXT
-
 
92
                 FROM RELEASE_CONTENT rc,
-
 
93
                      PACKAGE_VERSIONS pv
-
 
94
                WHERE rc.PV_ID = pv.PV_ID
-
 
95
                  AND rc.RTAG_ID = :RTAG_B
-
 
96
               UNION
-
 
97
               SELECT pv.PKG_ID, pv.V_EXT
-
 
98
                 FROM PLANNED pl,
-
 
99
                      PACKAGE_VERSIONS pv
-
 
100
                WHERE pl.PV_ID = pv.PV_ID
-
 
101
                  AND pl.operation = 'A'
-
 
102
                  AND pl.RTAG_ID = :RTAG_B)
-
 
103
              MINUS
75
              SELECT pv.PKG_ID, pv.V_EXT
104
              SELECT pv.PKG_ID, pv.V_EXT
76
                FROM RELEASE_CONTENT rc,
105
                FROM PLANNED pl,
77
                     PACKAGE_VERSIONS pv
106
                     PACKAGE_VERSIONS pv
78
               WHERE rc.PV_ID = pv.PV_ID
107
               WHERE pl.PV_ID = pv.PV_ID
-
 
108
                 AND pl.operation = 'S'
79
                 AND rc.RTAG_ID = :RTAG_B  
109
                 AND pl.RTAG_ID = :RTAG_B)
80
              MINUS   
110
             MINUS
81
              SELECT pv.PKG_ID, pv.V_EXT
111
             SELECT pv.PKG_ID, pv.V_EXT
82
                FROM RELEASE_CONTENT rc,
112
               FROM RELEASE_CONTENT rc,
83
                     PACKAGE_VERSIONS pv
113
                  PACKAGE_VERSIONS pv
84
               WHERE rc.PV_ID = pv.PV_ID
114
              WHERE rc.PV_ID = pv.PV_ID
85
                 AND rc.RTAG_ID = :RTAG_A 
115
                AND rc.RTAG_ID = :RTAG_A
86
              ) ad,
116
            ) ad,
87
              RELEASE_CONTENT rc,
117
            RELEASE_CONTENT rc,
88
              PACKAGE_VERSIONS pv,
118
            PACKAGE_VERSIONS pv,
89
              PACKAGES pkg,
119
            PACKAGES pkg,
90
              VIEWS v
120
            VIEWS v
91
        WHERE rc.RTAG_ID = :RTAG_B
121
       WHERE rc.RTAG_ID = :RTAG_B
92
          AND v.VIEW_ID = rc.BASE_VIEW_ID       
122
         AND v.VIEW_ID = rc.BASE_VIEW_ID
93
          AND rc.PV_ID = pv.PV_ID
123
         AND rc.PV_ID = pv.PV_ID
94
          AND pv.PKG_ID = pkg.PKG_ID
124
         AND pv.PKG_ID = pkg.PKG_ID
95
          AND pv.PKG_ID = ad.PKG_ID
125
         AND pv.PKG_ID = ad.PKG_ID
96
          AND NVL( pv.V_EXT, '|LINK_A_NULL|') = NVL( ad.V_EXT, '|LINK_A_NULL|') 
126
         AND NVL( pv.V_EXT, '|LINK_A_NULL|') = NVL( ad.V_EXT, '|LINK_A_NULL|')
97
          AND :ADDED IS NULL
127
         AND :ADDED IS NULL
98
        
128
 
99
       UNION
129
       UNION
100
        
130
 
101
       /* UPDATED Packages */
131
       /* UPDATED Packages */
102
       SELECT ( CASE
132
       SELECT ( CASE
103
                  WHEN ra.V_NMM = rb.V_NMM AND ra.patch_number = rb.patch_number AND ra.build_number != rb.build_number THEN
133
                  WHEN ra.V_NMM = rb.V_NMM AND ra.patch_number = rb.patch_number AND ra.build_number != rb.build_number THEN
104
                    'UR'
134
                    'UR'
105
                  WHEN ra.PV_ID < rb.PV_ID OR (ra.V_NMM = rb.V_NMM AND ra.patch_number < rb.patch_number ) THEN
135
                  WHEN ra.PV_ID < rb.PV_ID OR (ra.V_NMM = rb.V_NMM AND ra.patch_number < rb.patch_number ) THEN
Line 125... Line 155...
125
              rb.PKG_VERSION AS PKG_VERSION_B,
155
              rb.PKG_VERSION AS PKG_VERSION_B,
126
              rb.V_NMM AS MAJOR_MINOR_B,
156
              rb.V_NMM AS MAJOR_MINOR_B,
127
              rb.patch_number AS PATCH_NUMBER_B,
157
              rb.patch_number AS PATCH_NUMBER_B,
128
              rb.build_number AS BUILD_NUMBER_B,
158
              rb.build_number AS BUILD_NUMBER_B,
129
              rb.DEPRECATED_STATE AS PKG_STATE_B
159
              rb.DEPRECATED_STATE AS PKG_STATE_B
130
         FROM (
160
       FROM (
131
              SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, v.VIEW_NAME, v.VIEW_ID, rc.DEPRECATED_STATE,
161
              SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, v.VIEW_NAME, v.VIEW_ID, rc.DEPRECATED_STATE,
132
                     get_patch_version(pv.V_MM) AS patch_number,
162
                     get_patch_version(pv.V_MM) AS patch_number,
133
                     get_build_number(pv.V_MM) AS build_number
163
                     get_build_number(pv.V_MM) AS build_number
134
                FROM RELEASE_CONTENT rc,
164
                FROM RELEASE_CONTENT rc,
135
                     PACKAGE_VERSIONS pv,
165
                     PACKAGE_VERSIONS pv,
Line 139... Line 169...
139
                 AND rc.RTAG_ID = :RTAG_A
169
                 AND rc.RTAG_ID = :RTAG_A
140
                 AND pv.PKG_ID = pkg.PKG_ID
170
                 AND pv.PKG_ID = pkg.PKG_ID
141
                 AND v.VIEW_ID  = rc.BASE_VIEW_ID
171
                 AND v.VIEW_ID  = rc.BASE_VIEW_ID
142
              ) ra,
172
              ) ra,
143
              (
173
              (
-
 
174
               /* ( ReleaseContent@B + Planned@B(Additions) - Planned@B(Subtractions) ) */
144
              SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, rc.DEPRECATED_STATE,
175
               ((SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, rc.DEPRECATED_STATE,
145
                     get_patch_version(pv.V_MM) AS patch_number,
176
                        get_patch_version(pv.V_MM) AS patch_number,
146
                     get_build_number(pv.V_MM) AS build_number
177
                        get_build_number(pv.V_MM) AS build_number
147
                FROM RELEASE_CONTENT rc,
178
                   FROM RELEASE_CONTENT rc,
148
                     PACKAGE_VERSIONS pv,
179
                        PACKAGE_VERSIONS pv,
149
                     PACKAGES pkg
180
                        PACKAGES pkg
150
               WHERE rc.PV_ID = pv.PV_ID
181
                  WHERE rc.PV_ID = pv.PV_ID
151
                 AND rc.RTAG_ID = :RTAG_B
182
                    AND rc.RTAG_ID = :RTAG_B
-
 
183
                    AND pv.PKG_ID = pkg.PKG_ID
-
 
184
                 UNION
-
 
185
                 SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, NULL AS DEPRECATED_STATE,
-
 
186
                        get_patch_version(pv.V_MM) AS patch_number,
-
 
187
                        get_build_number(pv.V_MM) AS build_number
-
 
188
                   FROM PLANNED pl,
-
 
189
                        PACKAGE_VERSIONS pv,
-
 
190
                        PACKAGES pkg
-
 
191
                  WHERE pl.PV_ID = pv.PV_ID
-
 
192
                    AND pv.PKG_ID = pkg.PKG_ID
-
 
193
                    AND pl.operation = 'A'
-
 
194
                    AND pl.RTAG_ID = :RTAG_B)
-
 
195
                MINUS
-
 
196
                SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, NULL AS DEPRECATED_STATE,
-
 
197
                       get_patch_version(pv.V_MM) AS patch_number,
-
 
198
                       get_build_number(pv.V_MM) AS build_number
-
 
199
                  FROM PLANNED pl,
-
 
200
                       PACKAGE_VERSIONS pv,
-
 
201
                       PACKAGES pkg
-
 
202
                 WHERE pl.PV_ID = pv.PV_ID
152
                 AND pv.PKG_ID = pkg.PKG_ID
203
                   AND pv.PKG_ID = pkg.PKG_ID
-
 
204
                   AND pl.operation = 'S'
-
 
205
                   AND pl.RTAG_ID = :RTAG_B)
153
              ) rb
206
              ) rb
154
        WHERE ra.PKG_ID = rb.PKG_ID
207
       WHERE ra.PKG_ID = rb.PKG_ID
155
          AND NVL( ra.V_EXT, '|LINK_A_NULL|') = NVL( rb.V_EXT, '|LINK_A_NULL|')
208
         AND NVL( ra.V_EXT, '|LINK_A_NULL|') = NVL( rb.V_EXT, '|LINK_A_NULL|')
156
          AND ra.PV_ID != rb.PV_ID
209
         AND ra.PV_ID != rb.PV_ID
157
          AND :UPDATED IS NULL
210
         AND :UPDATED IS NULL
158
        
211
 
159
       UNION
212
       UNION
160
        
213
 
161
       /* NOT CHANGED Packages */
214
       /* NOT CHANGED Packages - NOTE '0' as change type so these entries appear ahead of additions, in sort order */
162
       SELECT NULL AS CHANGE_TYPE,
215
       SELECT '0' AS CHANGE_TYPE,
163
              ra.VIEW_ID,
216
              ra.VIEW_ID,
164
              ra.VIEW_NAME,
217
              ra.VIEW_NAME,
165
              ra.PKG_ID,
218
              ra.PKG_ID,
166
              ra.PV_ID AS PV_ID_A,
219
              ra.PV_ID AS PV_ID_A,
167
              ra.COMMENTS AS COMMENTS_A,
220
              ra.COMMENTS AS COMMENTS_A,
Line 177... Line 230...
177
              rb.PKG_VERSION AS PKG_VERSION_B,
230
              rb.PKG_VERSION AS PKG_VERSION_B,
178
              rb.V_NMM AS MAJOR_MINOR_B,
231
              rb.V_NMM AS MAJOR_MINOR_B,
179
              get_patch_version(rb.V_MM) AS PATCH_NUMBER_B,
232
              get_patch_version(rb.V_MM) AS PATCH_NUMBER_B,
180
              get_build_number(rb.V_MM) AS BUILD_NUMBER_B,
233
              get_build_number(rb.V_MM) AS BUILD_NUMBER_B,
181
              rb.DEPRECATED_STATE AS PKG_STATE_B
234
              rb.DEPRECATED_STATE AS PKG_STATE_B
182
         FROM (
235
       FROM (
183
              SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, v.VIEW_NAME, v.VIEW_ID, rc.DEPRECATED_STATE
236
              SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, v.VIEW_NAME, v.VIEW_ID, rc.DEPRECATED_STATE
184
                FROM RELEASE_CONTENT rc,
237
                FROM RELEASE_CONTENT rc,
185
                     PACKAGE_VERSIONS pv,
238
                     PACKAGE_VERSIONS pv,
186
                     PACKAGES pkg,
239
                     PACKAGES pkg,
187
                     VIEWS v
240
                     VIEWS v
188
               WHERE rc.PV_ID = pv.PV_ID
241
               WHERE rc.PV_ID = pv.PV_ID
189
                 AND rc.RTAG_ID = :RTAG_A
242
                 AND rc.RTAG_ID = :RTAG_A
190
                 AND pv.PKG_ID = pkg.PKG_ID
243
                 AND pv.PKG_ID = pkg.PKG_ID
191
                 AND v.VIEW_ID = rc.BASE_VIEW_ID
244
                 AND v.VIEW_ID = rc.BASE_VIEW_ID
192
              ) ra,
245
            ) ra,
193
              (
246
            (
-
 
247
              /* ( ReleaseContent@B + Planned@B(Additions) - Planned@B(Subtractions) ) */
194
              SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, rc.DEPRECATED_STATE
248
              (SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, rc.DEPRECATED_STATE
195
                FROM RELEASE_CONTENT rc,
249
                 FROM RELEASE_CONTENT rc,
-
 
250
                      PACKAGE_VERSIONS pv,
-
 
251
                      PACKAGES pkg
-
 
252
                WHERE rc.PV_ID = pv.PV_ID
-
 
253
                  AND rc.RTAG_ID = :RTAG_B
-
 
254
                  AND pv.PKG_ID = pkg.PKG_ID
-
 
255
               UNION
-
 
256
               SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, NULL AS DEPRECATED_STATE
-
 
257
                 FROM PLANNED pl,
-
 
258
                      PACKAGE_VERSIONS pv,
-
 
259
                      PACKAGES pkg
-
 
260
                WHERE pl.PV_ID = pv.PV_ID
-
 
261
                  AND pl.RTAG_ID = :RTAG_B
-
 
262
                  AND pl.operation = 'A'
-
 
263
                  AND pv.PKG_ID = pkg.PKG_ID)
-
 
264
              MINUS
-
 
265
              SELECT pv.PKG_ID, pv.V_EXT, pv.PV_ID, pv.V_NMM, pv.V_MM, pv.COMMENTS, pkg.PKG_NAME, pv.PKG_VERSION, NULL AS DEPRECATED_STATE
-
 
266
                FROM PLANNED pl,
196
                     PACKAGE_VERSIONS pv,
267
                     PACKAGE_VERSIONS pv,
197
                     PACKAGES pkg
268
                     PACKAGES pkg
198
               WHERE rc.PV_ID = pv.PV_ID
269
               WHERE pl.PV_ID = pv.PV_ID
199
                 AND rc.RTAG_ID = :RTAG_B
270
                 AND pl.RTAG_ID = :RTAG_B
-
 
271
                 AND pl.operation = 'S'
200
                 AND pv.PKG_ID = pkg.PKG_ID
272
                 AND pv.PKG_ID = pkg.PKG_ID
201
              ) rb
273
            ) rb
202
        WHERE ra.PKG_ID = rb.PKG_ID
274
       WHERE ra.PKG_ID = rb.PKG_ID
203
          AND NVL( ra.V_EXT, '|LINK_A_NULL|') = NVL( rb.V_EXT, '|LINK_A_NULL|')
275
         AND NVL( ra.V_EXT, '|LINK_A_NULL|') = NVL( rb.V_EXT, '|LINK_A_NULL|')
204
          AND ra.PV_ID = rb.PV_ID
276
         AND ra.PV_ID = rb.PV_ID
205
          AND :NO_CHANGE IS NULL
277
         AND :NO_CHANGE IS NULL
206
       
278
 
207
    ) qry
279
    ) qry
208
    
-
 
-
 
280
   /* NOTE: Sorting by change type has been added to ensure diff.asp can display items correctly and filter out */
-
 
281
   /*       duplicates. Order is Unchanged, Additions, Removals, and finally Updates. */
209
ORDER BY UPPER(qry.VIEW_NAME),UPPER(qry.PKG_NAME_A) 
282
ORDER BY UPPER(qry.VIEW_NAME),UPPER(qry.PKG_NAME_A),CHANGE_TYPE