Subversion Repositories DevTools

Rev

Rev 7349 | Rev 7380 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7349 Rev 7357
Line 402... Line 402...
402
   rsTemp.Close
402
   rsTemp.Close
403
   Set rsTemp = nothing
403
   Set rsTemp = nothing
404
End Function
404
End Function
405
'-----------------------------------------------------------------------------------------------------------------------------
405
'-----------------------------------------------------------------------------------------------------------------------------
406
Sub Get_Pkg_Info ( SSpv_id, NNrtag )
406
Sub Get_Pkg_Info ( SSpv_id, NNrtag )
407
   Dim rsTemp, Query_String, isaRelease
407
    Dim rsTemp, Query_String, isaRelease, isaValidPvId
408
   Dim opCodeListString, opCodeList, opCodeStr
408
    Dim opCodeListString, opCodeList, opCodeStr
409
 
409
 
410
   OraDatabase.Parameters.Add "PV_ID",         SSpv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
410
    OraDatabase.Parameters.Add "PV_ID",         SSpv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
411
   OraDatabase.Parameters.Add "RTAG_ID",       NNrtag,    ORAPARM_INPUT, ORATYPE_NUMBER
411
    OraDatabase.Parameters.Add "RTAG_ID",       NNrtag,    ORAPARM_INPUT, ORATYPE_NUMBER
412
   OraDatabase.Parameters.Add "RETURN_NUMBER", NULL,      ORAPARM_OUTPUT, ORATYPE_NUMBER   
412
    OraDatabase.Parameters.Add "RETURN_NUMBER", NULL,      ORAPARM_OUTPUT, ORATYPE_NUMBER   
413
   OraDatabase.Parameters.Add "OP_CODE_LIST",  NULL,      ORAPARM_OUTPUT, ORATYPE_VARCHAR2
413
    OraDatabase.Parameters.Add "OP_CODE_LIST",  NULL,      ORAPARM_OUTPUT, ORATYPE_VARCHAR2
414
 
414
 
415
   isaRelease = NOT ((NNrtag = "") or (IsNull(NNrtag)))
415
    isaRelease = NOT ((NNrtag = "") or (IsNull(NNrtag)))
416
   pkgInfoHash.Add "isaRelease", isaRelease
416
    pkgInfoHash.Add "isaRelease", isaRelease
417
 
417
 
418
   '-- can_unofficial
418
    '-- can_unofficial
419
   '   Limits the ability to unrelease a package version
419
    '   Limits the ability to unrelease a package version
420
   pkgInfoHash.Item ("can_unofficial") = "false"
420
    pkgInfoHash.Item ("can_unofficial") = "false"
421
 
421
 
422
   '--  can_edit_in_project
422
    '--  can_edit_in_project
423
   '    Property of the release, the user and the package
423
    '    Property of the release, the user and the package
424
   '    Limits the ability to add a package to a release
424
    '    Limits the ability to add a package to a release
425
   '        
425
    '        
426
   pkgInfoHash.Item ("can_edit_in_project") = "0"
426
    pkgInfoHash.Item ("can_edit_in_project") = "0"
427
   
427
 
428
   '-- Get Package Details
428
    '-- Get Package Details
429
   Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageDetails.sql"), cint(0))
429
    Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageDetails.sql"), cint(0))
430
 
-
 
431
   If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
430
    isaValidPvId = (NOT rsTemp.BOF) AND (NOT rsTemp.EOF) 
-
 
431
    pkgInfoHash.Add "isaValidPvId" , isaValidPvId
-
 
432
     
-
 
433
    If isaValidPvId Then
432
      pkgInfoHash.Add "pv_id", (rsTemp.Fields("pv_id"))
434
        pkgInfoHash.Add "pv_id", (rsTemp.Fields("pv_id"))
433
      pkgInfoHash.Add "pkg_id", (rsTemp.Fields("pkg_id"))
435
        pkgInfoHash.Add "pkg_id", (rsTemp.Fields("pkg_id"))
434
      pkgInfoHash.Add "pkg_name", (rsTemp.Fields("pkg_name"))
436
        pkgInfoHash.Add "pkg_name", (rsTemp.Fields("pkg_name"))
435
      pkgInfoHash.Add "pkg_version", (rsTemp.Fields("pkg_version"))
437
        pkgInfoHash.Add "pkg_version", (rsTemp.Fields("pkg_version"))
436
      pkgInfoHash.Add "v_ext", (rsTemp.Fields("v_ext"))
438
        pkgInfoHash.Add "v_ext", (rsTemp.Fields("v_ext"))
437
      pkgInfoHash.Add "comments", (rsTemp.Fields("comments"))
439
        pkgInfoHash.Add "comments", (rsTemp.Fields("comments"))
438
 
440
 
