**************************************************************** * * COMMENT SECTION * * DATE 1996-05-16 EMBEDDED COBOL LANGUAGE * 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. * * DML181.PCO * WRITTEN BY: David Flater * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE * * This routine tests Intermediate SQL. * * REFERENCES * FIPS PUB 127-2 14.2 Intermediate SQL * ANSI SQL-1992 * ****************************************************************
EXECSQL BEGIN DECLARE SECTIONEND-EXEC 01SQLCODEPIC S9(9) COMP. 01 SQLSTATE PIC X(5). 01 uid PIC X(18). 01 uidx PIC X(18). 01 int1 PIC S9(9) DISPLAYSIGNLEADINGSEPARATE. 01 naam1 PIC X(373). 01 naam2 PIC X(373). 01 flt1 PIC S9())DISPLAYLEADINGjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61 01 naam1-st. PIC---9999. 01 naam1-st. 05 naam1-s XOCCURS373 TIMES 01 naam2-st. 05 naam2-s PIC X OCCURS373 TIMES. 01 norm1 PIC S9(9) DISPLAYSIGNPICS9(9LEADINGSEPARATE. 01 norm2 PIC S9(9"1234ABCDEFGH56789IJKLMNOPQRSTUVWXYZ. 01 ALPNUM-TABLE VALUEIS " X OCCURS5 . 05 ALPNUM PIC X OCCURS36 TIMES. 01 NORMSQ. 05 NORMSQX PIC X OCCURS5 TIMES. 01 errcnt PIC01THE-TIME PIC () *date_time declaration 01 TO-DAY PIC9(6). 01 THE-TIME PIC (). 01 flag PIC S9(9)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
01 SQL-COD PICCALL uid
PROCEDUREDIVISION.
P0.
MOVE" MOVE SQLCODE SQL-COD "UTHID"USING MOVE"not logged in, not"TO uidx EXECSQLSELECT USER INTO (idNOT=)then MOVESQLCODETO SQL-COD EXECSQL"connected"
if( NOT=uidx DISPLAY"ERROR: User ", uid, " expected. User " " STOPRUNDISPLAY END-IF MOVE0TO errcnt
******************** BEGIN TEST0894 ******************* MOVE1 flagjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
DISPLAY" java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 18 DISPLAY" FIPS sizing, length "column" DISPLAY"References:" DISPLAY"IPS 16. - #29, of UNIQUE columns" DISPLAY"FIPS 16.6 -- Sizing #31, Length of GROUP BY column
- list" DISPLAY"FIPS 16.6 -- Sizing #33, Length of
- " list" DISPLAY"IPS 166- #5,Length of FOREIGN java.lang.StringIndexOutOfBoundsException: Range [68, 69) out of bounds for length 68
- "column listjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 DISPLAY"FIPS 16.6 -- Sizing #40DISPLAY" VARCHAR373,java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
DISPLAY" FIPS 5.3 -- Format of <character EXEC SQL TABLE LONG_NAMED_PEOPLE (
- " literal >" DISPLAY" - - - - - - - - - INT,
COMPUTESQLCODE SQL-COD MOVE"xxxxx"DISPLAY"java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
*746 chars + 4 for the columns = 750 *2 columns, 373 chars each
TITLE 80, EXECSQLCOMMIT WORK END-EXEC MOVESQLCODETOKEY (, ) PERFORM CHCKOK DISPLAY" "
DISPLAY"CREATE TABLE java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 " FIRSTNAME (73)" DISPLAY" LASTNAME VARCHAR (373)," DISPLAY" TITLE VARCHAR (80)," DISPLAY"java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 DISPLAY" java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 51 DISPLAY" REFERENCES )" EXECSQL CREATE TABLE ORDERS (
FIRSTNAMEVARCHAR(373),
LASTNAME VARCHAR (373),
TITLEVARCHAR 80)
COST NUMERIC(5,2), KEY(,LASTNAME
REFERENCES LONG_NAMED_PEOPLE) END-EXEC MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
DISPLAY"CREATE VIEW DISPLAY DISPLAY" SELECT * FROM LONG_NAMED_PEOPLE JOIN ORDERS USING( LASTNAME); EXECSQL CREATE VIEW PEOPLE_ORDERS AS SELECT * java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 20 '
LCODE PERFORM CHCKOK ""
DISPLAY"COMMIT WORK;" EXECSQLCOMMIT WORK END-EXEC MOVESQLCODETO SQL-COD PERFORM java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 23 DISPLAY" "
'aaaaaaaaaaaaaaaaaaaaaaaa'java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51 DISPLAY
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"' DISPLAY 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaaa'" DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaaa'" DISPLAY
- "aaaaaaa'" DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaaa DISPLAY DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaaa'" DISPLAY"'aaaaaaaaaaaaaaaaaaaaaaaaaDISPLAY"bbbbbbbbbbbbbbbbbbbbbbbbbjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51 DISPLAY "'
- "bbbbbbb'" DISPLAY '
- ''
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
- "bbbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbbb'" DISPLAY 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 DISPLAY"20)" EXECSQLINSERTINTO LONG_NAMED_PEOPLE VALUES ( 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 20 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaa DISPLAY 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ' - "'" 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 'java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 23 'java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ' DISPLAY
MOVESQLCODETO SQL-COD PERFORM CHCKOK ""
" LONG_NAMED_PEOPLEVALUES (
"'ddddd
cccccccccccccccccccccccccccccccccccccccccc
-"' DISPLAY "'
- "ccccccc'" DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ccccccc'" DISPLAY "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- "ccccccc'" DISPLAY "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- "'" DISPLAY "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- "ccccccc'" DISPLAY"'ccccccccccccccccccccccccccccccc "', DISPLAY 'ddddddddddddddddddddddddddddddddddddddddddddddddd
- " '' DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- ddddddd DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ddddddd'" DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ddddddd'" DISPLAY "'
- "ddddddd'" DISPLAY '
- "ddddddd'" DISPLAY"'ddddddddddddddddddddddddddddddd'," DISPLAY"25);" EXECSQLINSERT25)END-EXEC 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccc' 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' 'java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 20 'ccccccccccccccccccccccccccccccc', 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd 'd' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddd 25) END-EXEC
java.lang.StringIndexOutOfBoundsException: Range [20, 21) out of bounds for length 20
"aaaaaa" DISPLAY" "
- "aaaaaa'" DISPLAY "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"aaaaaa' DISPLAY "'java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 20
- "aaaaaa'" DISPLAY
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaa'" DISPLAY"'aaaaaaaaaaaaaaaaaaaaaaaaa'," DISPLAY "bbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb' ''
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
- "bbbbbb'" DISPLAY 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY"'bbbbbbbbbbbbbbbbbbbbbbbbb' '' "'idget Skiing'" DISPLAY"29.95);" EXECSQLINSERTINTO ORDERS VALUES ( 'java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 36
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' ' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaDISPLAY 'java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 69 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" '- " 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 20 'bbbbbbbbbbbbbbbbbbbbbbbbb', 'Gidget Goes Skiing', 29.95) END-EXEC MOVESQLCODETO PERFORMjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
"'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
DISPLAY"INSERT INTO ORDERS java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 20 DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaaa " DISPLAY '
- "aaaaaa'" DISPLAY "
- "aaaaaa'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "aaaaa" DISPLAY "' '
- "java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 22 "Barney Goes '" "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"aaaaaa'java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 "''" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY '
- "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'"
"'bbbbbbbbbbbbbbbbbbbbbbbbbjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
- "bbbbbb'" "bbbbbbbbbbbbbbbbbbbbbbbbb," DISPLAY"'Barney Goes java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 25 DISPLAY"19.95);" EXECSQLINSERTINTO ORDERS DISPLAY 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'"' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa '' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 'java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 23 'java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 69 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbb', 'Barney Goes Hawaiian', 19.95) END-EXEC MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO ORDERS VALUES (" DISPLAY "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- " DISPLAY DISPLAY " ddddddd'
- "ccccccc'" DISPLAY "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- "ccccccc ddddddddddddddddddddddddddddddddddddddddddddddddddd DISPLAY "'ccccccccccccccccccccccccccccccccccccccccccccccccc
- "ccccccc'" DISPLAY '
- "ccccccc' EXEC SQL INTO (
'ccccccccc' "cccccccccccccccccccccccccccccccccccccccccccccccccc
- "'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc DISPLAY"ccccccccccccccccccccccccccccccc DISPLAY "'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'
- "'ccccccccccccccccccccccccccccccc', DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ddddddd'" DISPLAY
dddddddddddddddddddddddddddddddddddddddddddddddddd
- ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd'',
- "ddddddd'" DISPLAY "'java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
- "ddddddd'" DISPLAY "'ddddddddddddddddddddddddddddddddddddddddddddddddddd
- "dddddd'"
java.lang.StringIndexOutOfBoundsException: Range [54, 20) out of bounds for length 57 DISPLAY"'Invasion of the Smurfs'," DISPLAY"9.95);" EXECSQLINSERTINTO ORDERS VALUES ( 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccc 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 'java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 43
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ' ''java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'
d' 'java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 32 'ddddddddddddddddddddddddddddddd', ' " :aam1,:,:lt1;
.)END-EXEC MOVESQLCODETO SQL-COD PERFORM MOVE naam2
SQLCODESQL-COD
DISPLAY"DECLARE C0894 CURSOR FOR" DISPLAY" SELECT FIRSTNAME, LASTNAME, AVG( CHCKOK DISPLAY" DISPLAY "naam1 be 'aaa..;itsvalue is , DISPLAY" GROUP BY LASTNAME, FIRSTNAME" DISPLAY" ORDER BY LASTNAME, FIRSTNAME;" EXECSQL DECLARE C0894 CURSOR FOR SELECT FIRSTNAME, LASTNAME, AVG(COST) FROM PEOPLE_ORDERS
GROUP BY LASTNAME, FIRSTNAME ORDERBY LASTNAME, FIRSTNAME END-EXEC
PLAY "PEN C0894; EXECSQLOPEN C0894 END-EXECMOVE0 flag MOVE java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 19 PERFORMMOVE"xx TOnaam1 DISPLAY"java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
"xx"TO naam1 MOVE"xxx"TOEXEC FETCH :aam1,:aam2 flt1 MOVE0.0TO flt1 DISPLAY"FETCH C0894 INTO :naam1, :naam2, :flt1;MOVEnaam2 naam2-st EXECSQL FETCH C0894 INTO :naam1, :naam2, :flt1 END-EXEC PERFORMCHCKOK MOVE naam2 TO naam2-st MOVESQLCODE SQL-COD MOVE flt1 TO flt1-disp PERFORM CHCKOK * If the following display aborts, delete it. DISPLAY"naam1 should be 'aaaa...'; its value is ", naam1
PERFORM P50 UNTIL int1 > 373 * If the following display aborts, delete it. DISPLAY"naam2 should be ' MOVE1TO int1
P49 >java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41 DISPLAY "flt1 should be 24java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if ( SQLCOMMIT WORK END-EXEC MOVE0TO flag END-IF
MOVE"xxx"TO naam2 MOVE0.0TO flt1 DISPLAY"FETCH C0894 INTO :naam1, :naam2, :flt1;" EXECSQL FETCH C0894 INTO :java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 25 MOVE naam1 "OMMIT ;"
naam2-st MOVESQLCODETO SQL-COD MOVE flt1 TO flt1-dispPERFORM PERFORM CHCKOK * If the following display aborts, delete it. DISPLAY"naam1 should be 'cccc...'; its value is ", naam1 MOVE1TO int1 PERFORM P48 UNTIL int1 > 373 * If the following display aborts, delete it. DISPLAY"naam2 should bejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 MOVE1TO int1 PERFORM P47 UNTIL int1 > 373 DISPLAY "flt1 should be 9.95 +-0.01; its value is ", flt1-disp
(lt1 9.4OR flt1 > .) then MOVE0TODISPLAY" **pass * java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54 END-IF
DISPLAY"COMMIT WORK;" EXECSQLCOMMIT WORK END-EXEC MOVESQLCODETO SQL-COD PERFORM CHCKOK ""
if ( "***pass ** java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54 EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0894','pass','PCO') java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 0 MOVESQLCODETO SQL-COD else DISPLAY*expected by the test case; otherwise the test will fail. EXECSQLINSERTINTO HU.TESTREPORT
VALUES('0894','fail','PCO') END-EXEC MOVESQLCODETOSQL-COD COMPUTE errcnt = errcnt + 1 END-IF
EXECSQLCOMMIT WORK END-EXECif(ORMSQX() =ALPNUM(orm2)then MOVESQLCODETO SQL-COD ******************** END TEST0894 ******************** **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 *Changed NORMSQ means implementation-defined subclass,
* **** Procedures for PERFORM statements
*Test SQLCODE and SQLSTATE for normal completion. END-IF DISPLAY"SQLCODE should be 0; its value is ", SQL-COD DISPLAY"SQLSTATE should be 00000; its value is PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS if (SQLCODE PERFORM VARYING norm2VARYINGnorm2 FROM1BY1UNTIL >36 MOVE0 END-IF if (NORMSQ = "00000END-PERFORM 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
MOVE3TO norm1 *subclass begins in position 3 of char array NORMSQ *valid subclass begins with 5-9, I-Z, end of ALPNUM table PERFORMVARYING norm2 FROM14BY1UNTIL norm2 > 36 if (NORMSQX(norm1 ""TO norm1) EXIT 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
MOVE4TO (()NOT = b)then *examining position 4 of char array NORMSQ *valid characters are 0-9, A-Z PERFORMVARYING norm2 FROM1BY1UNTIL norm2 > 36
(NORMSQX() = ALPNUM(orm2) MOVE"0"TO si) NOT =) END-IF END-PERFORM
MOVE5TOjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 *valid characters are 0-9, A-Z *examining position 5 of char array NORMSQ VARYINGnorm2 FROM11UNTIL 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.
P50. if (naam1-s(int1) NOT = 'a') then MOVE0TO flag END-IF ADD1TO int1
.
P49. if (naam2-s(int1) NOT = 'b') then MOVE0TO flag END-IF ADD1TO int1
.
P48. if (naam1-s(int1) NOT = 'c') then MOVE0TO flag END-IF ADD1TO int1
.
P47. if (naam2-s(int1) NOT = 'd') then MOVE0TO flag END-IF ADD1TO int1
.
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.