**************************************************************** * * COMMENT SECTION * * DATE 1994/7/28 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. * * DML130.PCO * WRITTEN BY: David W. Flater * TRANSLATED AUTOMATICALLY FROM EMBEDDED C 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"FLATER "TO uid CALL"AUTHID"USING uid MOVE"not logged in, not"TO uidx EXECSQLSELECT USER INTO :uidx FROM HU.ECCO END-EXEC MOVESQLCODETO SQL-COD EXECSQLROLLBACK WORK END-EXEC MOVESQLCODETO SQL-COD if (uid NOT = uidx) then DISPLAY"ERROR: User ", uid " expected. User ", uidx "
- " connected" STOPRUN END-IF MOVE 0 TO errcnt
DISPLAY "SQL Test Suite, V6.0, Embedded COBOL, dml130.pco" DISPLAY "59-byte ID" DISPLAY"TEd Version #" *date_time print ACCEPT TO-DAY FROMDATE ACCEPT THE-TIME FROMTIME DISPLAY"Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME
******************** BEGIN TEST0678 ******************* MOVE 1 TO flag
DISPLAY" TEST0678 " DISPLAY"Data type semantics with NULL / NOT NULL" DISPLAY"References:" DISPLAY" F# 10 -- Implicit character casting" DISPLAY" 6.1 -- <data type>" DISPLAY" 12.4 -- Calls to a <procedure>" DISPLAY" 9 -- Data assignment rules" DISPLAY" - - - - - - - - - - - - - - - - - - -"
COMPUTESQLCODE = -1 MOVE"xxxxx"TO SQLSTATE
*This is a repeat of TEST0567 and TEST0576, but with NOT NULL an *in non-dynamic SQL
DISPLAY"CREATE TABLE CH1 (" DISPLAY" CH1A CHARACTER (10) NOT NULL," DISPLAY" CH1B CHARACTER NOT NULL," DISPLAY" CH1C CHAR (10) NOT NULL);" EXECSQL CREATE TABLE CH1 (
CH1A CHARACTER (10) NOTNULL,
CH1B CHARACTERNOTNULL,
CH1C CHAR (10) NOTNULL) END-EXEC MOVESQLCODETO SQL-COD PERFORM CHCKOK DISPLAY" "
MOVE"xxxxxxxxxx"TO x1 MOVE"x"TO x2 MOVE"xxxxxxxxxx"TO x3 DISPLAY"SELECT CH1A, CH1B, CH1C" DISPLAY" INTO :x1, :x2, :x3 FROM CH1;" EXECSQLSELECT CH1A, CH1B, CH1C INTO :x1, :x2, :x3 FROM CH1 END-EXEC 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;" EXECSQLSELECT CH1A, CH1B, CH1C INTO :x1, :x2, :x5 FROM CH1 END-EXEC 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;" EXECSQLSELECT CH1A, CH1B, CH1C INTO :x1, :x2, :x3 FROM CH1 END-EXEC 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
EXECSQLCOMMIT WORK END-EXEC MOVESQLCODETO SQL-COD ******************** END TEST0678 ******************** ******************** BEGIN TEST0679 ******************* MOVE 1 TO flag
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';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM INFO_SCHEM.TABLES WHERE TABLE_SCHEM = 'FLATER'AND TABLE_NAME = 'LOTSA_TYPES' AND TABLE_TYPE = 'BASE TABLE'END-EXEC 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';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM INFO_SCHEM.VIEWS WHERE TABLE_SCHEM = 'FLATER'AND TABLE_NAME = 'LOTSA_TYPES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'CHARACTER' AND CHAR_MAX_LENGTH = 5 AND CHAR_OCTET_LENGTH
> 3 AND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'NO'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNOTNULLAND DATA_TYPE = 'REAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC >= 8 AND NUM_PREC_RADIX
= 2 AND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'DOUBLE PRECISION' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC > 8 AND NUM_PREC_RADIX
= 2 AND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'FLOAT' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC >= 8 AND NUM_PREC_RADIX
= 2 AND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTEGER' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC > 0 AND NUM_SCALE = 0 AND
(NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10) AND DATETIME_PREC ISNULLAND INTERVAL_TYPE ISNULLAND
INTERVAL_PREC ISNULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'SMALLINT' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC > 0 AND NUM_SCALE = 0 AND
(NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10) AND DATETIME_PREC ISNULLAND INTERVAL_TYPE ISNULLAND
INTERVAL_PREC ISNULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'NUMERIC' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC = 3 AND NUM_SCALE = 2 AND NUM_PREC_RADIX = 10 AND DATETIME_PREC ISNULLAND INTERVAL_TYPE ISNULLAND
INTERVAL_PREC ISNULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'DECIMAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC >= 2 AND NUM_SCALE = 0 AND NUM_PREC_RADIX = 10 AND DATETIME_PREC ISNULLAND INTERVAL_TYPE ISNULLAND
INTERVAL_PREC ISNULLAND IS_NULLABLE = 'YES'END-EXEC 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
EXECSQLCOMMIT WORK END-EXEC MOVESQLCODETO SQL-COD ******************** END TEST0679 ******************** ******************** BEGIN TEST0680 ******************* MOVE 1 TO flag
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';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM INFO_SCHEM.TABLES WHERE TABLE_SCHEM = 'FLATER'AND TABLE_NAME = 'LOTSA_TYPES' AND TABLE_TYPE = 'VIEW'END-EXEC 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';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM INFO_SCHEM.VIEWS WHERE TABLE_SCHEM = 'FLATER'AND TABLE_NAME = 'LOTSA_TYPES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'CHARACTER' AND CHAR_MAX_LENGTH = 5 AND CHAR_OCTET_LENGTH
> 0 AND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'NO'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNOTNULLAND DATA_TYPE = 'REAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC >= 8 AND NUM_PREC_RADIX
= 2 AND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'DOUBLE PRECISION' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC > 8 AND NUM_PREC_RADIX
= 2 AND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'FLOAT' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC >= 8 AND NUM_PREC_RADIX
= 2 AND NUM_SCALE ISNULLAND DATETIME_PREC IS NULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTEGER' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC > 0 AND NUM_SCALE = 0 AND
(NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10) AND DATETIME_PREC ISNULLAND INTERVAL_TYPE ISNULLAND
INTERVAL_PREC ISNULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'SMALLINT' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC > 0 AND NUM_SCALE = 0 AND
(NUM_PREC_RADIX = 2 OR NUM_PREC_RADIX = 10) AND DATETIME_PREC ISNULLAND INTERVAL_TYPE ISNULLAND
INTERVAL_PREC ISNULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'NUMERIC' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC = 3 AND NUM_SCALE = 2 AND NUM_PREC_RADIX = 10 AND DATETIME_PREC ISNULLAND INTERVAL_TYPE ISNULLAND
INTERVAL_PREC ISNULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'DECIMAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC >= 2 AND NUM_SCALE = 0 AND NUM_PREC_RADIX = 10 AND DATETIME_PREC ISNULLAND INTERVAL_TYPE ISNULLAND
INTERVAL_PREC ISNULLAND IS_NULLABLE = 'YES'END-EXEC 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
EXECSQLCOMMIT WORK END-EXEC MOVESQLCODETO SQL-COD ******************** END TEST0680 ******************** ******************** BEGIN TEST0682 ******************* MOVE 1 TO flag
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';" EXECSQLSELECTCOUNT(*) INTO :int1 FROM INFO_SCHEM.TABLES WHERE TABLE_SCHEM = 'FLATER' AND TABLE_NAME = 'LOTSA_DATETIMES' AND TABLE_TYPE = 'BASE TABLE'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'DATE' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC IS NOTNULLAND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'TIME' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC = 0 AND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'TIMESTAMP' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC = 6 AND INTERVAL_TYPE ISNULLAND INTERVAL_PREC IS NULLAND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC ISNOT NULL AND INTERVAL_TYPE = 'YEAR'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC ISNOT NULL AND INTERVAL_TYPE = 'MONTH'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC ISNOT NULL AND INTERVAL_TYPE = 'DAY'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC ISNOT NULL AND INTERVAL_TYPE = 'HOUR'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC ISNOT NULL AND INTERVAL_TYPE = 'MINUTE'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC = 6 AND INTERVAL_TYPE = 'SECOND'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC ISNOT NULL AND INTERVAL_TYPE = 'YEAR TO MONTH'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC ISNOT NULL AND INTERVAL_TYPE = 'DAY TO HOUR'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC ISNOT NULL AND INTERVAL_TYPE = 'DAY TO MINUTE'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC = 6 AND INTERVAL_TYPE = 'DAY TO SECOND'AND INTERVAL_PREC = 2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC ISNOT NULL AND INTERVAL_TYPE = 'HOUR TO MINUTE'AND INTERVAL_PREC =
2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC = 6 AND INTERVAL_TYPE = 'HOUR TO SECOND'AND INTERVAL_PREC =
2 AND IS_NULLABLE = 'YES'END-EXEC 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';" EXECSQLSELECTCOUNT(*) 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 ISNULLAND DATA_TYPE = 'INTERVAL' AND CHAR_MAX_LENGTH ISNULLAND CHAR_OCTET_LENGTH ISNULLAND NUM_PREC ISNULLAND NUM_PREC_RADIX ISNULLAND NUM_SCALE ISNULLAND DATETIME_PREC = 6 AND INTERVAL_TYPE = 'MINUTE TO SECOND'AND INTERVAL_PREC
= 2 AND IS_NULLABLE = 'YES'END-EXEC 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
EXECSQLCOMMIT WORK END-EXEC 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
¤ Dauer der Verarbeitung: 0.44 Sekunden
(vorverarbeitet am 2026-04-25)
¤
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.