439
      pkgInfoHash.Add "modified_stamp", (rsTemp.Fields("modified_stamp"))
441
        pkgInfoHash.Add "modified_stamp", (rsTemp.Fields("modified_stamp"))
440
      pkgInfoHash.Add "modifier", (rsTemp.Fields("modifier"))
442
        pkgInfoHash.Add "modifier", (rsTemp.Fields("modifier"))
441
      pkgInfoHash.Add "modifier_id", (rsTemp.Fields("modifier_id"))
443
        pkgInfoHash.Add "modifier_id", (rsTemp.Fields("modifier_id"))
442
      pkgInfoHash.Add "modifier_email", (rsTemp.Fields("modifier_email"))
444
        pkgInfoHash.Add "modifier_email", (rsTemp.Fields("modifier_email"))
443
 
445
 
444
      pkgInfoHash.Add "created_stamp", (rsTemp.Fields("created_stamp"))
446
        pkgInfoHash.Add "created_stamp", (rsTemp.Fields("created_stamp"))
445
      pkgInfoHash.Add "creator", (rsTemp.Fields("creator"))
447
        pkgInfoHash.Add "creator", (rsTemp.Fields("creator"))
446
      pkgInfoHash.Add "creator_id", (rsTemp.Fields("creator_id"))
448
        pkgInfoHash.Add "creator_id", (rsTemp.Fields("creator_id"))
447
      pkgInfoHash.Add "creator_email", (rsTemp.Fields("creator_email"))
449
        pkgInfoHash.Add "creator_email", (rsTemp.Fields("creator_email"))
448
 
450
 
449
      pkgInfoHash.Add "owner", (rsTemp.Fields("owner"))
451
        pkgInfoHash.Add "owner", (rsTemp.Fields("owner"))
450
      pkgInfoHash.Add "owner_id", (rsTemp.Fields("owner_id"))
452
        pkgInfoHash.Add "owner_id", (rsTemp.Fields("owner_id"))
451
      pkgInfoHash.Add "owner_email", (rsTemp.Fields("owner_email"))
453
        pkgInfoHash.Add "owner_email", (rsTemp.Fields("owner_email"))
452
 
454
 
453
      pkgInfoHash.Add "dlocked", (rsTemp.Fields("dlocked"))
455
        pkgInfoHash.Add "dlocked", (rsTemp.Fields("dlocked"))
454
 
456
 
455
      pkgInfoHash.Add "pkg_label", (rsTemp.Fields("pkg_label"))
457
        pkgInfoHash.Add "pkg_label", (rsTemp.Fields("pkg_label"))
456
      pkgInfoHash.Add "src_path", (rsTemp.Fields("src_path"))
458
        pkgInfoHash.Add "src_path", (rsTemp.Fields("src_path"))
457
      pkgInfoHash.Add "pv_description", (rsTemp.Fields("pv_description"))
459
        pkgInfoHash.Add "pv_description", (rsTemp.Fields("pv_description"))
458
      pkgInfoHash.Add "last_pv_id", (rsTemp.Fields("last_pv_id"))
460
        pkgInfoHash.Add "last_pv_id", (rsTemp.Fields("last_pv_id"))
459
      pkgInfoHash.Add "previous_version", (rsTemp.Fields("previous_version"))
461
        pkgInfoHash.Add "previous_version", (rsTemp.Fields("previous_version"))
460
      pkgInfoHash.Add "release_notes_info", (rsTemp.Fields("release_notes_info"))
462
        pkgInfoHash.Add "release_notes_info", (rsTemp.Fields("release_notes_info"))
461
 
463
 
462
      pkgInfoHash.Add "is_patch", (rsTemp.Fields("is_patch"))
464
        pkgInfoHash.Add "is_patch", (rsTemp.Fields("is_patch"))
463
      pkgInfoHash.Add "is_obsolete", (rsTemp.Fields("is_obsolete"))
465
        pkgInfoHash.Add "is_obsolete", (rsTemp.Fields("is_obsolete"))
464
      pkgInfoHash.Add "obsolete_comments", (rsTemp.Fields("obsolete_comments"))
466
        pkgInfoHash.Add "obsolete_comments", (rsTemp.Fields("obsolete_comments"))
465
 
467
 
466
      pkgInfoHash.Add "build_type", (rsTemp.Fields("build_type"))
468
        pkgInfoHash.Add "build_type", (rsTemp.Fields("build_type"))
467
      pkgInfoHash.Add "change_type", (rsTemp.Fields("change_type"))
469
        pkgInfoHash.Add "change_type", (rsTemp.Fields("change_type"))
468
      pkgInfoHash.Add "bs_id", (rsTemp.Fields("bs_id"))
470
        pkgInfoHash.Add "bs_id", (rsTemp.Fields("bs_id"))
