Subversion Repositories DevTools

Rev

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