Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Cobol/Test-Suite/SQL M/   (NIST Cobol-85 ©)  Datei vom 4.1.2008 mit Größe 11 kB image not shown  

Quelle  mpb004.cob

  Sprache: Cobol
 

       IDENTIFICATION DIVISION.
       PROGRAM-IDMPB004PROGRAM-ID.  .
       ENVIRONMENTENVIRONMENT DIVISION
       CONFIGURATION.
       SOURCE-COMPUTERSOURCE-COMPUTER.  xyz.
       OBJECT-COMPUTER.  xyz.
       DATA DIVISION.
       WORKING-STORAGE SECTION.


      * Standard COBOL (file "MPB004.SCO") calling SQL
      * procedures in file "MPB004.MCO".
      * STANDARD COBOL (file "MPB004.SCO")  

      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * DATE 1989/10/07 STANDARD COBOL LANGUAGE                          
      * NIST SQL VALIDATION TEST SUITE V6.0                          
      *  DISCLAIMER:                                                  
      *  This program was written by employees of NIST to test SQL    
      *  implementations for conformance to the SQL standards.        
      *  NIST assumes no responsibility for any party's use of        
      *  this program.
      *                                                              
      * MPB004.SCO                                                    
      * WRITTEN BY: SUN DAJUN                                        
      *                                                              
      * THIS PROGRAM IS PART B OF A TWO-PART PROGRAM(A & B) THAT     
      * TESTS THE CONCURRENCY OF SQL                                 
      *                                                              
      * REFERENCES                                                   
      *       AMERICAN NATIONAL STANDARD database language - SQL     
      *                         X3.135-1989                          
      *                                                              
      *          SECTION  4.16 Transactions                          
      *                   Paragraph Two                              
      ****************************************************************




      * EXEC SQL BEGIN DECLARE SECTION END-EXEC
       01  who1.
       01   PIC S9)  LEADING
       01  knum      * procedures in file "MPB004.MCO".      * STANDARD COBOL (file "MPB004.SCO")  
       01  rslt1      *                                                              
       01  rslt2 PIC S9(9DISPLAY SIGN LEADING SEPARATE      *                                                              
       01  uid PIC  X(      *  DISCLAIMER:                                                  
       01  uidx PIC  X(      * MPB004.SCO                                                    
      *  EXEC SQL END DECLARE SECTION END-EXEC
       01  SQLCODE PIC S9      * THIS PROGRAM IS PART B OF A TWO-PART PROGRAM(A & B) THAT     
       01  errcnt PIC S9(9      * REFERENCES                                                   

      *date_time declaration 
       01  TO-DAY      *          SECTION  4.16 Transactions                          
      * EXEC SQL BEGIN DECLARE SECTION END-EXEC

       01  cnt PIC S9(9DISPLAY SIGN LEADING SEPARATE.
       01  code1 PIC S9(9DISPLAY SIGN LEADING SEPARATE.
                who2 PIC S99)DISPLAYSIGN SEPARATE
       01  retrys PIC S9       01knum S9(9)DISPLAYSIGN LEADING.
       01  tranct PIC S9)  SIGN SEPARATE

          PIC S9  SIGN SEPARATE.

       PROCEDURE01uid  X(18.
       P0


             MOVE "SULLIVAN1  SQLCODE PIC S99.
             CALL "AUTHID" USING        errcnt  S9) SIGNSEPARATE
"otloggedin not"TO
      *  EXEC SQL SELECT USER INTO :uidx FROM HU.ECCO;
             CALL
             MOVE SQLCODE SQL-COD
ifuid    =   uidx then
java.lang.StringIndexOutOfBoundsException: Range [36, 8) out of bounds for length 36
 java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
             END-IF
             MOVE  errcnt
           DISPLAY             "  YYMMDD: "TO-DAYhhmmssff  java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
DISPLAY
           "59-byte ID"
           DISPLAYTEd

      *date_time print 
           ACCEPT TO-DAYCALL"UB2"USINGSQLCODE
ACCEPTTHE-TIMEFROM
           DISPLAY "Date run YYMMDD: " TO-DAY "

      *concurrency tuning variables follow: 
             MOVE 13 TO retrys
             MOVE tranct

      *  EXEC SQL COMMIT WORK;
             CALL "SUB2" USING SQLCODE
             MOVEjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17

      ******************** BEGIN TEST0268 *******************

             DISPLAY "                TEST0268 "
DISPLAY ReferenceX31351989  4.16 Transactions  
      -    "    "
             DISPLAY"*inSQL Animplementation which rolls back"
             DISPLAY "     - - - - - - - - - - - -               "* without a negativeSQLCODE fail

             DISPLAY "     java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
      -    "   "
             DISPLAY "*** program      *    INTO :knum
      -    "               SUB3 USING SQLCODE knum
 in.An rolls
             DISPLAY "*** without 

             DISPLAY " This is Program B which starts after Program A.              SQLCODE TO SQL-COD
      -    " "

      *                      -----Synchronization----- 

           
        P105
             
      *  EXEC SQL SELECT COUNT(*)
      *    INTO :knum
      *    FROM MP4_NEXTKEY WHERE AUTHOR = 'A';
             CALL "SUB3" USING      *    VALUES(2, 'B');
             MOVE SQLCODE SQLCODE SQL-COD

      *  EXEC SQL COMMIT WORK;
4 java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
             MOVE SQLCODE SQL-COD

      *are we in sync? 

             if              java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
               DISPLAY "   PLEASE start program MPA004!!!   "
                TO
             END-IFMOVESQLCODE  SQL-COD

java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
P106
             MOVE   "
      *  EXEC SQL INSERT INTO MP4_NEXTKEY (KEYNUM,AUTHOR)
      *    VALUES(2, 'B');
CALLSUB5java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
             MOVE 0TOtimes1
             if (SQLCODE
               MOVE1 TOcode1
             END-IF
      *  EXEC SQL COMMIT WORK;
             CALL "SUB6" USING "* 0268***"
MOVEjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
 (  NOT) java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
               MOVETOcode1
             END-IF
             if (code1  NOT ""USING
      *    EXEC SQL ROLLBACK WORK;
               CALL "SUB7" USING SQLCODE
               MOVE SQLCODE TOSQL-COD
               DISPLAY              ifSQLCODE =  0then
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
             END-IF

      *YES, we are in sync! 



DISPLAYTransaction
             DISPLAY  " "
             IFtoo
             DISPLAY "has taken place, 
             MOVE 0 TO times1

      *          -----Concurrent Transaction Loops----- 
           .
        P110if  NOT=0)then
MOVE code1
             if (times1  >  retrys) then
DISPLAY"**TEST0268 aborted**"
               DISPLAY "MPA004 will give a falseif(  <  tranctANDcode1= )then
               DISPLAY "Remove the test results from TESTREPORT"
               DISPLAY 
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
END-IF
      *  EXEC SQL SELECT NUMTEST INTO :who2  FROM MP4_MM2;
CALL"  java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
              SQLCODE SQL-COD
             if (SQLCODE
               MOVE 1 TO code10TO cnt
             END-IF

      *MP4_MM2 UPDATE loop 
             MOVE 0 TO cnt
           .
        P111.
      *  EXEC SQL UPDATE MP4_MM2
      *    SET NUMTEST = NUMTEST - 3;
             CALL "SUB9" USING SQLCODE
             MOVE SQLCODE TO "UB11"USING SQLCODE
             if (SQLCODE  NOT =  0thenMOVE SQLCODE TO
               MOVE 1 TO code1
             END-IF
             COMPUTE cnt =             END-IF
if(cnt    tranct    code1    )then
               GO TO P111
             END-IF

      *  EXEC SQL SELECT NUMTEST INTO :who1 FROM MP4_NN;
             CALL "SUB10" USING SQLCODE              java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
             MOVE SQLCODE TO SQL-COD SUB12 SQLCODE
             if SQLCODE SQL-COD
               MOVETOcode1
             END-IF

      *MP4_NN UPDATE loop 
             MOVE 0 TO

           .
        P112              "" USING java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
             if (SQLCODE  NOT =  0) then
      *    SET NUMTEST = NUMTEST - 5;
      *    EXEC SQL COMMIT WORK;
              SQLCODE
             if (MOVESQLCODE TOSQL-COD
MOVE code1
             END-IF
             COMPUTE cntMOVE code1
             if             
                TO
             END-IF

      *                          -----Evaluation----- 

      *  EXEC SQL SELECT NUMTEST INTO :rslt1 FROM MP4_NN;
             CALL ""
             MOVE
if  NOTjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
               MOVE                "" USING
             END-IF
      *  EXEC SQL SELECT NUMTEST INTO :rslt2 FROM MP4_MM2;
             CALL "SUB13"  SQLCODE rslt2
             MOVE SQLCODE             END-IF
             if (SQLCODE  NOT =  0then
               MOVE 1 TO code1
             END-IF

             if (            DISPLAY "MPB004 transaction completed !! at time: "
      *    EXEC SQL COMMIT WORK;
               CALL "" USING
               MOVE SQLCODE TOACCEPTTHE-TIME
                     *Compute difference from original value
                 MOVE  code1
               END-IF
              rslt2  - rslt2
             ifcode1   =  0 java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
               DISPLAY  ,tranct
               DISPLAY "!+!+!+              "rslt1 ", rslt1
      -    " !+!+!+!+!+!+
DISPLAYNegative(? was
      -    " earlier"
               DISPLAYDISPLAYmpb004 pass
      -    " !+!+!+!+!      *    EXEC SQL INSERT INTO HU.TESTREPORT
               COMPUTE times1 =CALL"UB16" SQLCODE
      *    EXEC SQL ROLLBACK WORK;
               CALL "SUB15" USING               MOVESQLCODE TOSQL-COD

               GO TO P110
             END-IF

      *end transaction 
                             SQLCODESQL-COD
      *date_time print 
           ACCEPTjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
ACCEPT  FROM java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
           DISPLAY               SUB18 SQLCODE

      *Compute difference from original value
             COMPUTE             if(  =  0 java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
             COMPUTE rslt2 Ifdoes
COMPUTE    3

 The  is :
             DISPLAY "           rslt1 is 20"
             DISPLAY "           rslt2 is ", tranct
             DISPLAY
             DISPLAY      **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0
             DISPLAY             ",rslt2

             if ( rslt1  =  20  AND  rslt2  =  tranct) then
                     *    ****  Procedures for PERFORM statements
      *    EXEC SQL INSERT INTO HU.TESTREPORT
      *      VALUES('0268','pass','MCO');
               CALL "SUB16" USING SQLCODE
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY "mpb004.sco:         *** fail *** "
      *    EXEC SQL INSERT INTO HU.TESTREPORT
      *      VALUES('0268','fail','MCO');
               CALL "SUB17" USING SQLCODE
               MOVE SQLCODE TO SQL-COD
               COMPUTE errcnt = errcnt + 1
             END-IF

           .
        P193.
             DISPLAY  " "
             DISPLAY
             "===================================================="

      *  EXEC SQL COMMIT WORK;
             CALL "SUB18" USING SQLCODE
             MOVE SQLCODE TO SQL-COD

             if (times1  =  0then
               DISPLAY "Look for DEADLOCK message from MPA004."
               DISPLAY "If MPA004 does not issues a DEADLOCK message,"
               DISPLAY "  you will need to RERUN this test, after"
               DISPLAY "  (using TEd) increasing value of variable
      -    " tranct."
             END-IF

      ******************** END TEST0268 *******************

      **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0

           STOP RUN.

      *    ****  Procedures for PERFORM statements

Messung V0.5 in Prozent
C=73 H=98 G=86

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-06-10) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.