469
      pkgInfoHash.Add "is_deployable", (rsTemp.Fields("is_deployable"))
471
        pkgInfoHash.Add "is_deployable", (rsTemp.Fields("is_deployable"))
470
      pkgInfoHash.Add "sbom_priority", (rsTemp.Fields("sbom_priority"))
472
        pkgInfoHash.Add "sbom_priority", (rsTemp.Fields("sbom_priority"))
471
      pkgInfoHash.Add "ripple_field", (rsTemp.Fields("ripple_field"))
473
        pkgInfoHash.Add "ripple_field", (rsTemp.Fields("ripple_field"))
472
   End If
-
 
473
 
474
 
474
    If (pkgInfoHash.Item ("dlocked") = "Y") OR pkgInfoHash.Item("build_type") = "M" Then
475
        If (pkgInfoHash.Item ("dlocked") = "Y") OR pkgInfoHash.Item("build_type") = "M" Then
475
        pkgInfoHash.Add "isInArchive", testArchiveAccessPkg(pkgInfoHash.Item ("pkg_name"), pkgInfoHash.Item ("pkg_version"))
476
            pkgInfoHash.Add "isInArchive", testArchiveAccessPkg(pkgInfoHash.Item ("pkg_name"), pkgInfoHash.Item ("pkg_version"))
476
    End If
477
        End If  
477
 
478
 
478
   If isaRelease Then
479
       If isaRelease  Then
479
      '-- Find if package is editable in this project
480
          '-- Find if package is editable in this project
480
      '   Not editable if
481
          '   Not editable if
481
      '     Imported via a Reference Package
482
          '     Imported via a Reference Package
482
      '     Imported via an SDK
483
          '     Imported via an SDK
483
      '     Release is not in Open or Restricted Mode
484
          '     Release is not in Open or Restricted Mode
484
      '     Project extenstion is project specific - and not within the allowed project
485
          '     Project extenstion is project specific - and not within the allowed project
485
      '     
486
          '     
486
      OraDatabase.ExecuteSQL "BEGIN  :RETURN_NUMBER := CAN_EDIT_PKG_IN_PROJECT( :PV_ID, :RTAG_ID );  END;"
487
          OraDatabase.ExecuteSQL "BEGIN  :RETURN_NUMBER := CAN_EDIT_PKG_IN_PROJECT( :PV_ID, :RTAG_ID );  END;"
487
      pkgInfoHash.Item ("can_edit_in_project") = CStr( OraDatabase.Parameters("RETURN_NUMBER").Value )
488
          pkgInfoHash.Item ("can_edit_in_project") = CStr( OraDatabase.Parameters("RETURN_NUMBER").Value )
-
 
489
 
-
 
490
           '-- Get Package Release Details
-
 
491
           Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageReleaseDetails.sql"), cint(0))
-
 
492
 
-
 
493
           If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
-
 
494
              pkgInfoHash.Add "insert_stamp", (rsTemp.Fields("insert_stamp"))
-
 
495
              pkgInfoHash.Add "insertor", (rsTemp.Fields("insertor"))
-
 
496
              pkgInfoHash.Add "insertor_email", (rsTemp.Fields("insertor_email"))
-
 
497
              pkgInfoHash.Add "used_count", (rsTemp.Fields("used_count"))
-
 
498
 
-
 
499
              pkgInfoHash.Item ("base_view_id") = (rsTemp.Fields("base_view_id"))
-
 
500
              pkgInfoHash.Item ("view_name") = (rsTemp.Fields("view_name"))
-
 
501
              pkgInfoHash.Item ("pkg_state") = (rsTemp.Fields("pkg_state"))
-
 
502
              pkgInfoHash.Item ("deprecated_state") = (rsTemp.Fields("deprecated_state"))
-
 
503
              pkgInfoHash.Item ("product_state") = (rsTemp.Fields("product_state"))
-
 
504
 
-
 
505
              pkgInfoHash.Add "proj_id", (rsTemp.Fields("proj_id"))
-
 
506
              pkgInfoHash.Add "rtag_id", (rsTemp.Fields("rtag_id"))
-
 
507
              pkgInfoHash.Add "rtag_name", (rsTemp.Fields("rtag_name"))
-
 
508
              pkgInfoHash.Add "product_state_used", (rsTemp.Fields("product_state_used"))
-
 
509
              pkgInfoHash.Add "sdktag_id", (rsTemp.Fields("sdktag_id"))
-
 
510
              pkgInfoHash.Add "is_sdkpkg", (NOT IsNull(rsTemp.Fields("sdktag_id")))
-
 
511
              pkgInfoHash.Add "is_pegged", (rsTemp.Fields("pegged") <> 0)
-
 
512
              pkgInfoHash.Add "ripple_stop", rsTemp.Fields("ripple_stop")
