* Standard COBOL (file "DML130.SCO") calling SQL * procedures in file "DML130.MCO".
**************************************************************** * * COMMENT SECTION * * DATE 1994/7/28 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. * * DML130.SCO * WRITTEN BY: David W. Flater * TRANSLATED AUTOMATICALLY FROM EMBEDDED COBOL BY CHRIS SCHANZLE * * This routine tests data type semantics with NULL and NOT * NULL and the Information Schema. * * REFERENCES * FIPS PUB 127-2 14.1 Transitional SQL * ANSI SQL-1992 * ****************************************************************
MOVE"xxxxxxxxxx"TO x1 MOVE"x"TO x2 MOVE"xxxxxxxxxx"TO x3 DISPLAY"SELECT CH1A, CH1B, CH1C" DISPLAY" INTO :x1, :x2, :x3 FROM CH1;" * EXEC SQL SELECT CH1A, CH1B, CH1C * INTO :x1, :x2, :x3 FROM CH1; CALL"SUB8"USINGSQLCODE SQLSTATE x1 x2 x3 MOVESQLCODETO SQL-COD
PERFORM CHCKOK DISPLAY" "
*9.1 GR.3.c
DISPLAY"x1 should be 'FOO '; its value is '", x1, "'" DISPLAY"x2 should be ' '; its value is '", x2, "'" DISPLAY"x3 should be '0123456789'; its value is '", x3, "'"
if (x1 NOT = "FOO ") then MOVE 0 TO flag END-IF if (x2 NOT = " ") then MOVE 0 TO flag END-IF if (x3 NOT = "0123456789") then MOVE 0 TO flag END-IF
DISPLAY"x5 is too short." DISPLAY"SELECT CH1A, CH1B, CH1C" DISPLAY" INTO :x1, :x2, :x5 FROM CH1;" * EXEC SQL SELECT CH1A, CH1B, CH1C * INTO :x1, :x2, :x5 FROM CH1; CALL"SUB9"USINGSQLCODE SQLSTATE x1 x2 x5 MOVESQLCODETO SQL-COD
DISPLAY"SQLCODE should be >= 0; its value is ", SQL-COD if (SQLCODE < 0) then MOVE 0 TO flag END-IF
DISPLAY"SQLSTATE should be 01004; its value is ", SQLSTATE if (SQLSTATE NOT = "01004") then MOVE 0 TO flag END-IF
DISPLAY"x1 should be 'FOO '; its value is '", x1, "'" DISPLAY"x2 should be ' '; its value is '", x2, "'" DISPLAY"x5 should be '0123'; its value is '", x5, "'"
if (x1 NOT = "FOO ") then MOVE 0 TO flag END-IF if (x2 NOT = " ") then MOVE 0 TO flag END-IF if (x5 NOT = "0123") then MOVE 0 TO flag END-IF
MOVE"xxxxxxxxxx"TO x1 MOVE"x"TO x2 MOVE"xxxxxxxxxx"TO x3 DISPLAY"SELECT CH1A, CH1B, CH1C" DISPLAY" INTO :x1, :x2, :x3 FROM CH1;" * EXEC SQL SELECT CH1A, CH1B, CH1C * INTO :x1, :x2, :x3 FROM CH1; CALL"SUB13"USINGSQLCODE SQLSTATE x1 x2 x3 MOVESQLCODETO SQL-COD
PERFORM CHCKOK DISPLAY" "
DISPLAY"x1 should be 'FOO '; its value is '", x1, "'" DISPLAY"x2 should be 'F'; its value is '", x2, "'" DISPLAY"x3 should be 'BLANKS '; its value is '", x3, "'"
if (x1 NOT = "FOO ") then MOVE 0 TO flag END-IF if (x2 NOT = "F") then MOVE 0 TO flag END-IF if (x3 NOT = "BLANKS ") then MOVE 0 TO flag END-IF
MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.TABLES" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND TABLE_TYPE = 'BASE TABLE';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.TABLES * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND TABLE_TYPE = 'BASE TABLE'; CALL"SUB31"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
COMPUTE int1 = -2 DISPLAY"SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.VIEWS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.VIEWS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES'; CALL"SUB32"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 0; its value is ", int1 if (int1 NOT = 0) then MOVE 0 TO flag END-IF
* FLAAG CHAR DEFAULT 'Y' MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'FLAAG' AND ORDINAL_POSITION =
- " 1" DISPLAY" AND COLUMN_DEF = '''Y''' AND DATA_TYPE =
- " 'CHARACTER'" DISPLAY" AND CHAR_MAX_LENGTH = 1 AND CHAR_OCTET_LENGTH" DISPLAY" > 0 AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'FLAAG' AND ORDINAL_POSITION = 1 * AND COLUMN_DEF = '''Y''' AND DATA_TYPE = 'CHARACTER' * AND CHAR_MAX_LENGTH = 1 AND CHAR_OCTET_LENGTH * > 0 AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB33"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* KODE CHAR (5) NOT NULL MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'KODE' AND ORDINAL_POSITION =
- " 2" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'CHARACTER'" DISPLAY" AND CHAR_MAX_LENGTH = 5 AND CHAR_OCTET_LENGTH" DISPLAY" > 3 AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'NO';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'KODE' AND ORDINAL_POSITION = 2 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'CHARACTER' * AND CHAR_MAX_LENGTH = 5 AND CHAR_OCTET_LENGTH * > 3 AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'NO'; CALL"SUB34"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* AMPL REAL DEFAULT 3 MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'AMPL' AND ORDINAL_POSITION =
- " 3" DISPLAY" AND COLUMN_DEF IS NOT NULL AND DATA_TYPE =
- " 'REAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC >= 8 AND NUM_PREC_RADIX" DISPLAY" = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'AMPL' AND ORDINAL_POSITION = 3 * AND COLUMN_DEF IS NOT NULL AND DATA_TYPE = 'REAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC >= 8 AND NUM_PREC_RADIX * = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB35"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* COORD DOUBLE PRECISION MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'COORD' AND ORDINAL_POSITION =
- " 4" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE = 'DOUBLE
- " PRECISION'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC > 8 AND NUM_PREC_RADIX" DISPLAY" = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'COORD' AND ORDINAL_POSITION = 4 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'DOUBLE PRECISION' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC > 8 AND NUM_PREC_RADIX * = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB36"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* SWAY FLOAT MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'SWAY' AND ORDINAL_POSITION =
- " 5" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE = 'FLOAT'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC >= 8 AND NUM_PREC_RADIX" DISPLAY" = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'SWAY' AND ORDINAL_POSITION = 5 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'FLOAT' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC >= 8 AND NUM_PREC_RADIX * = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB37"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* REVS INTEGER MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'REVS' AND ORDINAL_POSITION =
- " 6" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTEGER'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC > 0 AND NUM_SCALE = 0 AND" DISPLAY" (NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10)" DISPLAY" AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS
- " NULL AND" DISPLAY" INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'REVS' AND ORDINAL_POSITION = 6 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTEGER' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC > 0 AND NUM_SCALE = 0 AND * (NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10) * AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS NULL AND * INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES'; CALL"SUB38"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* PITCH SMALLINT MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'PITCH' AND ORDINAL_POSITION =
- " 7" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'SMALLINT'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC > 0 AND NUM_SCALE = 0 AND" DISPLAY" (NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10)" DISPLAY" AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS
- " NULL AND" DISPLAY" INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'PITCH' AND ORDINAL_POSITION = 7 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'SMALLINT' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC > 0 AND NUM_SCALE = 0 AND * (NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10) * AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS NULL AND * INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES'; CALL"SUB39"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* DEGREE NUMERIC (3, 2) MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'DEGREE' AND ORDINAL_POSITION
- " = 8" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'NUMERIC'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC = 3 AND NUM_SCALE = 2" DISPLAY" AND NUM_PREC_RADIX = 10" DISPLAY" AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS
- " NULL AND" DISPLAY" INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'DEGREE' AND ORDINAL_POSITION = 8 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'NUMERIC' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC = 3 AND NUM_SCALE = 2 * AND NUM_PREC_RADIX = 10 * AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS NULL AND * INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES'; CALL"SUB40"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* RUDDER DECIMAL (2) MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'RUDDER' AND ORDINAL_POSITION
- " = 9" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'DECIMAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC >= 2 AND NUM_SCALE = 0" DISPLAY" AND NUM_PREC_RADIX = 10" DISPLAY" AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS
- " NULL AND" DISPLAY" INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'RUDDER' AND ORDINAL_POSITION = 9 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'DECIMAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC >= 2 AND NUM_SCALE = 0 * AND NUM_PREC_RADIX = 10 * AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS NULL AND * INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES'; CALL"SUB41"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.TABLES" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND TABLE_TYPE = 'VIEW';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.TABLES * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND TABLE_TYPE = 'VIEW'; CALL"SUB54"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.VIEWS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.VIEWS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES'; CALL"SUB55"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* FLAAG CHAR DEFAULT 'Y' MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'FLAAG' AND ORDINAL_POSITION =
- " 1" DISPLAY" AND COLUMN_DEF = '''Y''' AND DATA_TYPE =
- " 'CHARACTER'" DISPLAY" AND CHAR_MAX_LENGTH = 1 AND CHAR_OCTET_LENGTH" DISPLAY" > 0 AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'FLAAG' AND ORDINAL_POSITION = 1 * AND COLUMN_DEF = '''Y''' AND DATA_TYPE = 'CHARACTER' * AND CHAR_MAX_LENGTH = 1 AND CHAR_OCTET_LENGTH * > 0 AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB56"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* KODE CHAR (5) NOT NULL MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'KODE' AND ORDINAL_POSITION =
- " 2" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'CHARACTER'" DISPLAY" AND CHAR_MAX_LENGTH = 5 AND CHAR_OCTET_LENGTH" DISPLAY" > 0 AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'NO';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'KODE' AND ORDINAL_POSITION = 2 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'CHARACTER' * AND CHAR_MAX_LENGTH = 5 AND CHAR_OCTET_LENGTH * > 0 AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'NO'; CALL"SUB57"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* AMPL REAL DEFAULT 3 MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'AMPL' AND ORDINAL_POSITION =
- " 3" DISPLAY" AND COLUMN_DEF IS NOT NULL AND DATA_TYPE =
- " 'REAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC >= 8 AND NUM_PREC_RADIX" DISPLAY" = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'AMPL' AND ORDINAL_POSITION = 3 * AND COLUMN_DEF IS NOT NULL AND DATA_TYPE = 'REAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC >= 8 AND NUM_PREC_RADIX * = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB58"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* COORD DOUBLE PRECISION MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'COORD' AND ORDINAL_POSITION =
- " 4" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE = 'DOUBLE
- " PRECISION'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC > 8 AND NUM_PREC_RADIX" DISPLAY" = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'COORD' AND ORDINAL_POSITION = 4 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'DOUBLE PRECISION' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC > 8 AND NUM_PREC_RADIX * = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB59"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* SWAY FLOAT MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'SWAY' AND ORDINAL_POSITION =
- " 5" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE = 'FLOAT'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC >= 8 AND NUM_PREC_RADIX" DISPLAY" = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS" DISPLAY" NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC
- " IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'SWAY' AND ORDINAL_POSITION = 5 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'FLOAT' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC >= 8 AND NUM_PREC_RADIX * = 2 AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB60"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* REVS INTEGER MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'REVS' AND ORDINAL_POSITION =
- " 6" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTEGER'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC > 0 AND NUM_SCALE = 0 AND" DISPLAY" (NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10)" DISPLAY" AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS
- " NULL AND" DISPLAY" INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'REVS' AND ORDINAL_POSITION = 6 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTEGER' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC > 0 AND NUM_SCALE = 0 AND * (NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10) * AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS NULL AND * INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES'; CALL"SUB61"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* PITCH SMALLINT MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'PITCH' AND ORDINAL_POSITION =
- " 7" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'SMALLINT'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC > 0 AND NUM_SCALE = 0 AND" DISPLAY" (NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10)" DISPLAY" AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS
- " NULL AND" DISPLAY" INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'PITCH' AND ORDINAL_POSITION = 7 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'SMALLINT' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC > 0 AND NUM_SCALE = 0 AND * (NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10) * AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS NULL AND * INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES'; CALL"SUB62"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* DEGREE NUMERIC (3, 2) MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'DEGREE' AND ORDINAL_POSITION
- " = 8" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'NUMERIC'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC = 3 AND NUM_SCALE = 2" DISPLAY" AND NUM_PREC_RADIX = 10" DISPLAY" AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS
- " NULL AND" DISPLAY" INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'DEGREE' AND ORDINAL_POSITION = 8 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'NUMERIC' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC = 3 AND NUM_SCALE = 2 * AND NUM_PREC_RADIX = 10 * AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS NULL AND * INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES'; CALL"SUB63"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* RUDDER DECIMAL (2) MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_TYPES'" DISPLAY" AND COLUMN_NAME = 'RUDDER' AND ORDINAL_POSITION
- " = 9" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'DECIMAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC >= 2 AND NUM_SCALE = 0" DISPLAY" AND NUM_PREC_RADIX = 10" DISPLAY" AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS
- " NULL AND" DISPLAY" INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_TYPES' * AND COLUMN_NAME = 'RUDDER' AND ORDINAL_POSITION = 9 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'DECIMAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC >= 2 AND NUM_SCALE = 0 * AND NUM_PREC_RADIX = 10 * AND DATETIME_PREC IS NULL AND INTERVAL_TYPE IS NULL AND * INTERVAL_PREC IS NULL AND IS_NULLABLE = 'YES'; CALL"SUB64"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.TABLES" DISPLAY" WHERE TABLE_SCHEM = 'FLATER'" DISPLAY" AND TABLE_NAME = 'LOTSA_DATETIMES'" DISPLAY" AND TABLE_TYPE = 'BASE TABLE';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.TABLES * WHERE TABLE_SCHEM = 'FLATER' * AND TABLE_NAME = 'LOTSA_DATETIMES' * AND TABLE_TYPE = 'BASE TABLE'; CALL"SUB75"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
*The Standard specifies that DATETIME_PREC is not null *for the DATE type. It does not explain what significance *it could possibly have.
* C1 DATE MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C1' AND ORDINAL_POSITION = 1" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE = 'DATE'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS" DISPLAY" NOT NULL AND INTERVAL_TYPE IS NULL AND
- " INTERVAL_PREC IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C1' AND ORDINAL_POSITION = 1 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'DATE' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS * NOT NULL AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB76"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
*Precisions are specified by 6.1 SR.25
* C2 TIME MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C2' AND ORDINAL_POSITION = 2" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE = 'TIME'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " = 0" DISPLAY" AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C2' AND ORDINAL_POSITION = 2 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'TIME' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC = 0 * AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB77"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C3 TIMESTAMP MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C3' AND ORDINAL_POSITION = 3" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'TIMESTAMP'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " = 6" DISPLAY" AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS" DISPLAY" NULL AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C3' AND ORDINAL_POSITION = 3 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'TIMESTAMP' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC = 6 * AND INTERVAL_TYPE IS NULL AND INTERVAL_PREC IS * NULL AND IS_NULLABLE = 'YES'; CALL"SUB78"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
*Interval leading field precision: 10.1 SR.5
* C4 INTERVAL YEAR MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C4' AND ORDINAL_POSITION = 4" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS NOT NULL" DISPLAY" AND INTERVAL_TYPE = 'YEAR' AND INTERVAL_PREC =
- " 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C4' AND ORDINAL_POSITION = 4 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS NOT * NULL * AND INTERVAL_TYPE = 'YEAR' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB79"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C5 INTERVAL MONTH MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C5' AND ORDINAL_POSITION = 5" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS NOT NULL" DISPLAY" AND INTERVAL_TYPE = 'MONTH' AND INTERVAL_PREC =
- " 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C5' AND ORDINAL_POSITION = 5 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS NOT * NULL * AND INTERVAL_TYPE = 'MONTH' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB80"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C6 INTERVAL DAY MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C6' AND ORDINAL_POSITION = 6" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS NOT NULL" DISPLAY" AND INTERVAL_TYPE = 'DAY' AND INTERVAL_PREC = 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C6' AND ORDINAL_POSITION = 6 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS NOT * NULL * AND INTERVAL_TYPE = 'DAY' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB81"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C7 INTERVAL HOUR MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C7' AND ORDINAL_POSITION = 7" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS NOT NULL" DISPLAY" AND INTERVAL_TYPE = 'HOUR' AND INTERVAL_PREC =
- " 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C7' AND ORDINAL_POSITION = 7 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS NOT * NULL * AND INTERVAL_TYPE = 'HOUR' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB82"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C8 INTERVAL MINUTE MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C8' AND ORDINAL_POSITION = 8" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS NOT NULL" DISPLAY" AND INTERVAL_TYPE = 'MINUTE' AND INTERVAL_PREC =
- " 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C8' AND ORDINAL_POSITION = 8 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS NOT * NULL * AND INTERVAL_TYPE = 'MINUTE' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB83"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C9 INTERVAL SECOND MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C9' AND ORDINAL_POSITION = 9" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " = 6" DISPLAY" AND INTERVAL_TYPE = 'SECOND' AND INTERVAL_PREC =
- " 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C9' AND ORDINAL_POSITION = 9 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC = 6 * AND INTERVAL_TYPE = 'SECOND' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB84"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C10 INTERVAL YEAR TO MONTH MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C10' AND ORDINAL_POSITION =
- " 10" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS NOT NULL" DISPLAY" AND INTERVAL_TYPE = 'YEAR TO MONTH' AND
- " INTERVAL_PREC = 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C10' AND ORDINAL_POSITION = 10 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS NOT * NULL * AND INTERVAL_TYPE = 'YEAR TO MONTH' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB85"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C11 INTERVAL DAY TO HOUR MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C11' AND ORDINAL_POSITION =
- " 11" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS NOT NULL" DISPLAY" AND INTERVAL_TYPE = 'DAY TO HOUR' AND
- " INTERVAL_PREC = 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C11' AND ORDINAL_POSITION = 11 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS NOT * NULL * AND INTERVAL_TYPE = 'DAY TO HOUR' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB86"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C12 INTERVAL DAY TO MINUTE MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C12' AND ORDINAL_POSITION =
- " 12" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS NOT NULL" DISPLAY" AND INTERVAL_TYPE = 'DAY TO MINUTE' AND
- " INTERVAL_PREC = 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C12' AND ORDINAL_POSITION = 12 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS NOT * NULL * AND INTERVAL_TYPE = 'DAY TO MINUTE' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB87"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C13 INTERVAL DAY TO SECOND MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C13' AND ORDINAL_POSITION =
- " 13" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " = 6" DISPLAY" AND INTERVAL_TYPE = 'DAY TO SECOND' AND
- " INTERVAL_PREC = 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C13' AND ORDINAL_POSITION = 13 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC = 6 * AND INTERVAL_TYPE = 'DAY TO SECOND' AND INTERVAL_PREC = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB88"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C14 INTERVAL HOUR TO MINUTE MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C14' AND ORDINAL_POSITION =
- " 14" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " IS NOT NULL" DISPLAY" AND INTERVAL_TYPE = 'HOUR TO MINUTE' AND
- " INTERVAL_PREC = 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C14' AND ORDINAL_POSITION = 14 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC IS NOT * NULL * AND INTERVAL_TYPE = 'HOUR TO MINUTE' AND INTERVAL_PREC = * 2 * AND IS_NULLABLE = 'YES'; CALL"SUB89"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C15 INTERVAL HOUR TO SECOND MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C15' AND ORDINAL_POSITION =
- " 15" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " = 6" DISPLAY" AND INTERVAL_TYPE = 'HOUR TO SECOND' AND
- " INTERVAL_PREC = 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C15' AND ORDINAL_POSITION = 15 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC = 6 * AND INTERVAL_TYPE = 'HOUR TO SECOND' AND INTERVAL_PREC = * 2 * AND IS_NULLABLE = 'YES'; CALL"SUB90"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* C16 INTERVAL MINUTE TO SECOND MOVE 0 TO int1 DISPLAY"SELECT COUNT(*) INTO :int1 FROM
- " INFO_SCHEM.COLUMNS" DISPLAY" WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME =
- " 'LOTSA_DATETIMES'" DISPLAY" AND COLUMN_NAME = 'C16' AND ORDINAL_POSITION =
- " 16" DISPLAY" AND COLUMN_DEF IS NULL AND DATA_TYPE =
- " 'INTERVAL'" DISPLAY" AND CHAR_MAX_LENGTH IS NULL AND
- " CHAR_OCTET_LENGTH" DISPLAY" IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX" DISPLAY" IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC
- " = 6" DISPLAY" AND INTERVAL_TYPE = 'MINUTE TO SECOND' AND
- " INTERVAL_PREC = 2" DISPLAY" AND IS_NULLABLE = 'YES';" * EXEC SQL SELECT COUNT(*) INTO :int1 FROM INFO_SCHEM.COLUMNS * WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = * 'LOTSA_DATETIMES' * AND COLUMN_NAME = 'C16' AND ORDINAL_POSITION = 16 * AND COLUMN_DEF IS NULL AND DATA_TYPE = 'INTERVAL' * AND CHAR_MAX_LENGTH IS NULL AND CHAR_OCTET_LENGTH * IS NULL AND NUM_PREC IS NULL AND NUM_PREC_RADIX * IS NULL AND NUM_SCALE IS NULL AND DATETIME_PREC = 6 * AND INTERVAL_TYPE = 'MINUTE TO SECOND' AND INTERVAL_PREC * = 2 * AND IS_NULLABLE = 'YES'; CALL"SUB91"USINGSQLCODE SQLSTATE int1 MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY"int1 should be 1; its value is ", int1 if (int1 NOT = 1) then MOVE 0 TO flag END-IF
* EXEC SQL COMMIT WORK; CALL"SUB97"USINGSQLCODE SQLSTATE MOVESQLCODETO SQL-COD ******************** END TEST0682 ******************** **** 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 (SQLCODENOT = 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 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.23Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-04-27)
¤