ij> AUTOCOMMIT OFF;
ij> -- MODULE  DML179  

-- SQL Test Suite, V6.0, Interactive SQL, dml179.sql
-- 59-byte ID
-- TEd Version #

-- AUTHORIZATION FLATER
   set schema FLATER;
0 rows inserted/updated/deleted
ij> --O   SELECT USER FROM HU.ECCO;
  VALUES USER;
1                                                                                                                               
--------------------------------------------------------------------------------------------------------------------------------
FLATER                                                                                                                          
ij> -- RERUN if USER value does not match preceding AUTHORIZATION comment
   ROLLBACK WORK;
ij> -- date_time print

-- TEST:0892 FIPS sizing, rowlen >= 8000, statement var >= 4000!

   CREATE TABLE T0892 (
     INTKEY NUMERIC (3) NOT NULL PRIMARY KEY,
     NAAM VARCHAR (1000),
     ADDRESS VARCHAR (1000),
     KEYWORDS VARCHAR (1000),
     FUNCTION1 VARCHAR (1000),
     FUNCTION2 VARCHAR (1000),
     DESCRIPT1 VARCHAR (1000),
     DESCRIPT2 VARCHAR (1000),
     DESCRIPT3 VARCHAR (978));
0 rows inserted/updated/deleted
ij> -- PASS:0892 If table created successfully?

   COMMIT WORK;
ij> INSERT INTO T0892 (INTKEY, NAAM, ADDRESS, KEYWORDS, DESCRIPT3) 
              VALUES (0,
'John                                                               ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                            Smith',  
'1313 Osprey Alley                                                  ' ||
'                                                                    ' ||
'                                                                    ' ||
'Box 35B Sector 28 Quadrant 3                                        ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'Rural Route 29837-39234234324-XRZ                                   ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'Beverly Hills, CA                                                   ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                            90210',  
'aardvark osprey          metrology                                 ' ||
'                                                                    ' ||
'                                                                    ' ||
'synthetic             SQL RDA PDP                                   ' ||
'                                                                    ' ||
'          antelope gnu yak bison quadruped cattle                   ' ||
'                                                                    ' ||
'           CORBA IDL       Amsterdam                                ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                                                    ' ||
'production  crystal growth                                          ' ||
'                                                                    ' ||
'                                                                    ' ||
'                                          gravity',  
'filler filler filler blah blah blah                                ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                    ' ||
--O'                                                                 ' ||
'this is going to be overwritten');
1 row inserted/updated/deleted
ij> -- PASS:0892 If 1 row inserted successfully?

   UPDATE T0892
     SET FUNCTION1 =
'Harry works in the Redundancy Automation Division of the ' ||
'Materials ' ||
'Blasting Laboratory in the National Cattle Acceleration ' ||
'Project of ' ||
'lower Michigan.  His job is to document the trajectory of ' ||
'cattle and ' ||
'correlate the loft and acceleration versus the quality of ' ||
'materials ' ||
'used in the trebuchet.  He served ten years as the ' ||
'vice-president in ' ||
'charge of marketing in the now defunct milk trust of the ' ||
'Pennsylvania ' ||
'Coalition of All Things Bovine.  Prior to that he ' ||
'established himself ' ||
'as a world-class graffiti artist and source of all good ' ||
'bits related ' ||
'to channel dredging in poor weather.  He is author of over ' ||
'ten thousand ' ||
'paperback novels, including such titles as "How Many ' ||
'Pumpkins will Fit ' ||
'on the Head of a Pin," "A Whole Bunch of Useless Things ' ||
'that you Don''t ' ||
'Want to Know," and "How to Lift Heavy Things Over your ' ||
'Head without ' ||
'Hurting Yourself or Dropping Them."  He attends ANSI and ' ||
'ISO standards ' ||
'meetings in his copious free time and funds the development ' ||
'of test ' ||
'suites with his pocket change.'
  WHERE INTKEY = 0;
1 row inserted/updated/deleted
ij> -- PASS:0892 If update completed successfully?

   UPDATE T0892
     SET FUNCTION2 = FUNCTION1,
     DESCRIPT1 = FUNCTION1,
     DESCRIPT2 = FUNCTION1,
     DESCRIPT3 = SUBSTR (FUNCTION1, 1, 978);
1 row inserted/updated/deleted
ij> -- PASS:0892 If update completed successfully?

   SELECT LENGTH (NAAM) +
                LENGTH (ADDRESS) +
                LENGTH (KEYWORDS) +
                LENGTH (FUNCTION1) +
                LENGTH (FUNCTION2) +
                LENGTH (DESCRIPT1) +
                LENGTH (DESCRIPT2) +
                LENGTH (DESCRIPT3) + 22
     FROM T0892
     WHERE INTKEY = 0;
1          
-----------
8000       
ij> -- PASS:0892 If LENGTH = 8000?

   COMMIT WORK;
ij> --O   DROP TABLE T0892 CASCADE;
   DROP TABLE T0892 ;
0 rows inserted/updated/deleted
ij> -- PASS:0892 If table dropped successfully?

   COMMIT WORK;
ij> -- END TEST >>> 0892 <<< END TEST
-- *********************************************
-- *************************************************////END-OF-MODULE
;
ij> 