-
 
513
              pkgInfoHash.Add "persist_ripple_stop", rsTemp.Fields("persist_ripple_stop")
-
 
514
              pkgInfoHash.Add "advisory_ripple", rsTemp.Fields("advisory_ripple") <> 0
-
 
515
 
-
 
516
           Else
-
 
517
              ' -- Package Version is not a released member of the specified release
-
 
518
              '    Get Basic Release and Project Details
-
 
519
              Query_String = " select pj.PROJ_ID, rt.RTAG_ID,rt.rtag_name " &_
-
 
520
                             " from projects pj, release_tags rt" &_
-
 
521
                             " where rt.rtag_id=:RTAG_ID" &_
-
 
522
                             " and rt.PROJ_ID = pj.PROJ_ID"
-
 
523
              
-
 
524
              Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
-
 
525
              
-
 
526
              If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
-
 
527
                  pkgInfoHash.Add "proj_id",   (rsTemp.Fields("proj_id"))
-
 
528
              	  pkgInfoHash.Add "rtag_id",   (rsTemp.Fields("rtag_id"))
-
 
529
              	  pkgInfoHash.Add "rtag_name", (rsTemp.Fields("rtag_name"))
-
 
530
              End If
488
 
531
 
-
 
532
              ' -- Determine if package is a member of this release and determine base view
-
 
533
    		  '    May be a WIP or PENDIND or not in the release ( Won't get here if its releases)
489
       '-- Get Package Release Details
534
              '    Mark as Not in Release
-
 
535
              Query_String = "select wip.pv_id, wip.view_id as view_id, vi.view_name, 0 as env_area from work_in_progress wip, views vi where rtag_id=:RTAG_ID and pv_id=:PV_ID and vi.view_id = wip.view_id" &_
-
 
536
                              " union" &_
-
 
537
                              " select pp.pv_id, pp.view_id  as view_id, vi.view_name, 1 as env_area from planned pp, views vi where rtag_id=:RTAG_ID and pv_id=:PV_ID and vi.view_id = pp.view_id" &_
-
 
538
                              " union" &_
-
 
539
                              " select rc.pv_id, rc.base_view_id as view_id, vi.view_name, 2 as env_area from RELEASE_CONTENT rc, views vi where rtag_id=:RTAG_ID and pv_id=:PV_ID and vi.view_id = rc.base_view_id"
490
       Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageReleaseDetails.sql"), cint(0))
540
              Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
-
 
541
              If rsTemp.RecordCount < 1 Then
-
 
542
                   pkgInfoHash.Item ("notInRelease") = true
-
 
543
              Else
-
 
544
                pkgInfoHash.Item ("base_view_id") = (rsTemp.Fields("view_id"))
-
 
545
                pkgInfoHash.Item ("view_name") = (rsTemp.Fields("view_name"))
-
 
546
                If rsTemp("env_area") = 0 Then pkgInfoHash.Item ("is_wip") = True
-
 
547
                If rsTemp("env_area") = 1 Then pkgInfoHash.Item ("is_pending") = True
-
 
548
              End If
491
 
549
 
492
       If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
550
              '
493
          pkgInfoHash.Add "insert_stamp", (rsTemp.Fields("insert_stamp"))
-
 
494
          pkgInfoHash.Add "insertor", (rsTemp.Fields("insertor"))
551
              ' -- Determine related package that is in the release
495
          pkgInfoHash.Add "insertor_email", (rsTemp.Fields("insertor_email"))
-
 
496
          pkgInfoHash.Add "used_count", (rsTemp.Fields("used_count"))
552
              '    Use pkg_id and v_ext to locate package
497
 
-
 
498
          pkgInfoHash.Item ("base_view_id") = (rsTemp.Fields("base_view_id"))
553
              If pkgInfoHash.Item ("pkg_id") <> "" Then
499
          pkgInfoHash.Item ("view_name") = (rsTemp.Fields("view_name"))
554
                 Query_String = "SELECT pv.PV_ID, vi.view_name" &_
500
          pkgInfoHash.Item ("pkg_state") = (rsTemp.Fields("pkg_state"))
555
              				  " FROM RELEASE_CONTENT rc, package_versions pv, views vi" &_ 
501
          pkgInfoHash.Item ("deprecated_state") = (rsTemp.Fields("deprecated_state"))
556
              				  " WHERE rc.rtag_id = :RTAG_ID" &_
502
          pkgInfoHash.Item ("product_state") = (rsTemp.Fields("product_state"))
557
              				  " and rc.PV_ID = pv.pv_id" &_
503
 
-
 
504
          pkgInfoHash.Add "proj_id", (rsTemp.Fields("proj_id"))
558
    						  " and vi.view_id = rc.base_view_id" &_
505
          pkgInfoHash.Add "rtag_id", (rsTemp.Fields("rtag_id"))
