Subversion Repositories DevTools

Rev

Rev 15 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
15 rsolanki 1
/* Release Diff */
2
SELECT qry.*
3
  FROM (
4
 
5
		/* Removed Patches*/
6
		SELECT 'R' AS CHANGE_TYPE,
7
			   oldbom.PKG_ID,
8
			   oldbom.PV_ID AS PV_ID_A,
9
		       oldbom.PKG_NAME AS PKG_NAME_A,
10
			   oldbom.PKG_VERSION AS PKG_VERSION_A,
11
			   oldbom.NODE_NAME AS NODE_NAME_A,
12
			   oldbom.OS_NAME AS OS_NAME_A,
13
			   oldbom.PRODUCT_COMMENTS AS PRODUCT_COMMENTS_A,
14
			   NULL AS PV_ID_B,
15
			   NULL AS PKG_NAME_B,
16
			   NULL AS PKG_VERSION_B,
17
			   NULL AS NODE_NAME_B,
18
			   NULL AS OS_NAME_B,
19
			   NULL AS PRODUCT_COMMENTS_B
20
		  FROM (
21
		  		SELECT osc.PROD_ID,
22
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
23
					   pv.PKG_VERSION, pv.PV_ID, pkg.PKG_NAME, pv.PKG_ID, nn.NODE_NAME AS NODE_NAME_B,
24
					   osc.PRODUCT_COMMENTS	
25
				  FROM OS_CONTENTS osc,
26
				  	   OPERATING_SYSTEMS os,
27
					   NETWORK_NODES nn,
28
					   BOM_CONTENTS bc,
29
					   PACKAGE_VERSIONS pv,
30
					   PACKAGES pkg
31
				 WHERE osc.OS_ID = os.OS_ID
32
				   AND os.NODE_ID = nn.NODE_ID
33
				   AND bc.NODE_ID = nn.NODE_ID
34
				   AND osc.PROD_ID = pv.PV_ID
35
				   AND NOT pv.IS_PATCH IS NULL
36
				   AND bc.BOM_ID = :SBOM_B
37
				   AND pkg.PKG_ID = pv.PKG_ID				   	
38
		  	   ) newbom,
39
			   (
40
			   	SELECT osc.PROD_ID,
41
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
42
					   pv.PKG_VERSION, pv.PV_ID, pkg.PKG_NAME, pv.PKG_ID, nn.NODE_NAME, os.OS_NAME,
43
					   osc.PRODUCT_COMMENTS					   
44
				  FROM OS_CONTENTS osc,
45
				  	   OPERATING_SYSTEMS os,
46
					   NETWORK_NODES nn,
47
					   BOM_CONTENTS bc,
48
					   PACKAGE_VERSIONS pv,
49
					   PACKAGES pkg
50
				 WHERE osc.OS_ID = os.OS_ID
51
				   AND os.NODE_ID = nn.NODE_ID
52
				   AND bc.NODE_ID = nn.NODE_ID
53
				   AND osc.PROD_ID = pv.PV_ID
54
				   AND NOT pv.IS_PATCH IS NULL
55
				   AND bc.BOM_ID = :SBOM_A	
56
				   AND pkg.PKG_ID = pv.PKG_ID
57
 
58
			   ) oldbom
59
		 WHERE newbom.PK (+) = oldbom.PK  
60
		   AND newbom.PROD_ID (+) = oldbom.PROD_ID  
61
		   AND newbom.PK IS NULL  
62
 
63
 
64
 
65
		UNION
66
 
67
		/* Removed Products*/
68
		SELECT 'R' AS CHANGE_TYPE,
69
			   oldbom.PKG_ID,
70
			   oldbom.PV_ID AS PV_ID_A,
71
		       oldbom.PKG_NAME AS PKG_NAME_A,
72
			   oldbom.PKG_VERSION AS PKG_VERSION_A,
73
			   oldbom.NODE_NAME_A,
74
			   oldbom.OS_NAME_A,
75
			   oldbom.PRODUCT_COMMENTS AS PRODUCT_COMMENTS_A,
76
			   NULL AS PV_ID_B,
77
			   NULL AS PKG_NAME_B,
78
			   NULL AS PKG_VERSION_B,
79
			   NULL AS NODE_NAME_B,
80
			   NULL AS OS_NAME_B,
81
			   NULL AS PRODUCT_COMMENTS_B
82
			 FROM (			   
83
		  		SELECT osc.PROD_ID,
84
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
85
					   pv.PKG_ID, pv.PKG_VERSION, pkg.PKG_NAME, pv.PV_ID, nn.NODE_NAME AS NODE_NAME_B,
86
					   NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT, osc.PRODUCT_COMMENTS
87
				  FROM OS_CONTENTS osc,
88
				  	   OPERATING_SYSTEMS os,
89
					   NETWORK_NODES nn,
90
					   BOM_CONTENTS bc,
91
					   PACKAGE_VERSIONS pv,
92
					   PACKAGES pkg
93
				 WHERE osc.OS_ID = os.OS_ID
94
				   AND os.NODE_ID = nn.NODE_ID
95
				   AND bc.NODE_ID = nn.NODE_ID
96
				   AND osc.PROD_ID = pv.PV_ID
97
				   AND pv.IS_PATCH IS NULL
98
				   AND bc.BOM_ID = :SBOM_B	
99
				   AND pkg.PKG_ID = pv.PKG_ID
100
		  	   ) newbom,
101
			   (
102
			   	SELECT osc.PROD_ID,
103
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
104
					   pv.PKG_ID, pv.PKG_VERSION, pkg.PKG_NAME, pv.PV_ID, nn.NODE_NAME AS NODE_NAME_A, os.OS_NAME AS OS_NAME_A,
105
					   NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT, osc.PRODUCT_COMMENTS
106
				  FROM OS_CONTENTS osc,
107
				  	   OPERATING_SYSTEMS os,
108
					   NETWORK_NODES nn,
109
					   BOM_CONTENTS bc,
110
					   PACKAGE_VERSIONS pv,
111
					   PACKAGES pkg
112
				 WHERE osc.OS_ID = os.OS_ID
113
				   AND os.NODE_ID = nn.NODE_ID
114
				   AND bc.NODE_ID = nn.NODE_ID
115
				   AND osc.PROD_ID = pv.PV_ID
116
				   AND pv.IS_PATCH IS NULL
117
				   AND bc.BOM_ID = :SBOM_A
118
				   AND pkg.PKG_ID = pv.PKG_ID
119
			   ) oldbom
120
		 WHERE newbom.PK (+) = oldbom.PK  
121
		   --AND newbom.PROD_ID (+) = oldbom.PROD_ID
122
		   AND newbom.PKG_ID (+) = oldbom.PKG_ID
123
		   AND newbom.V_EXT (+) = oldbom.V_EXT   
124
		   AND newbom.PK IS NULL
125
 
126
 
127
		UNION
128
 
129
 
130
		/* Added Patches */   
131
		SELECT 'A' AS CHANGE_TYPE,
132
			   newbom.PKG_ID,
133
			   NULL AS PV_ID_A,
134
			   NULL AS PKG_NAME_A,
135
			   NULL AS PKG_VERSION_A,
136
			   NULL AS NODE_NAME_A,
137
			   NULL AS OS_NAME_A,
138
			   NULL AS PRODUCT_COMMENTS_A,
139
			   newbom.PV_ID AS PV_ID_B,
140
			   newbom.PKG_NAME AS PKG_NAME_B,
141
			   newbom.PKG_VERSION AS PKG_VERSION_B,
142
			   newbom.NODE_NAME_B,
143
			   newbom.OS_NAME_B,
144
			   newbom.PRODUCT_COMMENTS AS PRODUCT_COMMENTS_B
145
		  FROM (
146
		  		SELECT osc.PROD_ID,
147
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
148
					   pv.PKG_VERSION, pv.PV_ID, pkg.PKG_NAME, pv.PKG_ID, nn.NODE_NAME AS NODE_NAME_B, os.OS_NAME AS OS_NAME_B,
149
					   osc.PRODUCT_COMMENTS
150
				  FROM OS_CONTENTS osc,
151
				  	   OPERATING_SYSTEMS os,
152
					   NETWORK_NODES nn,
153
					   BOM_CONTENTS bc,
154
					   PACKAGE_VERSIONS pv,
155
					   PACKAGES pkg
156
				 WHERE osc.OS_ID = os.OS_ID
157
				   AND os.NODE_ID = nn.NODE_ID
158
				   AND bc.NODE_ID = nn.NODE_ID
159
				   AND osc.PROD_ID = pv.PV_ID
160
				   AND NOT pv.IS_PATCH IS NULL
161
				   AND bc.BOM_ID = :SBOM_B
162
				   AND pkg.PKG_ID = pv.PKG_ID
163
		  	   ) newbom,
164
			   (
165
			   	SELECT osc.PROD_ID,
166
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
167
					   osc.PRODUCT_COMMENTS
168
				  FROM OS_CONTENTS osc,
169
				  	   OPERATING_SYSTEMS os,
170
					   NETWORK_NODES nn,
171
					   BOM_CONTENTS bc,
172
					   PACKAGE_VERSIONS pv
173
				 WHERE osc.OS_ID = os.OS_ID
174
				   AND os.NODE_ID = nn.NODE_ID
175
				   AND bc.NODE_ID = nn.NODE_ID
176
				   AND osc.PROD_ID = pv.PV_ID
177
				   AND NOT pv.IS_PATCH IS NULL
178
				   AND bc.BOM_ID = :SBOM_A
179
			   ) oldbom
180
		 WHERE newbom.PK = oldbom.PK (+) 
181
		   AND newbom.PROD_ID = oldbom.PROD_ID (+)
182
		   AND oldbom.PK IS NULL	   
183
 
184
		UNION
185
 
186
		/* Added Products */   
187
		SELECT 'A' AS CHANGE_TYPE,
188
			   newbom.PKG_ID,
189
			   NULL AS PV_ID_A,
190
			   NULL AS PKG_NAME_A,
191
			   NULL AS PKG_VERSION_A,
192
			   NULL AS NODE_NAME_A,
193
			   NULL AS OS_NAME_A,
194
			   NULL AS PRODUCT_COMMENTS_A,
195
			   newbom.PV_ID AS PV_ID_B,
196
			   newbom.PKG_NAME AS PKG_NAME_B,
197
			   newbom.PKG_VERSION AS PKG_VERSION_B,
198
			   newbom.NODE_NAME_B,
199
			   newbom.OS_NAME_B,
200
			   newbom.PRODUCT_COMMENTS AS PRODUCT_COMMENTS_B
201
		  FROM (
202
		  		SELECT osc.PROD_ID,
203
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
204
					   pv.PKG_ID, pv.PKG_VERSION, pkg.PKG_NAME, pv.PV_ID, nn.NODE_NAME AS NODE_NAME_B, os.OS_NAME AS OS_NAME_B,
205
					   NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT, osc.PRODUCT_COMMENTS
206
				  FROM OS_CONTENTS osc,
207
				  	   OPERATING_SYSTEMS os,
208
					   NETWORK_NODES nn,
209
					   BOM_CONTENTS bc,
210
					   PACKAGE_VERSIONS pv,
211
					   PACKAGES pkg
212
				 WHERE osc.OS_ID = os.OS_ID
213
				   AND os.NODE_ID = nn.NODE_ID
214
				   AND bc.NODE_ID = nn.NODE_ID
215
				   AND osc.PROD_ID = pv.PV_ID
216
				   AND pv.IS_PATCH IS NULL
217
				   AND bc.BOM_ID = :SBOM_B
218
				   AND pkg.PKG_ID = pv.PKG_ID	
219
		  	   ) newbom,
220
			   (
221
			   	SELECT osc.PROD_ID,
222
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
223
					   pv.PKG_ID,
224
					   NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT, 
225
					   osc.PRODUCT_COMMENTS
226
				  FROM OS_CONTENTS osc,
227
				  	   OPERATING_SYSTEMS os,
228
					   NETWORK_NODES nn,
229
					   BOM_CONTENTS bc,
230
					   PACKAGE_VERSIONS pv
231
				 WHERE osc.OS_ID = os.OS_ID
232
				   AND os.NODE_ID = nn.NODE_ID
233
				   AND bc.NODE_ID = nn.NODE_ID
234
				   AND osc.PROD_ID = pv.PV_ID
235
				   AND pv.IS_PATCH IS NULL
236
				   AND bc.BOM_ID = :SBOM_A
237
			   ) oldbom
238
		 WHERE newbom.PK = oldbom.PK (+) 
239
		   --AND newbom.PROD_ID = oldbom.PROD_ID (+)
240
		   AND newbom.PKG_ID  = oldbom.PKG_ID (+)
241
		   AND newbom.V_EXT  = oldbom.V_EXT (+) 
242
		   AND oldbom.PROD_ID IS NULL   	    
243
 
244
		UNION
245
 
246
		/* UPDATED Packages */   
247
		SELECT ( 
248
				CASE WHEN ra.PV_ID < rb.PV_ID THEN
249
					'UW'
250
				ELSE
251
					'U'
252
				END
253
				) AS CHANGE_TYPE,
254
			   ra.PKG_ID,
255
			   ra.PV_ID AS PV_ID_A,
256
		       ra.PKG_NAME AS PKG_NAME_A,
257
			   ra.PKG_VERSION AS PKG_VERSION_A,
258
			   ra.NODE_NAME_A,
259
			   ra.OS_NAME_A,
260
			   ra.PRODUCT_COMMENTS AS PRODUCT_COMMENTS_A,
261
			   rb.PV_ID AS PV_ID_B,
262
			   rb.PKG_NAME AS PKG_NAME_B,
263
			   rb.PKG_VERSION AS PKG_VERSION_B,
264
			   rb.NODE_NAME_B,
265
			   rb.OS_NAME_B,
266
			   rb.PRODUCT_COMMENTS AS PRODUCT_COMMENTS_B
267
		  FROM (
268
		   	   SELECT osc.PROD_ID, pv.PV_ID, pv.V_EXT, pv.PKG_VERSION, pkg.PKG_NAME, pv.PKG_ID, nn.NODE_NAME AS NODE_NAME_A,
269
			   os.OS_NAME AS OS_NAME_A, osc.PRODUCT_COMMENTS
270
			   FROM OS_CONTENTS osc,
271
			  	    OPERATING_SYSTEMS os,
272
					NETWORK_NODES nn,
273
					BOM_CONTENTS bc,
274
					PACKAGE_VERSIONS pv,
275
					PACKAGES pkg
276
			  WHERE osc.OS_ID = os.OS_ID
277
				AND os.NODE_ID = nn.NODE_ID
278
				AND bc.NODE_ID = nn.NODE_ID
279
				AND osc.PROD_ID = pv.PV_ID
280
				AND pv.IS_PATCH IS NULL
281
				AND bc.BOM_ID = :SBOM_A
282
				AND pkg.PKG_ID = pv.PKG_ID
283
		       ) ra,
284
			   (
285
			   SELECT osc.PROD_ID, pv.PV_ID, pv.V_EXT, pv.PKG_VERSION, pkg.PKG_NAME, pv.PKG_ID, nn.NODE_NAME AS NODE_NAME_B,
286
			   os.OS_NAME AS OS_NAME_B, osc.PRODUCT_COMMENTS
287
			   FROM OS_CONTENTS osc,
288
			  	    OPERATING_SYSTEMS os,
289
					NETWORK_NODES nn,
290
					BOM_CONTENTS bc,
291
					PACKAGE_VERSIONS pv,
292
					PACKAGES pkg
293
			  WHERE osc.OS_ID = os.OS_ID
294
				AND os.NODE_ID = nn.NODE_ID
295
				AND bc.NODE_ID = nn.NODE_ID
296
				AND osc.PROD_ID = pv.PV_ID
297
				AND pv.IS_PATCH IS NULL
298
				AND bc.BOM_ID = :SBOM_B	
299
				AND pv.PKG_ID = pkg.PKG_ID
300
				AND osc.PROD_ID NOT IN (
301
				SELECT osc.PROD_ID
302
			   FROM OS_CONTENTS osc,
303
			  	    OPERATING_SYSTEMS os,
304
					NETWORK_NODES nn,
305
					BOM_CONTENTS bc,
306
					PACKAGE_VERSIONS pv
307
			  WHERE osc.OS_ID = os.OS_ID
308
				AND os.NODE_ID = nn.NODE_ID
309
				AND bc.NODE_ID = nn.NODE_ID
310
				AND osc.PROD_ID = pv.PV_ID
311
				AND pv.IS_PATCH IS NULL
312
				AND bc.BOM_ID = :SBOM_A
313
				)
314
			   ) rb
315
		 WHERE ra.PKG_ID = rb.PKG_ID
316
		   AND NVL( ra.V_EXT, '|LINK_A_NULL|') = NVL( rb.V_EXT, '|LINK_A_NULL|')  
317
		   AND ra.PV_ID != rb.PV_ID  
318
		   AND ra.NODE_NAME_A = rb.NODE_NAME_B
319
		   AND ra.OS_NAME_A = rb.OS_NAME_B
320
  		) qry
321
		WHERE PV_ID_A = :PV_ID
322
 ORDER BY UPPER(qry.PKG_NAME_A)