File: dml057.sql

package info (click to toggle)
derby 10.14.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 78,896 kB
  • sloc: java: 691,930; sql: 42,686; xml: 20,511; sh: 3,373; sed: 96; makefile: 60
file content (153 lines) | stat: -rw-r--r-- 3,598 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
AUTOCOMMIT OFF;

-- MODULE DML057

-- SQL Test Suite, V6.0, Interactive SQL, dml057.sql
-- 59-byte ID
-- TEd Version #
 
-- AUTHORIZATION HU
   set schema HU;

--O   SELECT USER FROM HU.ECCO;
  VALUES USER;
-- RERUN if USER value does not match preceding AUTHORIZATION comment

-- date_time print

-- TEST:0248 FIPS sizing - binary precision of FLOAT >= 20!
-- FIPS sizing TEST

     DELETE FROM JJ;
-- Making sure the table is empty

-- setup
     INSERT INTO JJ
            VALUES(0.1048575);
-- PASS:0248 If 1 row is inserted?

     SELECT FLOATTEST
          FROM JJ;
-- PASS:0248 If FLOATTEST = 0.1048575 ?
-- PASS:0248 OR  is between 0.1048574 and 0.1048576 ?

--O     SELECT COUNT(*) FROM JJ
     SELECT * FROM JJ
       WHERE FLOATTEST > 0.1048574 AND FLOATTEST < 0.1048576;
-- PASS:0248 If count = 1?

     DELETE FROM JJ;
-- Making sure the table is empty

-- setup
     INSERT INTO JJ
            VALUES(-0.1048575);
-- PASS:0248 If 1 row is inserted?

     SELECT FLOATTEST
          FROM JJ;
-- PASS:0248 If FLOATTEST = -0.1048575 ?
-- PASS:0248 OR  is between -0.1048576 and -0.1048574 ?

--O     SELECT COUNT(*) FROM JJ
     SELECT * FROM JJ
       WHERE FLOATTEST > -0.1048576 AND FLOATTEST < -0.1048574;
-- PASS:0248 If count = 1?

-- restore
     ROLLBACK WORK;

-- END TEST >>> 0248 <<< END TEST

-- *****************************************************************

-- TEST:0249 FIPS sizing - binary precision of REAL >= 20!
-- FIPS sizing TEST

     DELETE FROM GG;
-- Making sure the table is empty

-- setup
     INSERT INTO GG
            VALUES(0.1048575);
-- PASS:0249 If 1 row is inserted?

     SELECT REALTEST
          FROM GG;
-- PASS:0249 If REALTEST =  0.1048575 ?
-- PASS:0249 OR  is between 0.1048574 and 0.1048576 ?

--O     SELECT COUNT(*) FROM GG
     SELECT * FROM GG
       WHERE REALTEST > 0.1048574 AND REALTEST < 0.1048576;
-- PASS:0249 If count = 1?

     DELETE FROM GG;
-- Making sure the table is empty

-- setup
     INSERT INTO GG
            VALUES(-0.1048575);
-- PASS:0249 If 1 row is inserted?

     SELECT REALTEST
          FROM GG;
-- PASS:0249 If REALTEST =  -0.1048575 ?
-- PASS:0249 OR  is between -0.1048576 and -0.1048574 ?

--O     SELECT COUNT(*) FROM GG
     SELECT * FROM GG
       WHERE REALTEST > -0.1048576 AND REALTEST < -0.1048574;
-- PASS:0249 If count = 1?

-- restore
     ROLLBACK WORK;

-- END TEST >>> 0249 <<< END TEST

-- ***************************************************************

-- TEST:0250 FIPS sizing - bin. precision of DOUBLE >= 30!
-- FIPS sizing TEST

     DELETE FROM II;
-- Making sure the table is empty

-- setup
     INSERT INTO II
            VALUES(0.1073741823);
-- PASS:0250 If 1 row is inserted?

     SELECT DOUBLETEST
          FROM II;
-- PASS:0250 If DOUBLETEST = 0.1073741823 ?
-- PASS:0250 OR  is between  0.1073741822 and 0.1073741824 ?

--O     SELECT COUNT(*) FROM II
     SELECT * FROM II
       WHERE DOUBLETEST > 0.1073741822 AND DOUBLETEST < 0.1073741824;
-- PASS:0250 If count = 1?

     DELETE FROM II;
-- Making sure the table is empty

-- setup
     INSERT INTO II
            VALUES(-0.1073741823);
-- PASS:0250 If 1 row is inserted?

     SELECT DOUBLETEST
          FROM II;
-- PASS:0250 If DOUBLETEST = -0.1073741823 ?
-- PASS:0250 OR  is between  -0.1073741824 and -0.1073741822 ?

--O     SELECT COUNT(*) FROM II
     SELECT * FROM II
       WHERE DOUBLETEST > -0.1073741824 AND DOUBLETEST < -0.1073741822;
-- PASS:0250 If count = 1?

-- restore 
     ROLLBACK WORK;

-- END TEST >>> 0250 <<< END TEST
-- *************************************************////END-OF-MODULE