559
              				  " and pv.pkg_id = " & pkgInfoHash.Item ("pkg_id") &_ 
506
          pkgInfoHash.Add "rtag_name", (rsTemp.Fields("rtag_name"))
560
              				  " and NVL(pv.v_ext,'') = NVL('"&pkgInfoHash.Item ("v_ext")&"', '')"
507
          pkgInfoHash.Add "product_state_used", (rsTemp.Fields("product_state_used"))
561
                 Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
508
          pkgInfoHash.Add "sdktag_id", (rsTemp.Fields("sdktag_id"))
562
                 If rsTemp.RecordCount > 0 Then
509
          pkgInfoHash.Add "is_sdkpkg", (NOT IsNull(rsTemp.Fields("sdktag_id")))
563
              		pkgInfoHash.Item ("pv_id_InRelease") = (rsTemp.Fields("pv_id"))
510
          pkgInfoHash.Add "is_pegged", (rsTemp.Fields("pegged") <> 0)
564
                    'pkgInfoHash.Remove ("base_view_id")
511
          pkgInfoHash.Add "ripple_stop", rsTemp.Fields("ripple_stop")
565
                    pkgInfoHash.Item ("release_view_name") = (rsTemp.Fields("view_name"))
512
          pkgInfoHash.Add "persist_ripple_stop", rsTemp.Fields("persist_ripple_stop")
566
                 End If
513
          pkgInfoHash.Add "advisory_ripple", rsTemp.Fields("advisory_ripple") <> 0
567
              End If
514
 
568
 
515
       Else
-
 
516
          ' -- Package Version is not a released member of the specified release
-
 
517
          '    Get Basic Release and Project Details
-
 
518
          Query_String = " select pj.PROJ_ID, rt.RTAG_ID,rt.rtag_name " &_
-
 
519
                         " from projects pj, release_tags rt" &_
-
 
520
                         " where rt.rtag_id=:RTAG_ID" &_
-
 
521
                         " and rt.PROJ_ID = pj.PROJ_ID"
-
 
522
          
-
 
523
          Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
-
 
524
          
-
 
525
          If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
-
 
526
              pkgInfoHash.Add "proj_id",   (rsTemp.Fields("proj_id"))
-
 
527
          	  pkgInfoHash.Add "rtag_id",   (rsTemp.Fields("rtag_id"))
-
 
528
          	  pkgInfoHash.Add "rtag_name", (rsTemp.Fields("rtag_name"))
-
 
529
          End If
569
           End If
530
 
570
 
531
          ' -- Determine if package is a member of this release and determine base view
571
           ' Determine if user can make the the package 'unofficial'
532
		  '    May be a WIP or PENDIND or not in the release ( Won't get here if its releases)
-
 
533
          '    Mark as Not in Release
-
 
534
          Query_String = "select wip.pv_id, wip.view_id as view_id, vi.view_name, 0 as env_area from work_in_progress wip, views vi where rtag_id=:RTAG_ID and pv_id=:PV_ID and vi.view_id = wip.view_id" &_
-
 
535
                          " union" &_
572
           If     (pkgInfoHash.Item ("dlocked") = "Y") _
536
                          " select pp.pv_id, pp.view_id  as view_id, vi.view_name, 1 as env_area from planned pp, views vi where rtag_id=:RTAG_ID and pv_id=:PV_ID and vi.view_id = pp.view_id" &_
-
 
537
                          " union" &_
573
             AND  (pkgInfoHash.Item ("build_type") = "M") _
538
                          " select rc.pv_id, rc.base_view_id as view_id, vi.view_name, 2 as env_area from RELEASE_CONTENT rc, views vi where rtag_id=:RTAG_ID and pv_id=:PV_ID and vi.view_id = rc.base_view_id"
-
 
539
          Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
574
             AND  (CDate( FormatDateTime(pkgInfoHash.Item ("modified_stamp"), 2) ) = Date) _
540
          If rsTemp.RecordCount < 1 Then
-
 
541
               pkgInfoHash.Item ("notInRelease") = true
575
             AND  (pkgInfoHash.Item("can_edit_in_project") = "1" ) _
542
          Else
576
           Then
543
            pkgInfoHash.Item ("base_view_id") = (rsTemp.Fields("view_id"))
-
 
544
            pkgInfoHash.Item ("view_name") = (rsTemp.Fields("view_name"))
-
 
545
            If rsTemp("env_area") = 0 Then pkgInfoHash.Item ("is_wip") = True
-
 
546
            If rsTemp("env_area") = 1 Then pkgInfoHash.Item ("is_pending") = True
577
                pkgInfoHash.Item ("can_unofficial") = "true"
547
          End If
578
           End If
548
 
579
 
549
          '
580
          '
