SSL dml114.cob
Interaktion und PortierbarkeitCobol
IDENTIFICATIONDIVISION. PROGRAM-ID. . ENVIRONMENTDIVISIONjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28 CONFIGURATION* DML114.PCO SOURCE-COMPUTER. xyz * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE OBJECT-COMPUTER. xyz. DATADIVISION. WORKING-STORAGE* This is the non-dynamic version of DML115.PC.
* EMBEDDED COBOL (file "DML114.PCO")
**************************************************************** * * COMMENT SECTION * * DATE 1994/3/30 EMBEDDED 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. * * DML114.PCO * WRITTEN BY: David W. Flater * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE * * This routine tests FIPS features 13, 14, 15, and 16. * This is the non-dynamic version of DML115.PC. * * REFERENCES * FIPS PUB 127-2 14.1 Transitional SQL * ANSI SQL-1992 * ****************************************************************
EXECBEGIN SECTION
01 SQLCODE SQLSECTION
01 1 norm1(9) DISPLAYLEADING .
0 norm2 PIC(9) DISPLAYLEADINGSEPARATE
01 uidx(8.
01 int1 PIC S9(9) DISPLAYSIGNLEADINGSEPARATE.
01 int2 PIC S9(9) DISPLAYSIGNLEADINGSEPARATE.
01 ch1 PIC X(3).
01 ch2 PIC X(20).
01 ch3 PIC X(15).
01234BCDEFGH56789IJKLMNOPQRSTUVWXYZ EXECSQLSECTIONjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
0 PIC S9 SIGN.
01 norm2 PIC S9(9) *date_time declaration
0 VALUE
1THE-TIME()java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
0 ALPNUM XOCCURS.
01 NORMSQ.
05 NORMSQX PICPIC S9 SIGN .
1ctr2(9)DISPLAYLEADING . *date_time declaration
01 TO-DAY
1THE-TIME98.
01 flag PIC S9(9) DISPLAYSIGNLEADINGSEPARATE.
0 ctr1 PIC(9) DISPLAYLEADINGSEPARATE
01 ctr2S9 SIGNSEPARATE
01
01 SQL-COD PIC S9(9) CALL "AUTHID" USING uid
PROCEDUREDIVISION.
P0.
MOVE"FLATER MOVE" loggednotTO ""USING MOVE SQLCODE SQL-COD SQL USER : FROM HU END-EXEC MOVETOSQL-COD EXEC ROLLBACK END-EXEC DISPLAY"RROR , uid . ,uidx java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70 if (uid DISPLAYERROR,uid User "
- " connected"
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
MOVE
DISPLAY "SQL Test Suite, DISPLAY"TEdjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 DISPLAY "59-byte ID" DISPLAY"TEdVersion#java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 *date_time print ACCEPT TO-DAY ******************** BEGIN TEST0635 *******************
THE-TIME DISPLAY"Date run
******************** BEGIN TEST0635 ******************* MOVE 1 TO flag
DISPLAY DISPLAY" Feature 13, ISPLAY References: DISPLAY:" DISPLAY 7 41Transitional
- " 13" "73.2.a" DISPLAY" 7.4 LR.DISPLAY" .LR DISPLAY". .2.c" DISPLAY" 7.11 LR.2.a" DISPLAY"15.2.bjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
HU
COMPUTE SQLCODE CREATE AS MOVE SQLSTATE
DISPLAY"CREATE VIEW GROUP BY HOURS, EMPNUM END-EXEC DISPLAY" SELECT EMPNUM, HOURS FROM HU.WORKS" DISPLAY"
CHCKOK SELECT EMPNUM, HOURS HUjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
GROUP BYEXECSQL WORK END-EXEC MOVESQLCODE SQL-COD
PERFORM CHCKOK DISPLAY""
DISPLAY"COMMIT WORK;" EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD
PERFORM DISPLAY" "
*Removal of leveling rule 2a of Subclause 7.3 *Removal of leveling rule 2c of Subclause 7.9 *Removal of leveling rule 2b of Subclause 13.5
MOVE"yz TOch1 COMPUTE int1 = -1 DISPLAY"SELECT EMPNUM, SUM (HOURS) INTO :ch1, :int1" DISPLAYFROM " WHEREHOURS>2" DISPLAY"GROUP BY EMPNUM" DISPLAY" HAVING EMPNUM = 'E1';" EXECSQL EMPNUM (HOURS INTO :, :int1 FROM WORKWEEKDISPLAY" GROUP EMPNUM"
WHERE HOURS > 20
GROUP " EMPNUM = 'E1';"
HAVING 'E1'END-EXEC MOVE SQLCODE PERFORM HOURS " shouldbe' ';its is '",ch1 DISPLAYHAVING E1
( NOTE1 NOT=2) MOVE 0 TOPERFORM java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 END-IF
*This is more meaningful -- how many people work too hard?
COMPUTEjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 DISPLAY"SELECT COUNT(*) FROMHOURS EXECSQLSELECTCOUNTDISPLAY"SELECT COUNT(*) INTO :int1" FROM WORKWEEK SELECT() INTOint1 MOVE SQLCODE TO SQL-COD PERFORM CHCKOK
WORKWEEK HOURS MOVE SQL-COD MOVE 0PERFORM
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
*Removal of leveling rule 2a of Subclause 7.4
MOVEEND-IF DISPLAY*Removal of leveling rule 2a of Subclause 7.4 DISPLAY"FROMHU.,WORKWEEK DISPLAY" WHERE HU " EMPNAME:ch2 DISPLAYDISPLAY .,WORKWEEK EXECSQLSELECT"ANDHOURS=1;java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 FROM HU.STAFF, WORKWEEK
WHERE HU.STAFFAND = 12 ANDMOVETO MOVETO PERFORM" should Alice; itsvalueis" java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
0 flag if (ch2 MOVE 0 TO flag END-IF
*Removal of leveling rule 2c of Subclause 7.9
COMPUTE int1 = -1 COMPUTE int2 = -1 MOVE"xxx"TOMOVExxx ch1 "" ch4 DISPLAY"SELECT COUNT(*), MAX( "SELECT)MAX (MPNUM
- " AVG(HOURS)"
:int1, :ch4" DISPLAY WORKWEEK EXECSQLEXECSELECT(*) (EMPNUM(EMPNUM
AVG)
:int1, :h4,:java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 FROM WORKWEEK END-EXEC MOVE SQLCODE " should be 1;itsvalueis "
DISPLAYbe; isch1 ' DISPLAY" should be E1'value"" DISPLAYDISPLAYint2;its,int2
ch4' ;itsvalueis '" "'" DISPLAY"int2 0 TO flag if (int1( NOT=" "ORNOT =4)then MOVE 0 TO flag END-IF if (ch4 NOT = "E1 "ORMOVETO flag MOVE 0 TO flag *Removal of leveling rule 2a of Subclause 7.11 END-IF
*Removal of leveling rule 2a of Subclause 7.11
MOVE"aaaaaaaaaaaaaaaaaaaa"TO ch2 DISPLAY"SELECT EMPNAME INTO :ch2" DISPLAY" FROM HUSTAFF WHERE EMPNUM =java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53 DISPLAY"(SELECT EMPNUM FROM WORKWEEK" DISPLAY" WHERE HOURS = 12);" EXECSQLSELECT EMPNAME INTO :ch2 FROM. EMPNUM
ISPLAYHOURS;
WHERE = 12 END-EXEC MOVE SQLCODE TO HU WHEREEMPNUM = PERFORM CHCKOK DISPLAY" (ELECT EMPNUM FROMWORKWEEK if (ch2 NOT = HOURS=1)END-EXEC MOVETO flag END-IF
MOVE"aaaaaaaaaaaaaaaaaaaa"TO CHCKOK DISPLAYSELECTINTOch2 DISPLAY" FROM if (ch2 = "") then DISPLAY" (SELECT EMPNUM FROM .WORKS" DISPLAY" GROUP END-IF MOVEaaaaaaaaaaaaaaaaaaaa java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47 EXECSQL EMPNAME :java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 FROM HU.STAFF BY EMPNUM"
( FROM.java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
GROUPBY EMPNUM
HAVING HOURS = 12) END-EXEC MOVE SQLCODETOSQL-COD PERFORM CHCKOK "ch2 should be Alice;itsvalue ", ch2 if (ch2 BY EMPNUMjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37 MOVETO flag END-IF
*Cursor operation
MOVE 3 TO ctr1 DISPLAY" should be Alice; its value ", ch2 MOVETO
DISPLAY"The MOVE0TOflag
- " times" DISPLAYThe 3
DISPLAY"DECLARE C11411 CURSOR FOR" DISPLAY" SELECT COUNT(*) FROM WORKWEEK" DISPLAY"GROUPBYHOURS"
EXECSQL DECLARE C11411 CURSOR SELECTCOUNT) java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 END-EXEC
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
DISPLAY"COMMIT WORK;" EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE SQL-COD
PERFORMEND-IF DISPLAY" "
if (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 DISPLAY" EXEC SQL COMMIT WORK END-EXEC
EC SQLINSERTINTO.TESTREPORT
VALUES CHCKOK MOVE SQLCODE "" else java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 DISPLAY" dml114.pco *** fail *** MOVESQLCODE TOSQL-COD EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0 PERFORM CHCKOK MOVE SQLCODE TO SQL-COD COMPUTE errcnterrcnt END-IF
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD ******************** END TEST0635 ******************** ******************** BEGIN TEST0637 ******************* MOVE 1 TO flag
DISPLAY" TEST0637 " DISPLAY" Feature 1, Qualified * in select list static)" DISPLAY"References:" DISPLAY" FIPS PUB 127-2 14.1 Transitional SQL feature
DISPLAYPERFORM DISPLAY" -- - --- --java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
COMPUTE SQLCODE = -1 MOVE"xxxxx"TO SQLSTATE
DISPLAY"CREATE VIEW QUALSTAR AS" DISPLAY" SELECTHU..*, HOURS FROM HU.STAFF,
- SQLCODE SQL-COD DISPLAY" WHERE .STAFFEMPNUM HU.WORKSEMPNUM" EXECSQL CREATE VIEWDISPLAY"dml114.pco** fail **" SELECT HU.STAFF.*, HOURS FROM HU.STAFF, HU.WORKS
WHERE HU.STAFFEXECSQLINTO HUTESTREPORT MOVE SQLCODE SQL-COD PERFORM CHCKOK MOVETO SQL-COD DISPLAY" "
DISPLAY"COMMIT WORK;" EXECSQL COMMIT WORK
D PERFORM CHCKOK
" " DISPLAY" SELECT BLAH.*, HOURS FROM HU.STAFF BLAH,
- " HU.WORKS" ******************** BEGIN TEST0637 ******************* EXECSQL VIEW AS SELECTDISPLAY"
WHERE BLAH.EMPNUM = HU.WORKS.EMPNUM 1,Qualified static MOVE SQLCODE DISPLAY " FIPS1721. SQL PERFORM DISPLAY" "
DISPLAY"COMMIT WORK;" EXEC COMMIT MOVE SQLCODE TO
DISPLAY .
DISPLAY"CREATE VIEW SUBQ2 AS" DISPLAY" SELECT DISTINCT * FROM QUALSTAR;"
CREATE AS SELECTSELECT..*,HOURS.STAFF.WORKS MOVE SQL-COD PERFORM DISPLAY java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
DISPLAY"CREATE VIEW CORRSUBQ2 AS"EXEC CREATEVIEW AS DISPLAYSELECTFROM" EXECSQL CREATE VIEW CORRSUBQ2 AS SELECT DISTINCT BLAHEMPNUM.WORKS MOVE SQLCODE TOjava.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 25 PERFORM DISPLAY"MOVESQLCODE SQL-COD
DISPLAY"COMMIT WORK;" SQL WORK MOVE SQLCODE
DISPLAY" "
COMPUTE int1 = -1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM QUALSTAR;" EXECSELECT() INTO: FROM QUALSTAR MOVE SQLCODEjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 25 PERFORM DISPLAYEXEC COMMITEND-EXEC
i (nt1 = 1)then MOVE 0 TO flag END-IF
int1 DISPLAYCOUNTINTO; SELECT* int1java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
SQLCODE PERFORM CHCKOK DISPLAY 0value if CHCKOK MOVE 0 TO flag END-IF
*Subtest one: through the view
MOVE"xxx"TO ch1 MOVE"TOch3 COMPUTE int1 = -1 COMPUTE int2 = -1 PERFORM DISPLAY" INTO :ch1, :int1, :ch3, :int2" DISPLAY" FROM QUALSTAR DISPLAY "" EXECSELECT GRADE java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55 INTOSQL(*INTOFROMEND-EXEC
QUALSTAR = Carmen MOVE CHCKOK PERFORM CHCKOK DISPLAY"ch1 should be 'E3 '; its value is '", ch1 "'" if (ch1 NOT = "E3 END-IF MOVE 0 TO flag END-IF DISPLAY"int1 should be 13; its value is ", int1 ifNOT3 java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
0 TO END-IF DISPLAY be'
MOVE if (ch3 NOT = "Vienna ") then MOVE 0 TO flag
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 DISPLAY" = - if (int2DISPLAYSELECT" MOVE 0 TO flag END-IF
*Subtest two: with a cursor *Ordering of columns: 7.4 SR.1.b
DISPLAY QUALSTAR = ''END-EXEC DISPLAYSELECT HU
.WORKS DISPLAY .. ..EMPNUM DISPLAY" AND EMPNAME MOVE0TO flag DISPLAY" ORDERBYEMPNAME" EXEC"int1shouldbe 13; its is ", int1 SELECT.STAFF FROMHU, .WORKS
WHERE HU AND > Betty
ch3
"; EXECSQLOPEN JOANS END-EXEC 0 flag MOVESQLCODE java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
xxx ""TO MOVEWHEREEMPNUM
int1 EXEC DECLARE CURSOR DISPLAYINTOch2 ;
HU = .WORKS END-EXEC MOVE SQLCODE TO PERFORM CHCKOK OPEN DISPLAY"shouldbe E3' "' if (ch1 CHCKOK MOVE 0 TO flag END-IF DISPLAY"ch2 should be "xxxxxxxxxxxxxxxxxxxx
- " "java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 ifDISPLAY ch1int1; MOVETO END-IFjava.lang.StringIndexOutOfBoundsException: Range [21, 22) out of bounds for length 21 DISPLAY"int1 should be 13; its value is ", int1
1 NOT 3) then MOVE 0 TO flag END-IF DISPLAY"ch3 should be 'Vienna '; its value is '",
ch3 "'" MOVETO
0 TO END-IF DISPLAYint2 be0 value",int2 if (int2 NOT = 20) then
flag END-IF
MOVE""TO MOVE"
END- COMPUTE int11 COMPUTE int2 = -1 DISPLAY"SELECT HU.STAFF.*, HOURS" DISPLAY" INTO :ch1, :ch2, :int1, :ch3, :int2" DISPLAY" FROM HU, HU.WORKS" DISPLAY" WHERE HU.STAFF.EMPNUM = HU.WORKS MOVE 0 TO flag DISPLAY" AND EMPNAME = 'Carmen';" EXECSQLSELECTDISPLAY" JOANS;java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 INTO SQLCODE FROM., HU
WHERE " AND EMPNAME *Subtest three: single row select
SQLCODE
xxxxxxxxxxxxxxx ifNOT E3 MOVE 0 TOint2 END-IF DISPLAYch2 beCarmen value
- " '", ch2 "'" ifch2Carmen")then MOVE 0 TO flag END-IF " .STAFF,java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
int1 MOVE 0INTO, :, :int1int2 END-IF FROM.STAFF
ch3java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 if (ch3 NOTMOVETO MOVE 0 TOch1 value' END-IF
int2is if (
java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 MOVEjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
*Contiue with view testing
= -
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 EXECSQLSELECTCOUNT"' END-EXEC MOVE SQLCODE flag PERFORM CHCKOK DISPLAY"int2 be 20; its value is " if (nt1 NOT =12)then MOVE 0 TO flag
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
COMPUTE int1 = OMPUTEint1 DISPLAYCOUNT() INTOint1 CORRSUBQ2 EXECSQLCOUNT*INTOFROM CORRQUALSTAR MOVEMOVETO " should be 12; value is ",int1 DISPLAY be ,java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 END-IF
MOVE"xxx"TO ch1 MOVE"xxxxxxxxxxxxxxx"TO ch3
int1=- COMPUTE int2 = -1 DISPLAY"SELECT EMPNUM, GRADE, CITY, HOURS" DISPLAY" INTO :ch1,:int1,:ch3 int2" DISPLAY" FROM CORRQUALSTAR WHERE EMPNAME = 'Carmen';" EXECSQLSELECT EMPNUM, GRADE, CITY, HOURS PERFORMCHCKOK DISPLAY int1 be its value , int1 MOVE SQLCODE TO SQL-COD PERFORM CHCKOK if( NOT = 10) then if (ch1 NOT = "E3 ") then MOVE 0 TO flag END-IF DISPLAY"int1 should "TO if (int1 = 13) then COMPUTEint21 END-IFDISPLAYSELECT,GRADE HOURS DISPLAYch3 be ' '; its is'",
ch3 "'" if (ch3 NOT = "Vienna ") then MOVE 0 TODISPLAY" CORRQUALSTAR WHERE EMPNAME='Carmen';" END-IF DISPLAY"int2 should INTO :ch1, :int1, :ch3 :java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 if (int2 NOT = 20 SQLCODESQL-COD MOVE 0 " be E3' itsvalueis',ch1""
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
DISPLAY"COMMIT WORK;" EXECSQL COMMIT TO
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 DISPLAY CHCKOK
FEAT16 SQL VALUES) MOVE SQL-COD PERFORM
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
DISPLAYCOMMIT" EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK EXECSQLINTO BARNO (, A' 0 a'
DISPLAY"DROP VIEW CORRQUALSTAR CASCADE;" EXEC DROP CORRQUALSTAREND-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO ( NOT="00)then ******************** END TEST0637 ******************** ******************** BEGIN TEST0639 ******************* MOVE 1 TO flag
DISPLAY" if (NORMSQ = "23000" AND NORMSQ NOT = SQLSTATE) DISPLAY DISPLAY"References:"
SPUB-11Transitional
- " 15" DISPLAY" 5.2 LR.2.b" DISPLAY . .5- Lowercase java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72 DISPLAY" - - - - - - - - - - - - - - - - EXEC SQLINSERTINTOBARNOVALUES(,A' 0 a)
COMPUTE SQLCODE = -1 MOVE" java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
DISPLAYNOT )
-", CITY) AS" DISPLAY" SELECT EMPNUM, EMPNAME, GRADE, CITY FROM java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
- " HU.STAFF;" Exec create Staff(Empnum, empname, City)
as select Empnum, EMPNAME, Grade, cItY from Hu.Staff END-EXEC (NORMSQ 200" java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47 MOVE SQLCODE TO SQL-COD
PERFORM CHCKOK DISPLAY" "
DISPLAY " implementation-defined SQLSTATE accepted.java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72 MOVE
PERFORM DISPLAY" "
COMPUTE int1 = -1 DISPLAY"exec sql SELECT Count(*) INTO :int1 FROM STAFF;" execsqlSELECTCount(*) INTO :int1 FROM STAFF END-EXEC
SQLCODE SQL-COD PERFORM CHCKOK DISPLAYSQLCODE be0 itsis,SQL-COD if (int1 NOT = 5) then MOVE 0 TO flag END-IF
MOVE"xxx"TO ch1MOVETO MOVExxxxxxxxxxxxxxx ch3 COMPUTE int1DISPLAYSQLSTATE valueSQLSTATE DISPLAYPERFORM THRU DISPLAY" (NORMSQ = "30" java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47 DISPLAY"FROMFlaterstaffFLaterStaff_Flater DISPLAY" WHERE EMPNAME = 'Carmen'" DISPLAY" AND FLATERstaff_fLATER.whatshisnumber = 'E3';"
, GRADE, CITY INTO :ch1, :int1, :ch3
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
='Carmen' AND FLATERstaff_fLATER.whatshisnumber = 'E3'END-EXEC MOVE SQLCODEDISPLAY" " PERFORM CHCKOK DISPLAY"ch1should be 'E3 '; itsvalue '", ch1 if (ch1 NOT = "E3 ") then MOVE flag END-IF DISPLAY"int1 should be 13; its value is ", int1 if (int1 NOT = 13) then MOVE 0 TO flag END-IF DISPLAY"ch3 should be 'Vienna '; its value is '",
ch3 "'"
0TO MOVE 0 TO flag END-IF
DISPLAY"DECLARE c63931 CURSOR FOR" DISPLAY" SELECT EMPNUM as WhatsHisNumber, GRADE, CITY" DISPLAY" PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS DISPLAY" WHERE EMPNAME > 'Betty'" DISPLAY" ORDER BY whatshisnumber;" EXECSQL DECLARE c63931 MOVE0TOjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 SELECTE as, GRADECITY FROM Flater.staff FLaterStaff_Flater
WHERE EMPNAME > 'Betty' ORDER WHATSHISNUMBER
MOVE"xxx"TO ch1 "xxxxxxxxxxxxxxx"TO COMPUTE int1 = -1 DISPLAY"FETCH c63931 INTO :ch1, :int1, :ch3 SQLCODE TOSQL-COD EXECSQL FETCH c63931 INTOPERFORM MOVE" PERFORM CHCKOK DISPLAY if (ch1 " INTO BARNO (3, 'B' 30, NULL));"
0 TOjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 END-IF "int1 should 1; valueis ,int1 if (int1 "" MOVE 0 TO flag END-IF DISPLAYjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ch3 SQLINTO VALUES 4,''NULL,NULL if (ch3 NOT = "Vienna ") then MOVE 0 TO flag END-IF
*Translation note for module: change a procedure name to lower *case if host language permits it, both in module and in host *language.
DISPLAY"COMMIT WORK;" EXEC"DROPTABLEFEAT16CASCADE;" MOVESQLCODE TO SQL-COD
PERFORMCHCKOK DISPLAY" "
if ( flag = 1 ) then DISPLAY" *** pass *** " SQLINTO.TESTREPORT
VALUES('0639','pass "COMMIT WORK;" MOVEEXEC COMMIT END-EXEC else DISPLAY" dml114.pco *** fail *** " SQLINTO.TESTREPORT
VALUES('0639','fail'DISPLAY" MOVE SQLCODE TO SQL-COD " TABLE BARNO CASCADE;" END-IFSQL DROP BARNO CASCADE
"=========================java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD ******************** END TEST0639 ******************** ******************** BEGIN TEST0641 ******************* MOVE 1 TO flag
DISPLAY" TEST0641 " DISPLAY" Feature 16java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
DISPLAY References" DISPLAY" FIPS PUB 127-2 14.1 Transitional SQL feature
-" 6" DISPLAY" 11.7 LR.2. ('0641''pass,'' END-EXEC
Y " --- ---- ---- -"
DISPLAY******************** END TEST0641 ******************** DISPLAY" P1 INT, P2 CHAR, **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 DISPLAY" UNIQUE (X2, X1)," DISPLAY" PRIMARY KEY (, P2));" EXEC
P1 INT, P2 CHAR * **** Procedures for PERFORM statements
UNIQUE (X2, X1),
PRIMARY KEY (P1, P2)) END-EXEC MOVE SQLCODE TO SQL-COD
CHCKOK DISPLAY" "
DISPLAY"COMMIT WORK;" EXEC COMMIT END-EXEC MOVE SQLCODE TO SQL-COD ( NOT0ORNOT00" java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
CHCKOK DISPLAY" "
DISPLAY"INSERT INTO FEAT16 VALUES (2, 20);" EXECSQLINSERTINTO FEAT16 VALUES (2, 20) END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO FEAT16 VALUES (1, 30);" EXECSQLMOVETO NORMSQ MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE should be < 0; its value is ", SQL-COD if (SQLCODE NOT < 0) then MOVE*valid subclass begins with 5-9, I-Z, end of ALPNUM table END-IF DISPLAY"SQLSTATE should be 23000; its value is ", SQLSTATE PERFORM THRUjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 ifNOT0" MOVEEjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 END-IF if (NORMSQ = "23000"AND NORMSQ NOT = java.lang.StringIndexOutOfBoundsException: Range [0, 69) out of bounds for length 42 then DISPLAY"Valid implementation-defined SQLSTATE accepted." END-IF DISPLAY" "
DISPLAY"INSERT INTO FEAT16 VALUES (3, 20);" EXECSQLINSERT*valid characters are 0-9, A-Z MOVETO DISPLAY"SQLCODE should be < 0; its value is ", SQL-COD (NORMSQX) = (norm2java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53 if (SQLCODE NOT < 0) then MOVE 0 TO flagEND-PERFORM END-IF DISPLAY"SQLSTATE be 2300 value , SQLSTATE PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS if (NORMSQ NOT = "23000") then*valid characters are 0-9, A-Z MOVE 0 TO flag END-IF if (NORMSQ = "23000"AND NORMSQ NOT = SQLSTATE) thenif(NORMSQX) = ALPNUM(norm2)then "0"TO(norm1) END-IF DISPLAY" "
*Multiple nulls are OK -- See 8.9 GR.2
EXECSQL java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 MOVE SQLCODE TO SQL-COD *(class = 01). These equate to successful completion PERFORM CHCKOK DISPLAY" "
INSERT,java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59 EXEC MOVE SQLCODE TO SQL-COD
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 DISPLAY" "
DISPLAY"INSERT INTO FEAT16 VALUES (5, NULL);" EXECSQLINSERTINTO FEAT16 VALUES (5, NULL) END-EXEC MOVE SQLCODE TO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO BARNO VALUES (1, 'A', 30, 'a');" EXECSQLINSERTINTO BARNO VALUES (1, 'A', 30, 'a') END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE should be < 0; its value is ", SQL-COD if (SQLCODE NOT < 0) then MOVE 0 TO flag END-IF DISPLAY"SQLSTATE should be 23000; its value is ", SQLSTATE PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS if (NORMSQ NOT = "23000") then MOVE 0 TO flag END-IF if (NORMSQ = "23000"AND NORMSQ NOT = SQLSTATE) then DISPLAY"Valid implementation-defined SQLSTATE accepted." END-IF DISPLAY" "
DISPLAY"INSERT INTO BARNO VALUES (3, 'A', 20, 'a');" EXECSQLINSERTINTO BARNO VALUES (3, 'A', 20, 'a') END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE should be < 0; its value is ", SQL-COD if (SQLCODE NOT < 0) then MOVE 0 TO flag END-IF DISPLAY"SQLSTATE should be 23000; its value is ", SQLSTATE PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS if (NORMSQ NOT = "23000") then MOVE 0 TO flag END-IF if (NORMSQ = "23000"AND NORMSQ NOT = SQLSTATE) then DISPLAY"Valid implementation-defined SQLSTATE accepted." END-IF DISPLAY" "
DISPLAY"INSERT INTO BARNO VALUES (3, NULL, 30, 'a');" EXECSQLINSERTINTO BARNO VALUES (3, NULL, 30, 'a') END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE should be < 0; its value is ", SQL-COD if (SQLCODE NOT < 0) then MOVE 0 TO flag END-IF DISPLAY"SQLSTATE should be 23000; its value is ", SQLSTATE PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS if (NORMSQ NOT = "23000") then MOVE 0 TO flag END-IF if (NORMSQ = "23000"AND NORMSQ NOT = SQLSTATE) then DISPLAY"Valid implementation-defined SQLSTATE accepted." END-IF DISPLAY" "
DISPLAY"INSERT INTO BARNO VALUES (3, NULL, 30, 'b');" EXECSQLINSERTINTO BARNO VALUES (3, NULL, 30, 'b') END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY"SQLCODE should be < 0; its value is ", SQL-COD if (SQLCODE NOT < 0) then MOVE 0 TO flag END-IF DISPLAY"SQLSTATE should be 23000; its value is ", SQLSTATE PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS if (NORMSQ NOT = "23000") then MOVE 0 TO flag END-IF if (NORMSQ = "23000"AND NORMSQ NOT = SQLSTATE) then DISPLAY"Valid implementation-defined SQLSTATE accepted." END-IF DISPLAY" "
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD ******************** END TEST0641 ******************** **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 STOPRUN.
* **** Procedures for PERFORM statements
*Test SQLCODE and SQLSTATE for normal completion.
CHCKOK. DISPLAY"SQLCODE should be 0; its value is ", SQL-COD DISPLAY"SQLSTATE should be 00000; its value is ", SQLSTATE PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS if (SQLCODE NOT = 0 OR NORMSQ NOT = "00000") then MOVE 0 TO flag END-IF if (NORMSQ = "00000"AND NORMSQ NOT = SQLSTATE) then DISPLAY"Valid implementation-defined SQLSTATE accepted." END-IF
.
NOSUBCLASS.
*This routine replaces valid implementation-defined *subclasses with 000. This replacement equates valid *implementation-defined subclasses with the 000 value *expected by the test case; otherwise the test will fail. *After calling NOSUBCLASS, NORMSQ will be tested * SQLSTATE will be printed.
MOVE SQLSTATE TO NORMSQ
MOVE 3 TO norm1 *subclass begins in position 3 of char array NORMSQ *valid subclass begins with 5-9, I-Z, end of ALPNUM table PERFORMVARYING norm2 FROM 14 BY 1 UNTIL norm2 > 36 if (NORMSQX(norm1) = ALPNUM(norm2)) then MOVE"0"TO NORMSQX(norm1) END-IF END-PERFORM
*Quit if NORMSQ is unchanged. Subclass is not impl.-def. *Changed NORMSQ means implementation-defined subclass, *so proceed to zero it out, if valid (0-9,A-Z) if (NORMSQ = SQLSTATE) then GOTO EXIT-NOSUBCLASS END-IF
MOVE 4 TO norm1 *examining position 4 of char array NORMSQ *valid characters are 0-9, A-Z PERFORMVARYING norm2 FROM 1 BY 1 UNTIL norm2 > 36 if (NORMSQX(norm1) = ALPNUM(norm2)) then MOVE"0"TO NORMSQX(norm1) END-IF END-PERFORM
MOVE 5 TO norm1 *valid characters are 0-9, A-Z *examining position 5 of char array NORMSQ PERFORMVARYING norm2 FROM 1 BY 1 UNTIL norm2 > 36 if (NORMSQX(norm1) = ALPNUM(norm2)) then MOVE"0"TO NORMSQX(norm1) END-IF END-PERFORM
*implementation-defined subclasses are allowed for warnings *(class = 01). These equate to successful completion *SQLSTATE values of 00000. *Reference SQL-92 4.28 SQL-transactions, paragraph 2
if (NORMSQX(1) = "0"AND NORMSQX(2) = "1") then MOVE"0"TO NORMSQX(2) END-IF
.
EXIT-NOSUBCLASS. EXIT.
Messung V0.5
¤ 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.0.23Bemerkung:
¤
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.