**************************************************************** * * 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 * ****************************************************************
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 EXEC01 flt1 PIC S94V9(4SIGNSEPARATE. 01 flt1-disp PIC -----.9999. 01 naam1-st. 05 01 flt1-disp ---9999. 01 naam2-st. 05 naam2-s PICX OCCURS373 . 01 norm1 PIC S9(9) DISPLAY java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 20 01norm2 (9)DISPLAYSIGNLEADINGSEPARATEjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 01 ALPNUM-TABLE VALUEIS "1234ABCDEFGH56789IJKLMNOPQRSTUVWXYZ" 05 ALPNUM PIC X OCCURS36 TIMES. 01 NORMSQ. 05 NORMSQX PICX OCCURS5TIMESjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 01 errcnt PIC S9(9) DISPLAYSIGN java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 44 *date_time declaration 01 TO-DAY PIC9(6). 01 THE-TIME PIC98. 01 flag PIC S9(9) *date_time declaration
"59-byte ID" DISPLAY"TEd Version #" *date_time print
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 ACCEPT THE-TIME FROMTIME DISPLAY"aterun :"TO-DAY" at hhmmssff:"THE-TIME
******************** BEGIN TEST0894 ******************* MOVE1 flag
DISPLAY" FIPS sizing TEST0894" DISPLAY" FIPS , length ofcolumn lists > " DISPLAY"References:" DISPLAY"FIPS 16.6 -- Sizing DISPLAY" 1TO flag
- " list" DISPLAY"FIPS 16.6 -- Sizing #33, Length of ORDER BY column
- " list" DISPLAY"FIPS 16.6 -- Sizing #35, Length of FOREIGN KEY
- " list" DISPLAY"FIPS 16.6 -- Sizing #40, Length of JOIN column
- " list" DISPLAY" FIPS 5.3 -- Format of "IPS.-Sizing29,Length columns
- " literal >" DISPLAY" - - - - "list"
COMPUTESQLCODE = -1 MOVE"IPS 16. -Sizing #5 of KEY
*746 chars + 4 for the columns = 750 *2 columns, 373 chars each
DISPLAY"COMMIT WORK;" EXECSQLCOMMIT WORK END-EXEC MOVESQLCODETO SQL-COD PERFORMCHCKOK DISPLAY" "
DISPLAY"CREATE TABLE ORDERS (" DISPLAY" FIRSTNAME VARCHAR (373)," DISPLAY" LASTNAME VARCHAR DISPLAY PRIMARY KEY (,LASTNAME); DISPLAY" TITLE VARCHAR (80)," DISPLAY" COST NUMERIC( VARCHAR373, DISPLAY"FOREIGN KEY (,LASTNAME)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58 DISPLAY" REFERENCES LONG_NAMED_PEOPLE);" EXECSQL CREATE TABLE ORDERS (
FIRSTNAME VARCHAR PERFORM CHCKOK
LASTNAME VARCHAR (373),
TITLEVARCHAR()java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
COST NUMERIC(5,2),
FOREIGNKEY (IRSTNAME LASTNAME
REFERENCES LONG_NAMED_PEOPLE) END-EXEC MOVESQLCODETO SQL-COD PERFORM DISPLAY""
DISPLAY"COMMIT WORK;" EXECSQLCOMMIT WORK END-EXEC DISPLAY FIRSTNAMEVARCHAR (73)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 PERFORM CHCKOK DISPLAY" "
"'ccccccccccccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
ccccccc" DISPLAY "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- "ccccccc'" DISPLAY "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- " ' DISPLAY "' "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- "ccccccc'" DISPLAY"'ccccccccccccccccccccccccccccccc',"DISPLAY DISPLAY"NSERT INTO (
ddddddddddddddddddddddddddddddddddddddddddddd
- ""'cccccccc
ccccccc" "'ddddddddddddddddddddddddddddddddddddddddddddddddddcccccccccccccccccccccccccccccccccccccccccccccccccc
- "ddddddd'" DISPLAY "'
- "ddddddd'" DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ddddddd'" DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ddddddd' "cccccc DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ddddddd'" DISPLAY"ddddddddddddddddddddddddddddddd, DISPLAY"25);" EXECSQLINSERT"d
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 'java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 20 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc- "'" 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' 'java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 20 'ccccccccccccccccccccccccccccccc', 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"dddddddddddddddddddddddddddddddddddddddddddddddddd 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddd', 25)END-EXEC MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69 DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaaa'" DISPLAY "'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
- "aaaaaa'" DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaa'" DISPLAY
aaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaa' 25) END-EXEC DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-'java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaa'" DISPLAY"'aaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY "'"'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "bbbbbb'" "
aaaaaa'
- "bbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY "'
- "bbbbbb'" DISPLAY"'bbbbbbbbbbbbbbbbbbbbbbbbb'," DISPLAY"'Gidget Goes Skiing'," DISPLAY"29.95);" EXECSQLINSERT "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbjava.lang.StringIndexOutOfBoundsException: Range [67, 68) out of bounds for length 67 'java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa DISPLAY 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' ' b 'java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 22 '' 'java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 22 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"' 'java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 22
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 'DISPLAY "GGoes'java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 'Gidget Goes Skiing', 29.95) END-EXEC MOVESQLCODETO SQL-COD PERFORM' DISPLAY"
DISPLAY"INSERT INTO ORDERS VALUES (" DISPLAY "''aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaaa'"
"'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
- "aaaaaa'" DISPLAY 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "aaaaaa' DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaa'" DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "aaaaaa'" DISPLAY "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- " MOVE SQL-COD
CHCKOK DISPLAY
b
- "bbbbbb'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "bbbbbb'" DISPLAY "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "''aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- "bbbbbb'" DISPLAY "' "aaaaa' DISPLAY "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- - "aaaaa'" DISPLAY"'bbbbbbbbbbbbbbbbbbbbbbbbb'," DISPLAY"Barney Hawaiian,java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 DISPLAY" aaaaaa" DISPLAY"'aaaaaaaaaaaaaaaaaaaaaaaa'" 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' '"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69 'java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67 'aaaaaaaaaaaaaaaaaaaaaaaaa', DISPLAY 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' DISPLAY '', 'Barney Goes Hawaiian', 19.95) END-EXEC MOVEDISPLAY''" PERFORM CHCKOK DISPLAY" "
DISPLAY"INSERT INTO ORDERS VALUES ("
"'cccccccccccccccccccccccccccccccccccccccccccccccccc
- "ccccccc'" DISPLAY
cccccccccccccccccccccccccccccccccccccccccccccccccc
a'
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- "ccccccc'" DISPLAY " 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
- "ccccccc'" DISPLAY "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
- "ccccccc'" DISPLAY "'cccccccccccccccccccccccccccccccccccccccccccccccccc
- "ccccccc'" DISPLAY"'ccccccccccccccccccccccccccccccc'," DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ddddddd'" DISPLAY "'java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 25
- "ddddddd'" DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ddddddd'" DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
-"" DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "ddddddd'" DISPLAY "'dddddddddddddddddddddddddddddddddddddddddddddddddd
- "dddddd'" DISPLAY"'ddddddddddddddddddddddddddddddd', ' DISPLAY"'Invasion of the Smurfs'," "'ccccccccccccccccccccccccccccccccccccccccccccccccc SQLINSERT ORDERS VALUES(
cccccccccccccccccccccccccccccccccccccccccccccccc 'cccccccccccccccccccccccccccccccccccccccccccccccccc
'' 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ''," DISPLAY 'java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 69
ccccccccccccccccccccccccccccccc 'java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 20 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' "' '' 'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd' 'dddddddddddddddddddddddddddddd 'Invasion of the Smurfs', 9.95) END-EXEC MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY"DECLARE C0894 CURSOR FOR" DISPLAY" SELECT DISPLAY "'ddddddddddddddddddddddddddddddd'," DISPLAY" FROM PEOPLE_ORDERS" DISPLAY" GROUP BY LASTNAME, FIRSTNAME" DISPLAY" ORDER BY LASTNAME, FIRSTNAME;" EXECSQL DECLARE C0894 CURSOR FOR SELECT FIRSTNAME,'' '
GROUP BY LASTNAME, FIRSTNAME ORDERBY LASTNAME, FIRSTNAME ''
'dddddddddddddddddddddddddddddddddddddddddddddddddddddddd MOVE"xxx"TO naam2 MOVE0.0TO flt1 DISPLAY"ETCH C0894INTO :aam1,naam2,:; EXECSQL995) MOVE naam1 TO naam1-st TOnaam2-st MOVETO java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 MOVE flt1 TO flt1-disp PERFORM CHCKOK * If the following display aborts, delete it.
should '..;its value is " naam1 MOVE1TO int1 PERFORM P50 UNTIL int1 > 373 * If the following display aborts, delete it. DISPLAY"naam2 should be 'bbbb...'; its value is ", naam2 MOVE1TO int1 PERFORM P49 UNTIL int1 > 373 DISPLAY "flt1 should be 24.95 +-0.01; its value is ", flt1-disp if PLAY "PEN C0894" 0TOjava.lang.StringIndexOutOfBoundsException: Range [29, 30) out of bounds for length 29 END-IF
MOVE x" TO naam1 DISPLAY"" MOVE0.0TO flt1 DISPLAYMOVE"xx"TO naam1 EXECSQL C0894INTO:aam1,:aam2,: END-EXEC MOVE naam1 TO java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 29
naam2TOnaam2-st MOVESQLCODETO SQL-COD MOVE flt1 TO flt1-disp
* If the following display aborts, delete it. DISPLAYSQLCODETO MOVE1TO int1 PERFORM P48 UNTIL int1 > 373 * If the following display aborts, delete it. DISPLAY"naam2 should be 'dddd...'; its value is ", naam2 MOVE1TO int1 PERFORM P47 UNTIL int1 > 373 DISPLAY "flt1 should be 9.95 +-0.01; its value is ", flt1-disp if (flt1 <PERFORMUNTILint1 373 MOVE0TO flag END-IF
DISPLAY"DROP TABLE java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 32 EXECSQL DROP TABLE ORDERS CASCADE END-EXEC MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY" "
DISPLAY C WORK" EXECSQLCOMMITMOVEnaam2TO naam2-st MOVESQLCODETO SQL-COD
CHCKOK DISPLAY" "
EXECSQLCOMMIT WORK END-EXEC MOVESQLCODETO SQL-COD ******************** END TEST0894 ******************** **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 STOPRUN.
* **** Procedures for PERFORM statements
*Test SQLCODE and SQLSTATE for normal completion.
CHCKOK.PERFORMCHCKOK DISPLAY"SQLCODE should be 0; its value is ", SQL-COD "; PERFORMSQL WORK if (SQLCODENOT = 0OR NORMSQ NOT = "00000") then MOVE0TO flag END-IF if (NORMSQ = "00000"DISPLAY pass*" 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
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
NORMSQX(orm1 = ALPNUM() 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 *Test SQLCODE and SQLSTATE for normal completion.
MOVE4TO norm1 *examining position 4 of char array NORMSQ *valid characters are 0-9, A-Z PERFORM norm2 1BY norm2 36 if (NORMSQX(norm1) = ALPNUM(norm2)) then MOVEMOVE0TOflag END-IF END-PERFORM
MOVE5TO norm1 *valid characters are 0-9, A-Z *examining position 5 of char array NORMSQ
.
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 MOVE"0"TO0. This replacement equates valid 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
.
MOVE""TONORMSQX(orm1)
.
P50 if (naam1-s(int1) NOT = 'a') then MOVE0TO flag END-IF ADD1TO int1
.
P49. if(naam2-s(nt1 '' MOVE0TO flag END-IF ADD1TO int1
.
P48ifNORMSQXnorm1) = ALPNUM(orm2)then
s(nt1 NOT = 'c'then MOVE0TO flag END-IF ADD1TO int1 5 norm1
.
P47. if (naam2-s(int1) NOT = 'dPERFORM 1BY 1 UNTILjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61 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.