550
          ' -- Determine related package that is in the release
581
          ' Determine if there is a deamon instruction on this package in this release
-
 
582
          ' Also: OraDatabase.ExecuteSQL "BEGIN :OP_CODE_LIST := PK_BUILDAPI.daemon_ops_for_rtag("& nRtag_id & "); END;"
551
          '    Use pkg_id and v_ext to locate package
583
          objEH.TryORA ( OraSession )
-
 
584
          ON ERROR RESUME NEXT
-
 
585
          OraDatabase.ExecuteSQL "BEGIN :OP_CODE_LIST := PK_BUILDAPI.daemon_ops_for_rtag_pvid(:RTAG_ID,:PV_ID); END;"
552
          If pkgInfoHash.Item ("pkg_id") <> "" Then
586
          objEH.CatchORA ( OraSession )
-
 
587
          ON ERROR GOTO 0
553
             Query_String = "SELECT pv.PV_ID, vi.view_name" &_
588
          opCodeListString  = OraDatabase.Parameters("OP_CODE_LIST").Value
-
 
589
 
554
          				  " FROM RELEASE_CONTENT rc, package_versions pv, views vi" &_ 
590
          If NOT IsNull(opCodeListString) AND opCodeListString <> "" Then
555
          				  " WHERE rc.rtag_id = :RTAG_ID" &_
591
             opCodeList = Split(opCodeListString, ",")
556
          				  " and rc.PV_ID = pv.pv_id" &_
592
             For Each opCodeStr In opCodeList
557
						  " and vi.view_id = rc.base_view_id" &_
593
                If opCodeStr = OP_CODE_0_RIPPLE_BUILD_PACKAGE  Then
558
          				  " and pv.pkg_id = " & pkgInfoHash.Item ("pkg_id") &_ 
594
                    pkgInfoHash.Add "hasRippleInstr", 1
-
 
595
                End If
559
          				  " and NVL(pv.v_ext,'') = NVL('"&pkgInfoHash.Item ("v_ext")&"', '')"
596
                If  opCodeStr = OP_CODE_1_TEST_BUILD_PACKAGE  Then
560
             Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
597
                    pkgInfoHash.Add "hasTestInstr", 1
561
             If rsTemp.RecordCount > 0 Then
598
                End If
562
          		pkgInfoHash.Item ("pv_id_InRelease") = (rsTemp.Fields("pv_id"))
599
                If  opCodeStr = OP_CODE_2_FUTURE_BUILD  Then
563
                'pkgInfoHash.Remove ("base_view_id")
600
                    pkgInfoHash.Add "hasFutureBuild", 1
564
                pkgInfoHash.Item ("release_view_name") = (rsTemp.Fields("view_name"))
601
                End If
565
             End If
602
             Next
566
          End If
603
          End If
567
 
604
 
-
 
605
       Else     ' NOT isaRelease
-
 
606
          If pkgInfoHash.Exists ("modified_stamp") Then
-
 
607
              If NOT IsNull(pkgInfoHash.Item ("modified_stamp").Value) Then
-
 
608
                  If (CDate( FormatDateTime(pkgInfoHash.Item ("modified_stamp"), 2) ) = Date) Then
-
 
609
                     ' Must be not older then a day
-
 
610
                     If (pkgInfoHash.Item ("dlocked") = "A")  OR   NOT IsNull(pkgInfoHash.Item("is_patch")) Then
-
 
611
                        pkgInfoHash.Item ("can_unofficial") = "true"
-
 
612
                     End If
-
 
613
                  End If
-
 
614
              End If
-
 
615
         End If
-
 
616
       End If   ' End isaRelease
-
 
617
 
-
 
618
       '-- Get Patch Parent
-
 
619
       If pkgInfoHash.Item ("is_patch") = "Y" Then
-
 
620
          Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PatchParent.sql"), cint(0))
-
 
621
 
-
 
622
          If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
-
 
623
             pkgInfoHash.Add "patch_parent_id", (rsTemp.Fields("pv_id"))
-
 
624
          End If
568
       End If
625
       End If
569
 
626
 
570
       ' Determine if user can make the the package 'unofficial'
627
       ' DEVI-45275 - Check if version is in the planned table and if so get its planned operation type
571
       If     (pkgInfoHash.Item ("dlocked") = "Y") _
628
       ' which denotes whether it is an existing version being added to a release, an existing version
572
         AND  (pkgInfoHash.Item ("build_type") = "M") _
629
       ' being removed from a release, or a new version being prepared for a release.
573
         AND  (CDate( FormatDateTime(pkgInfoHash.Item ("modified_stamp"), 2) ) = Date) _
630
       Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PlannedPackageVersionDetails.sql"), cint(0))
-
 
631
 
-
 
632
       If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
574
         AND  (pkgInfoHash.Item("can_edit_in_project") = "1" ) _
