IDENTIFICATION DIVISION.
PROGRAM-ID. FLG012.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. xyz.
OBJECT-COMPUTER. xyz.
DATA DIVISION.
WORKING-STORAGE SECTION.
* Standard COBOL (file "FLG012.SCO") calling SQL
* procedures in file "FLG012.MCO".
****************************************************************
*
* COMMENT SECTION
*
* DATE 1994/12/27 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.
*
* FLG012.SCO
* WRITTEN BY: David W. Flater
* TRANSLATED AUTOMATICALLY FROM EMBEDDED COBOL BY CHRIS SCHANZLE
*
* This routine tests an extension to FIPS SQL.
*
* REFERENCES
* XOP703.PC -- X/O,CREATE INDEX on existent/non-existent
* tables (Colin O'Driscoll)
* X/Open CAE SQL 5.3.3
*
****************************************************************
* EXEC SQL BEGIN DECLARE SECTION END-EXEC
01 SQLCODE PIC S9(9) COMP.
01 SQLSTATE PIC X(5).
01 uid PIC X(18).
01 uidx PIC X(18).
* EXEC SQL END DECLARE SECTION END-EXEC
01 errcnt PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
*date_time declaration
01 TO-DAY PIC 9(6).
01 THE-TIME PIC 9(8).
01 flag PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
01 SQL-COD PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
PROCEDURE DIVISION.
P0.
MOVE "FLATER " TO uid
CALL "AUTHID" USING uid
MOVE "not logged in, not" TO uidx
* EXEC SQL SELECT USER INTO :uidx FROM HU.ECCO;
CALL "SUB1" USING SQLCODE SQLSTATE uidx
MOVE SQLCODE TO SQL-COD
* EXEC SQL ROLLBACK WORK;
CALL "SUB2" USING SQLCODE SQLSTATE
MOVE SQLCODE TO SQL-COD
if (uid NOT = uidx) then
DISPLAY "ERROR: User ", uid " expected. User ", uidx "
- " connected"
STOP RUN
END-IF
MOVE 0 TO errcnt
DISPLAY
"SQL Test Suite, V6.0, Module COBOL, flg012.sco"
DISPLAY
"59-byte ID"
DISPLAY "TEd Version #"
*date_time print
ACCEPT TO-DAY FROM DATE
ACCEPT THE-TIME FROM TIME
DISPLAY "Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME
******************** BEGIN TEST0832 *******************
MOVE 2 TO flag
*If this test will not compile the result is 'nogo'.
DISPLAY " TEST0832 "
DISPLAY " FIPS Flagger - CREATE INDEX"
DISPLAY "References:"
DISPLAY " X/Open CAE SQL 5.3.3"
DISPLAY " - - - - - - - - - - - - - - - - - - -"
COMPUTE SQLCODE = -1
MOVE "xxxxx" TO SQLSTATE
DISPLAY "The next statement should be flagged or rejected."
DISPLAY "CREATE INDEX II1 ON USIG(C1);"
* EXEC SQL CREATE INDEX II1 ON USIG(C1);
CALL "SUB3" USING SQLCODE SQLSTATE
MOVE SQLCODE TO SQL-COD
DISPLAY "SQLCODE is ", SQL-COD
DISPLAY "SQLSTATE is ", SQLSTATE
if (SQLCODE < 0) then
COMPUTE flag = flag - 1
END-IF
DISPLAY "The next statement should be flagged or rejected."
DISPLAY "CREATE UNIQUE INDEX II2 ON USIG(C_1);"
* EXEC SQL CREATE UNIQUE INDEX II2 ON USIG(C_1);
CALL "SUB4" USING SQLCODE SQLSTATE
MOVE SQLCODE TO SQL-COD
DISPLAY "SQLCODE is ", SQL-COD
DISPLAY "SQLSTATE is ", SQLSTATE
if (SQLCODE < 0) then
COMPUTE flag = flag - 1
END-IF
DISPLAY "ROLLBACK WORK;"
* EXEC SQL ROLLBACK WORK;
CALL "SUB5" USING SQLCODE SQLSTATE
MOVE SQLCODE TO SQL-COD
if (flag = 0) then
DISPLAY " The extension does not appear to be
- " supported."
DISPLAY " Support for CREATE INDEX is not required."
* EXEC SQL INSERT INTO HU.TESTREPORT
* VALUES('0832','nogo','MCO');
CALL "SUB6" USING SQLCODE SQLSTATE
MOVE SQLCODE TO SQL-COD
COMPUTE errcnt = errcnt + 1
else
DISPLAY " SQL extension CREATE INDEX executed
- " successfully"
DISPLAY " (2 tries, ", flag " worked)."
DISPLAY " Vendor must demonstrate FIPS flagger WARNING."
* EXEC SQL INSERT INTO HU.TESTREPORT
* VALUES('0832','pass','MCO');
CALL "SUB7" USING SQLCODE SQLSTATE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY "==============================================="
* EXEC SQL COMMIT WORK;
CALL "SUB8" USING SQLCODE SQLSTATE
MOVE SQLCODE TO SQL-COD
******************** END TEST0832 ********************
**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0
STOP RUN.
* **** Procedures for PERFORM statements
¤ Dauer der Verarbeitung: 0.20 Sekunden
(vorverarbeitet)
¤
|
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 ist noch experimentell.
|