633
          pkgInfoHash.Add "planned_operation", (rsTemp.Fields("operation"))
575
       Then
634
       Else
576
            pkgInfoHash.Item ("can_unofficial") = "true"
635
          pkgInfoHash.Add "planned_operation", " "
577
       End If
636
       End If
578
 
637
 
-
 
638
       ' Determine if we are building this package on any build machine
579
      '
639
       '
580
      ' Determine if there is a deamon instruction on this package in this release
640
       pkgInfoHash.Add "isBuilding", isBuilding(SSpv_id)
581
      ' Also: OraDatabase.ExecuteSQL "BEGIN :OP_CODE_LIST := PK_BUILDAPI.daemon_ops_for_rtag("& nRtag_id & "); END;"
-
 
582
      objEH.TryORA ( OraSession )
-
 
-
 
641
 
583
      ON ERROR RESUME NEXT
642
       'On Error Resume Next
584
      OraDatabase.ExecuteSQL "BEGIN :OP_CODE_LIST := PK_BUILDAPI.daemon_ops_for_rtag_pvid(:RTAG_ID,:PV_ID); END;"
-
 
585
      objEH.CatchORA ( OraSession )
-
 
586
      ON ERROR GOTO 0
643
       'On Error Goto 0
587
      opCodeListString  = OraDatabase.Parameters("OP_CODE_LIST").Value
-
 
588
 
644
 
589
      If NOT IsNull(opCodeListString) AND opCodeListString <> "" Then
-
 
590
         opCodeList = Split(opCodeListString, ",")
-
 
591
         For Each opCodeStr In opCodeList
645
       ' check if package is released
592
            If opCodeStr = OP_CODE_0_RIPPLE_BUILD_PACKAGE  Then
-
 
593
                pkgInfoHash.Add "hasRippleInstr", 1
-
 
594
            End If
646
       If NOT isaRelease Then
595
            If  opCodeStr = OP_CODE_1_TEST_BUILD_PACKAGE  Then
-
 
596
                pkgInfoHash.Add "hasTestInstr", 1
647
         pkgInfoHash.Add "is_released", False
597
            End If
648
       Else
598
            If  opCodeStr = OP_CODE_2_FUTURE_BUILD  Then
649
         Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT rc.pv_id FROM release_content rc WHERE rc.rtag_id = :RTAG_ID AND rc.pv_id = :PV_ID", cint(0))
599
                pkgInfoHash.Add "hasFutureBuild", 1
650
         pkgInfoHash.Add "is_released", rsTemp.RecordCount <> 0
600
            End If
-
 
601
         Next
-
 
602
      End If
651
       End If
603
 
652
 
604
   Else     ' NOT isaRelease
653
       ' check if package is excluded from build
605
      If pkgInfoHash.Exists ("modified_stamp") Then
654
       pkgInfoHash.Add "is_excluded", False
606
          If NOT IsNull(pkgInfoHash.Item ("modified_stamp").Value) Then
655
       pkgInfoHash.Add "has_build_failure", False
607
              If (CDate( FormatDateTime(pkgInfoHash.Item ("modified_stamp"), 2) ) = Date) Then
-
 
608
                 ' Must be not older then a day
656
       If isaRelease Then
609
                 If (pkgInfoHash.Item ("dlocked") = "A")  OR   NOT IsNull(pkgInfoHash.Item("is_patch")) Then
657
         Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT dnr.pv_id,dnr.root_pv_id FROM do_not_ripple dnr WHERE dnr.rtag_id = :RTAG_ID AND dnr.pv_id = :PV_ID", cint(0))
610
                    pkgInfoHash.Item ("can_unofficial") = "true"
658
         If rsTemp.RecordCount <> 0 Then
611
                 End If
659
           pkgInfoHash("is_excluded") = True
612
              End If
660
           pkgInfoHash("has_build_failure") = IsNull(rsTemp("root_pv_id"))
613
          End If
661
         End If
614
     End If
662
       End If
615
   End If   ' End isaRelease
-
 
616
 
663
 
617
   '-- Get Patch Parent
-
 
618
   If pkgInfoHash.Item ("is_patch") = "Y" Then
-
 
619
      Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PatchParent.sql"), cint(0))
-
 
620
 
-
 
621
      If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
-
 
622
         pkgInfoHash.Add "patch_parent_id", (rsTemp.Fields("pv_id"))
-
 
623
      End If
-
 
624
   End If
-
 
625
 
-
 
626
   ' DEVI-45275 - Check if version is in the planned table and if so get its planned operation type
-
 
627
   ' which denotes whether it is an existing version being added to a release, an existing version
-
 
628
   ' being removed from a release, or a new version being prepared for a release.
-
 
629
   Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PlannedPackageVersionDetails.sql"), cint(0))
-
 
630
 
-
 
631
   If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
-
 
632
      pkgInfoHash.Add "planned_operation", (rsTemp.Fields("operation"))
-
 
633
   Else
-
 
634
      pkgInfoHash.Add "planned_operation", " "
-
 
635
   End If
-
 
636
 
-
 
637
   ' Determine if we are building this package on any build machine
-
 
638
   '
-
 
639
   pkgInfoHash.Add "isBuilding", isBuilding(SSpv_id)
-
 
640
 
-
 
641
   'On Error Resume Next
-
 
642
   'On Error Goto 0
-
 
643
 
-
 
644
   ' check if package is released
-
 
645
   If NOT isaRelease Then
-
 
646
     pkgInfoHash.Add "is_released", False
-
 
647
   Else
-
 
648
     Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT rc.pv_id FROM release_content rc WHERE rc.rtag_id = :RTAG_ID AND rc.pv_id = :PV_ID", cint(0))
-
 
649
     pkgInfoHash.Add "is_released", rsTemp.RecordCount <> 0
-
 
650
   End If
-
 
651
 
-
 
652
   ' check if package is excluded from build
-
 
653
   pkgInfoHash.Add "is_excluded", False
-
 
654
   pkgInfoHash.Add "has_build_failure", False
-
 
655
   If isaRelease Then
-
 
656
     Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT dnr.pv_id,dnr.root_pv_id FROM do_not_ripple dnr WHERE dnr.rtag_id = :RTAG_ID AND dnr.pv_id = :PV_ID", cint(0))
-
 
657
     If rsTemp.RecordCount <> 0 Then
-
 
658
       pkgInfoHash("is_excluded") = True
-
 
659
       pkgInfoHash("has_build_failure") = IsNull(rsTemp("root_pv_id"))
-
 
660
     End If
-
 
661
   End If
-
 
662
 
-
 
663
   ' Check if Package is deprecated
664
       ' Check if Package is deprecated
664
   If isaRelease Then
665
       If isaRelease Then
665
     Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT * FROM DEPRECATED_PACKAGES WHERE RTAG_ID = :RTAG_ID AND "& EmptyToNullString("V_EXT", pkgInfoHash.Item ("v_ext")) &" AND PKG_ID = "& pkgInfoHash.Item ("pkg_id") &"", cint(0))
666
         Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT * FROM DEPRECATED_PACKAGES WHERE RTAG_ID = :RTAG_ID AND "& EmptyToNullString("V_EXT", pkgInfoHash.Item ("v_ext")) &" AND PKG_ID = "& pkgInfoHash.Item ("pkg_id") &"", cint(0))
666
     If rsTemp.RecordCount > 0 Then
667
         If rsTemp.RecordCount > 0 Then
667
        pkgInfoHash.Add "is_deprecated", True
668
            pkgInfoHash.Add "is_deprecated", True
668
     End If
669
         End If
669
   End If
670
       End If
670
 
671
 
671
   ' Check if package is a NEW package - only one version in existence
672
       ' Check if package is a NEW package - only one version in existence
672
   If pkgInfoHash.Item ("pkg_id") <> "" Then
673
       If pkgInfoHash.Item ("pkg_id") <> "" Then
673
       Set rsTemp = OraDatabase.DbCreateDynaset( "select count(*) as count from package_versions pv where pkg_id = " & pkgInfoHash.Item ("pkg_id"), cint(0))
674
           Set rsTemp = OraDatabase.DbCreateDynaset( "select count(*) as count from package_versions pv where pkg_id = " & pkgInfoHash.Item ("pkg_id"), cint(0))
674
       pkgInfoHash.Add "pkg_count" , rsTemp("count")
675
           pkgInfoHash.Add "pkg_count" , rsTemp("count")
675
   End If
676
       End If
676
 
-
 
677
   ' Does this package have any dependencies
-
 
678
   Set rsTemp = OraDatabase.DbCreateDynaset( "select count(*) as depCount from package_dependencies where pv_id = :PV_ID", cint(0))
-
 
679
   pkgInfoHash.Add "depCount" , rsTemp("depCount")
-
 
680
 
677
 
-
 
678
       ' Does this package have any dependencies
-
 
679
       Set rsTemp = OraDatabase.DbCreateDynaset( "select count(*) as depCount from package_dependencies where pv_id = :PV_ID", cint(0))
-
 
680
       pkgInfoHash.Add "depCount" , rsTemp("depCount")
-
 
681
	End If
681
 
682
 
682
   rsTemp.Close
683
   rsTemp.Close
683
   Set rsTemp = nothing
684
   Set rsTemp = nothing
684
 
685
 
685
   OraDatabase.Parameters.Remove "PV_ID"
686
   OraDatabase.Parameters.Remove "PV_ID"