1
DROP TABLE IF EXISTS t1,t2,t3,t4;
2
DROP FUNCTION IF EXISTS sf1;
3
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
4
CREATE TABLE t2 (i INTEGER NULL);
5
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
6
CREATE TABLE t4 (i INTEGER NULL);
7
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
8
INSERT INTO t2 VALUES(1),(2),(3);
9
CREATE FUNCTION sf1() RETURNS INTEGER
11
DECLARE done INT DEFAULT 0;
14
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
15
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
16
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
24
INSERT INTO t3 VALUES (a,b);
26
INSERT INTO t3 VALUES (a,c);
29
UNTIL done END REPEAT;
34
ALTER FUNCTION sf1 #DET# ;
38
SELECT * FROM t1 ORDER BY id;
44
SELECT * FROM t2 ORDER BY i;
49
SELECT * FROM t3 ORDER BY id;
54
INSERT INTO t4 VALUES(sf1());
55
SELECT * FROM t1 ORDER BY id;
61
SELECT * FROM t2 ORDER BY i;
66
SELECT * FROM t3 ORDER BY id;
74
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
75
SELECT * FROM t1 ORDER BY id;
81
SELECT * FROM t2 ORDER BY i;
86
SELECT * FROM t3 ORDER BY id;
100
DELETE FROM t4 WHERE i = sf1() + 1;
101
SELECT * FROM t1 ORDER BY id;
107
SELECT * FROM t2 ORDER BY i;
112
SELECT * FROM t3 ORDER BY id;
130
DROP TABLE t1,t2,t3,t4;
131
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
132
CREATE TABLE t2 (i INTEGER NULL);
133
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
134
CREATE TABLE t4 (i INTEGER NULL);
135
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
136
INSERT INTO t2 VALUES(1),(2),(3);
137
CREATE FUNCTION sf1() RETURNS INTEGER
139
DECLARE done INT DEFAULT 0;
142
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
143
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
144
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
148
FETCH cur1 INTO a, b;
152
INSERT INTO t3 VALUES (a,b);
154
INSERT INTO t3 VALUES (a,c);
157
UNTIL done END REPEAT;
162
ALTER FUNCTION sf1 #DET# CONTAINS SQL ;
166
SELECT * FROM t1 ORDER BY id;
172
SELECT * FROM t2 ORDER BY i;
177
SELECT * FROM t3 ORDER BY id;
182
INSERT INTO t4 VALUES(sf1());
183
SELECT * FROM t1 ORDER BY id;
189
SELECT * FROM t2 ORDER BY i;
194
SELECT * FROM t3 ORDER BY id;
202
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
203
SELECT * FROM t1 ORDER BY id;
209
SELECT * FROM t2 ORDER BY i;
214
SELECT * FROM t3 ORDER BY id;
228
DELETE FROM t4 WHERE i = sf1() + 1;
229
SELECT * FROM t1 ORDER BY id;
235
SELECT * FROM t2 ORDER BY i;
240
SELECT * FROM t3 ORDER BY id;
258
DROP TABLE t1,t2,t3,t4;
259
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
260
CREATE TABLE t2 (i INTEGER NULL);
261
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
262
CREATE TABLE t4 (i INTEGER NULL);
263
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
264
INSERT INTO t2 VALUES(1),(2),(3);
265
CREATE FUNCTION sf1() RETURNS INTEGER
267
DECLARE done INT DEFAULT 0;
270
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
271
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
272
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
276
FETCH cur1 INTO a, b;
280
INSERT INTO t3 VALUES (a,b);
282
INSERT INTO t3 VALUES (a,c);
285
UNTIL done END REPEAT;
290
ALTER FUNCTION sf1 #DET# NO SQL ;
294
SELECT * FROM t1 ORDER BY id;
300
SELECT * FROM t2 ORDER BY i;
305
SELECT * FROM t3 ORDER BY id;
310
INSERT INTO t4 VALUES(sf1());
311
SELECT * FROM t1 ORDER BY id;
317
SELECT * FROM t2 ORDER BY i;
322
SELECT * FROM t3 ORDER BY id;
330
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
331
SELECT * FROM t1 ORDER BY id;
337
SELECT * FROM t2 ORDER BY i;
342
SELECT * FROM t3 ORDER BY id;
356
DELETE FROM t4 WHERE i = sf1() + 1;
357
SELECT * FROM t1 ORDER BY id;
363
SELECT * FROM t2 ORDER BY i;
368
SELECT * FROM t3 ORDER BY id;
386
DROP TABLE t1,t2,t3,t4;
387
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
388
CREATE TABLE t2 (i INTEGER NULL);
389
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
390
CREATE TABLE t4 (i INTEGER NULL);
391
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
392
INSERT INTO t2 VALUES(1),(2),(3);
393
CREATE FUNCTION sf1() RETURNS INTEGER
395
DECLARE done INT DEFAULT 0;
398
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
399
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
400
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
404
FETCH cur1 INTO a, b;
408
INSERT INTO t3 VALUES (a,b);
410
INSERT INTO t3 VALUES (a,c);
413
UNTIL done END REPEAT;
418
ALTER FUNCTION sf1 #DET# READS SQL DATA ;
422
SELECT * FROM t1 ORDER BY id;
428
SELECT * FROM t2 ORDER BY i;
433
SELECT * FROM t3 ORDER BY id;
438
INSERT INTO t4 VALUES(sf1());
439
SELECT * FROM t1 ORDER BY id;
445
SELECT * FROM t2 ORDER BY i;
450
SELECT * FROM t3 ORDER BY id;
458
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
459
SELECT * FROM t1 ORDER BY id;
465
SELECT * FROM t2 ORDER BY i;
470
SELECT * FROM t3 ORDER BY id;
484
DELETE FROM t4 WHERE i = sf1() + 1;
485
SELECT * FROM t1 ORDER BY id;
491
SELECT * FROM t2 ORDER BY i;
496
SELECT * FROM t3 ORDER BY id;
514
DROP TABLE t1,t2,t3,t4;
515
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
516
CREATE TABLE t2 (i INTEGER NULL);
517
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
518
CREATE TABLE t4 (i INTEGER NULL);
519
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
520
INSERT INTO t2 VALUES(1),(2),(3);
521
CREATE FUNCTION sf1() RETURNS INTEGER
523
DECLARE done INT DEFAULT 0;
526
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
527
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
528
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
532
FETCH cur1 INTO a, b;
536
INSERT INTO t3 VALUES (a,b);
538
INSERT INTO t3 VALUES (a,c);
541
UNTIL done END REPEAT;
546
ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA ;
550
SELECT * FROM t1 ORDER BY id;
556
SELECT * FROM t2 ORDER BY i;
561
SELECT * FROM t3 ORDER BY id;
566
INSERT INTO t4 VALUES(sf1());
567
SELECT * FROM t1 ORDER BY id;
573
SELECT * FROM t2 ORDER BY i;
578
SELECT * FROM t3 ORDER BY id;
586
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
587
SELECT * FROM t1 ORDER BY id;
593
SELECT * FROM t2 ORDER BY i;
598
SELECT * FROM t3 ORDER BY id;
612
DELETE FROM t4 WHERE i = sf1() + 1;
613
SELECT * FROM t1 ORDER BY id;
619
SELECT * FROM t2 ORDER BY i;
624
SELECT * FROM t3 ORDER BY id;
642
DROP TABLE t1,t2,t3,t4;
643
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
644
CREATE TABLE t2 (i INTEGER NULL);
645
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
646
CREATE TABLE t4 (i INTEGER NULL);
647
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
648
INSERT INTO t2 VALUES(1),(2),(3);
649
CREATE FUNCTION sf1() RETURNS INTEGER
651
DECLARE done INT DEFAULT 0;
654
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
655
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
656
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
660
FETCH cur1 INTO a, b;
664
INSERT INTO t3 VALUES (a,b);
666
INSERT INTO t3 VALUES (a,c);
669
UNTIL done END REPEAT;
674
ALTER FUNCTION sf1 #DET# COMMENT 'comment' ;
678
SELECT * FROM t1 ORDER BY id;
684
SELECT * FROM t2 ORDER BY i;
689
SELECT * FROM t3 ORDER BY id;
694
INSERT INTO t4 VALUES(sf1());
695
SELECT * FROM t1 ORDER BY id;
701
SELECT * FROM t2 ORDER BY i;
706
SELECT * FROM t3 ORDER BY id;
714
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
715
SELECT * FROM t1 ORDER BY id;
721
SELECT * FROM t2 ORDER BY i;
726
SELECT * FROM t3 ORDER BY id;
740
DELETE FROM t4 WHERE i = sf1() + 1;
741
SELECT * FROM t1 ORDER BY id;
747
SELECT * FROM t2 ORDER BY i;
752
SELECT * FROM t3 ORDER BY id;
770
DROP TABLE t1,t2,t3,t4;
771
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
772
CREATE TABLE t2 (i INTEGER NULL);
773
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
774
CREATE TABLE t4 (i INTEGER NULL);
775
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
776
INSERT INTO t2 VALUES(1),(2),(3);
777
CREATE FUNCTION sf1() RETURNS INTEGER
779
DECLARE done INT DEFAULT 0;
782
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
783
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
784
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
788
FETCH cur1 INTO a, b;
792
INSERT INTO t3 VALUES (a,b);
794
INSERT INTO t3 VALUES (a,c);
797
UNTIL done END REPEAT;
802
ALTER FUNCTION sf1 #DET# CONTAINS SQL COMMENT 'comment' ;
806
SELECT * FROM t1 ORDER BY id;
812
SELECT * FROM t2 ORDER BY i;
817
SELECT * FROM t3 ORDER BY id;
822
INSERT INTO t4 VALUES(sf1());
823
SELECT * FROM t1 ORDER BY id;
829
SELECT * FROM t2 ORDER BY i;
834
SELECT * FROM t3 ORDER BY id;
842
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
843
SELECT * FROM t1 ORDER BY id;
849
SELECT * FROM t2 ORDER BY i;
854
SELECT * FROM t3 ORDER BY id;
868
DELETE FROM t4 WHERE i = sf1() + 1;
869
SELECT * FROM t1 ORDER BY id;
875
SELECT * FROM t2 ORDER BY i;
880
SELECT * FROM t3 ORDER BY id;
898
DROP TABLE t1,t2,t3,t4;
899
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
900
CREATE TABLE t2 (i INTEGER NULL);
901
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
902
CREATE TABLE t4 (i INTEGER NULL);
903
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
904
INSERT INTO t2 VALUES(1),(2),(3);
905
CREATE FUNCTION sf1() RETURNS INTEGER
907
DECLARE done INT DEFAULT 0;
910
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
911
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
912
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
916
FETCH cur1 INTO a, b;
920
INSERT INTO t3 VALUES (a,b);
922
INSERT INTO t3 VALUES (a,c);
925
UNTIL done END REPEAT;
930
ALTER FUNCTION sf1 #DET# NO SQL COMMENT 'comment' ;
934
SELECT * FROM t1 ORDER BY id;
940
SELECT * FROM t2 ORDER BY i;
945
SELECT * FROM t3 ORDER BY id;
950
INSERT INTO t4 VALUES(sf1());
951
SELECT * FROM t1 ORDER BY id;
957
SELECT * FROM t2 ORDER BY i;
962
SELECT * FROM t3 ORDER BY id;
970
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
971
SELECT * FROM t1 ORDER BY id;
977
SELECT * FROM t2 ORDER BY i;
982
SELECT * FROM t3 ORDER BY id;
996
DELETE FROM t4 WHERE i = sf1() + 1;
997
SELECT * FROM t1 ORDER BY id;
1003
SELECT * FROM t2 ORDER BY i;
1008
SELECT * FROM t3 ORDER BY id;
1026
DROP TABLE t1,t2,t3,t4;
1027
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
1028
CREATE TABLE t2 (i INTEGER NULL);
1029
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
1030
CREATE TABLE t4 (i INTEGER NULL);
1031
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
1032
INSERT INTO t2 VALUES(1),(2),(3);
1033
CREATE FUNCTION sf1() RETURNS INTEGER
1035
DECLARE done INT DEFAULT 0;
1038
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
1039
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
1040
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
1044
FETCH cur1 INTO a, b;
1048
INSERT INTO t3 VALUES (a,b);
1050
INSERT INTO t3 VALUES (a,c);
1053
UNTIL done END REPEAT;
1058
ALTER FUNCTION sf1 #DET# READS SQL DATA COMMENT 'comment' ;
1062
SELECT * FROM t1 ORDER BY id;
1068
SELECT * FROM t2 ORDER BY i;
1073
SELECT * FROM t3 ORDER BY id;
1078
INSERT INTO t4 VALUES(sf1());
1079
SELECT * FROM t1 ORDER BY id;
1085
SELECT * FROM t2 ORDER BY i;
1090
SELECT * FROM t3 ORDER BY id;
1098
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
1099
SELECT * FROM t1 ORDER BY id;
1105
SELECT * FROM t2 ORDER BY i;
1110
SELECT * FROM t3 ORDER BY id;
1124
DELETE FROM t4 WHERE i = sf1() + 1;
1125
SELECT * FROM t1 ORDER BY id;
1131
SELECT * FROM t2 ORDER BY i;
1136
SELECT * FROM t3 ORDER BY id;
1154
DROP TABLE t1,t2,t3,t4;
1155
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
1156
CREATE TABLE t2 (i INTEGER NULL);
1157
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
1158
CREATE TABLE t4 (i INTEGER NULL);
1159
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
1160
INSERT INTO t2 VALUES(1),(2),(3);
1161
CREATE FUNCTION sf1() RETURNS INTEGER
1163
DECLARE done INT DEFAULT 0;
1166
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
1167
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
1168
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
1172
FETCH cur1 INTO a, b;
1176
INSERT INTO t3 VALUES (a,b);
1178
INSERT INTO t3 VALUES (a,c);
1181
UNTIL done END REPEAT;
1186
ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA COMMENT 'comment' ;
1190
SELECT * FROM t1 ORDER BY id;
1196
SELECT * FROM t2 ORDER BY i;
1201
SELECT * FROM t3 ORDER BY id;
1206
INSERT INTO t4 VALUES(sf1());
1207
SELECT * FROM t1 ORDER BY id;
1213
SELECT * FROM t2 ORDER BY i;
1218
SELECT * FROM t3 ORDER BY id;
1226
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
1227
SELECT * FROM t1 ORDER BY id;
1233
SELECT * FROM t2 ORDER BY i;
1238
SELECT * FROM t3 ORDER BY id;
1252
DELETE FROM t4 WHERE i = sf1() + 1;
1253
SELECT * FROM t1 ORDER BY id;
1259
SELECT * FROM t2 ORDER BY i;
1264
SELECT * FROM t3 ORDER BY id;
1282
DROP TABLE t1,t2,t3,t4;
1283
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
1284
CREATE TABLE t2 (i INTEGER NULL);
1285
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
1286
CREATE TABLE t4 (i INTEGER NULL);
1287
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
1288
INSERT INTO t2 VALUES(1),(2),(3);
1289
CREATE FUNCTION sf1() RETURNS INTEGER
1291
DECLARE done INT DEFAULT 0;
1294
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
1295
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
1296
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
1300
FETCH cur1 INTO a, b;
1304
INSERT INTO t3 VALUES (a,b);
1306
INSERT INTO t3 VALUES (a,c);
1309
UNTIL done END REPEAT;
1314
ALTER FUNCTION sf1 LANGUAGE SQL #DET# ;
1318
SELECT * FROM t1 ORDER BY id;
1324
SELECT * FROM t2 ORDER BY i;
1329
SELECT * FROM t3 ORDER BY id;
1334
INSERT INTO t4 VALUES(sf1());
1335
SELECT * FROM t1 ORDER BY id;
1341
SELECT * FROM t2 ORDER BY i;
1346
SELECT * FROM t3 ORDER BY id;
1354
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
1355
SELECT * FROM t1 ORDER BY id;
1361
SELECT * FROM t2 ORDER BY i;
1366
SELECT * FROM t3 ORDER BY id;
1380
DELETE FROM t4 WHERE i = sf1() + 1;
1381
SELECT * FROM t1 ORDER BY id;
1387
SELECT * FROM t2 ORDER BY i;
1392
SELECT * FROM t3 ORDER BY id;
1410
DROP TABLE t1,t2,t3,t4;
1411
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
1412
CREATE TABLE t2 (i INTEGER NULL);
1413
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
1414
CREATE TABLE t4 (i INTEGER NULL);
1415
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
1416
INSERT INTO t2 VALUES(1),(2),(3);
1417
CREATE FUNCTION sf1() RETURNS INTEGER
1419
DECLARE done INT DEFAULT 0;
1422
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
1423
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
1424
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
1428
FETCH cur1 INTO a, b;
1432
INSERT INTO t3 VALUES (a,b);
1434
INSERT INTO t3 VALUES (a,c);
1437
UNTIL done END REPEAT;
1442
ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL ;
1446
SELECT * FROM t1 ORDER BY id;
1452
SELECT * FROM t2 ORDER BY i;
1457
SELECT * FROM t3 ORDER BY id;
1462
INSERT INTO t4 VALUES(sf1());
1463
SELECT * FROM t1 ORDER BY id;
1469
SELECT * FROM t2 ORDER BY i;
1474
SELECT * FROM t3 ORDER BY id;
1482
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
1483
SELECT * FROM t1 ORDER BY id;
1489
SELECT * FROM t2 ORDER BY i;
1494
SELECT * FROM t3 ORDER BY id;
1508
DELETE FROM t4 WHERE i = sf1() + 1;
1509
SELECT * FROM t1 ORDER BY id;
1515
SELECT * FROM t2 ORDER BY i;
1520
SELECT * FROM t3 ORDER BY id;
1538
DROP TABLE t1,t2,t3,t4;
1539
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
1540
CREATE TABLE t2 (i INTEGER NULL);
1541
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
1542
CREATE TABLE t4 (i INTEGER NULL);
1543
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
1544
INSERT INTO t2 VALUES(1),(2),(3);
1545
CREATE FUNCTION sf1() RETURNS INTEGER
1547
DECLARE done INT DEFAULT 0;
1550
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
1551
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
1552
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
1556
FETCH cur1 INTO a, b;
1560
INSERT INTO t3 VALUES (a,b);
1562
INSERT INTO t3 VALUES (a,c);
1565
UNTIL done END REPEAT;
1570
ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL ;
1574
SELECT * FROM t1 ORDER BY id;
1580
SELECT * FROM t2 ORDER BY i;
1585
SELECT * FROM t3 ORDER BY id;
1590
INSERT INTO t4 VALUES(sf1());
1591
SELECT * FROM t1 ORDER BY id;
1597
SELECT * FROM t2 ORDER BY i;
1602
SELECT * FROM t3 ORDER BY id;
1610
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
1611
SELECT * FROM t1 ORDER BY id;
1617
SELECT * FROM t2 ORDER BY i;
1622
SELECT * FROM t3 ORDER BY id;
1636
DELETE FROM t4 WHERE i = sf1() + 1;
1637
SELECT * FROM t1 ORDER BY id;
1643
SELECT * FROM t2 ORDER BY i;
1648
SELECT * FROM t3 ORDER BY id;
1666
DROP TABLE t1,t2,t3,t4;
1667
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
1668
CREATE TABLE t2 (i INTEGER NULL);
1669
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
1670
CREATE TABLE t4 (i INTEGER NULL);
1671
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
1672
INSERT INTO t2 VALUES(1),(2),(3);
1673
CREATE FUNCTION sf1() RETURNS INTEGER
1675
DECLARE done INT DEFAULT 0;
1678
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
1679
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
1680
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
1684
FETCH cur1 INTO a, b;
1688
INSERT INTO t3 VALUES (a,b);
1690
INSERT INTO t3 VALUES (a,c);
1693
UNTIL done END REPEAT;
1698
ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA ;
1702
SELECT * FROM t1 ORDER BY id;
1708
SELECT * FROM t2 ORDER BY i;
1713
SELECT * FROM t3 ORDER BY id;
1718
INSERT INTO t4 VALUES(sf1());
1719
SELECT * FROM t1 ORDER BY id;
1725
SELECT * FROM t2 ORDER BY i;
1730
SELECT * FROM t3 ORDER BY id;
1738
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
1739
SELECT * FROM t1 ORDER BY id;
1745
SELECT * FROM t2 ORDER BY i;
1750
SELECT * FROM t3 ORDER BY id;
1764
DELETE FROM t4 WHERE i = sf1() + 1;
1765
SELECT * FROM t1 ORDER BY id;
1771
SELECT * FROM t2 ORDER BY i;
1776
SELECT * FROM t3 ORDER BY id;
1794
DROP TABLE t1,t2,t3,t4;
1795
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
1796
CREATE TABLE t2 (i INTEGER NULL);
1797
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
1798
CREATE TABLE t4 (i INTEGER NULL);
1799
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
1800
INSERT INTO t2 VALUES(1),(2),(3);
1801
CREATE FUNCTION sf1() RETURNS INTEGER
1803
DECLARE done INT DEFAULT 0;
1806
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
1807
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
1808
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
1812
FETCH cur1 INTO a, b;
1816
INSERT INTO t3 VALUES (a,b);
1818
INSERT INTO t3 VALUES (a,c);
1821
UNTIL done END REPEAT;
1826
ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA ;
1830
SELECT * FROM t1 ORDER BY id;
1836
SELECT * FROM t2 ORDER BY i;
1841
SELECT * FROM t3 ORDER BY id;
1846
INSERT INTO t4 VALUES(sf1());
1847
SELECT * FROM t1 ORDER BY id;
1853
SELECT * FROM t2 ORDER BY i;
1858
SELECT * FROM t3 ORDER BY id;
1866
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
1867
SELECT * FROM t1 ORDER BY id;
1873
SELECT * FROM t2 ORDER BY i;
1878
SELECT * FROM t3 ORDER BY id;
1892
DELETE FROM t4 WHERE i = sf1() + 1;
1893
SELECT * FROM t1 ORDER BY id;
1899
SELECT * FROM t2 ORDER BY i;
1904
SELECT * FROM t3 ORDER BY id;
1922
DROP TABLE t1,t2,t3,t4;
1923
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
1924
CREATE TABLE t2 (i INTEGER NULL);
1925
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
1926
CREATE TABLE t4 (i INTEGER NULL);
1927
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
1928
INSERT INTO t2 VALUES(1),(2),(3);
1929
CREATE FUNCTION sf1() RETURNS INTEGER
1931
DECLARE done INT DEFAULT 0;
1934
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
1935
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
1936
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
1940
FETCH cur1 INTO a, b;
1944
INSERT INTO t3 VALUES (a,b);
1946
INSERT INTO t3 VALUES (a,c);
1949
UNTIL done END REPEAT;
1954
ALTER FUNCTION sf1 LANGUAGE SQL #DET# COMMENT 'comment' ;
1958
SELECT * FROM t1 ORDER BY id;
1964
SELECT * FROM t2 ORDER BY i;
1969
SELECT * FROM t3 ORDER BY id;
1974
INSERT INTO t4 VALUES(sf1());
1975
SELECT * FROM t1 ORDER BY id;
1981
SELECT * FROM t2 ORDER BY i;
1986
SELECT * FROM t3 ORDER BY id;
1994
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
1995
SELECT * FROM t1 ORDER BY id;
2001
SELECT * FROM t2 ORDER BY i;
2006
SELECT * FROM t3 ORDER BY id;
2020
DELETE FROM t4 WHERE i = sf1() + 1;
2021
SELECT * FROM t1 ORDER BY id;
2027
SELECT * FROM t2 ORDER BY i;
2032
SELECT * FROM t3 ORDER BY id;
2050
DROP TABLE t1,t2,t3,t4;
2051
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
2052
CREATE TABLE t2 (i INTEGER NULL);
2053
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
2054
CREATE TABLE t4 (i INTEGER NULL);
2055
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
2056
INSERT INTO t2 VALUES(1),(2),(3);
2057
CREATE FUNCTION sf1() RETURNS INTEGER
2059
DECLARE done INT DEFAULT 0;
2062
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
2063
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
2064
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
2068
FETCH cur1 INTO a, b;
2072
INSERT INTO t3 VALUES (a,b);
2074
INSERT INTO t3 VALUES (a,c);
2077
UNTIL done END REPEAT;
2082
ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL COMMENT 'comment' ;
2086
SELECT * FROM t1 ORDER BY id;
2092
SELECT * FROM t2 ORDER BY i;
2097
SELECT * FROM t3 ORDER BY id;
2102
INSERT INTO t4 VALUES(sf1());
2103
SELECT * FROM t1 ORDER BY id;
2109
SELECT * FROM t2 ORDER BY i;
2114
SELECT * FROM t3 ORDER BY id;
2122
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
2123
SELECT * FROM t1 ORDER BY id;
2129
SELECT * FROM t2 ORDER BY i;
2134
SELECT * FROM t3 ORDER BY id;
2148
DELETE FROM t4 WHERE i = sf1() + 1;
2149
SELECT * FROM t1 ORDER BY id;
2155
SELECT * FROM t2 ORDER BY i;
2160
SELECT * FROM t3 ORDER BY id;
2178
DROP TABLE t1,t2,t3,t4;
2179
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
2180
CREATE TABLE t2 (i INTEGER NULL);
2181
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
2182
CREATE TABLE t4 (i INTEGER NULL);
2183
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
2184
INSERT INTO t2 VALUES(1),(2),(3);
2185
CREATE FUNCTION sf1() RETURNS INTEGER
2187
DECLARE done INT DEFAULT 0;
2190
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
2191
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
2192
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
2196
FETCH cur1 INTO a, b;
2200
INSERT INTO t3 VALUES (a,b);
2202
INSERT INTO t3 VALUES (a,c);
2205
UNTIL done END REPEAT;
2210
ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL COMMENT 'comment' ;
2214
SELECT * FROM t1 ORDER BY id;
2220
SELECT * FROM t2 ORDER BY i;
2225
SELECT * FROM t3 ORDER BY id;
2230
INSERT INTO t4 VALUES(sf1());
2231
SELECT * FROM t1 ORDER BY id;
2237
SELECT * FROM t2 ORDER BY i;
2242
SELECT * FROM t3 ORDER BY id;
2250
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
2251
SELECT * FROM t1 ORDER BY id;
2257
SELECT * FROM t2 ORDER BY i;
2262
SELECT * FROM t3 ORDER BY id;
2276
DELETE FROM t4 WHERE i = sf1() + 1;
2277
SELECT * FROM t1 ORDER BY id;
2283
SELECT * FROM t2 ORDER BY i;
2288
SELECT * FROM t3 ORDER BY id;
2306
DROP TABLE t1,t2,t3,t4;
2307
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
2308
CREATE TABLE t2 (i INTEGER NULL);
2309
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
2310
CREATE TABLE t4 (i INTEGER NULL);
2311
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
2312
INSERT INTO t2 VALUES(1),(2),(3);
2313
CREATE FUNCTION sf1() RETURNS INTEGER
2315
DECLARE done INT DEFAULT 0;
2318
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
2319
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
2320
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
2324
FETCH cur1 INTO a, b;
2328
INSERT INTO t3 VALUES (a,b);
2330
INSERT INTO t3 VALUES (a,c);
2333
UNTIL done END REPEAT;
2338
ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA COMMENT 'comment' ;
2342
SELECT * FROM t1 ORDER BY id;
2348
SELECT * FROM t2 ORDER BY i;
2353
SELECT * FROM t3 ORDER BY id;
2358
INSERT INTO t4 VALUES(sf1());
2359
SELECT * FROM t1 ORDER BY id;
2365
SELECT * FROM t2 ORDER BY i;
2370
SELECT * FROM t3 ORDER BY id;
2378
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
2379
SELECT * FROM t1 ORDER BY id;
2385
SELECT * FROM t2 ORDER BY i;
2390
SELECT * FROM t3 ORDER BY id;
2404
DELETE FROM t4 WHERE i = sf1() + 1;
2405
SELECT * FROM t1 ORDER BY id;
2411
SELECT * FROM t2 ORDER BY i;
2416
SELECT * FROM t3 ORDER BY id;
2434
DROP TABLE t1,t2,t3,t4;
2435
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
2436
CREATE TABLE t2 (i INTEGER NULL);
2437
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
2438
CREATE TABLE t4 (i INTEGER NULL);
2439
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
2440
INSERT INTO t2 VALUES(1),(2),(3);
2441
CREATE FUNCTION sf1() RETURNS INTEGER
2443
DECLARE done INT DEFAULT 0;
2446
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
2447
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
2448
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
2452
FETCH cur1 INTO a, b;
2456
INSERT INTO t3 VALUES (a,b);
2458
INSERT INTO t3 VALUES (a,c);
2461
UNTIL done END REPEAT;
2466
ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA COMMENT 'comment' ;
2470
SELECT * FROM t1 ORDER BY id;
2476
SELECT * FROM t2 ORDER BY i;
2481
SELECT * FROM t3 ORDER BY id;
2486
INSERT INTO t4 VALUES(sf1());
2487
SELECT * FROM t1 ORDER BY id;
2493
SELECT * FROM t2 ORDER BY i;
2498
SELECT * FROM t3 ORDER BY id;
2506
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
2507
SELECT * FROM t1 ORDER BY id;
2513
SELECT * FROM t2 ORDER BY i;
2518
SELECT * FROM t3 ORDER BY id;
2532
DELETE FROM t4 WHERE i = sf1() + 1;
2533
SELECT * FROM t1 ORDER BY id;
2539
SELECT * FROM t2 ORDER BY i;
2544
SELECT * FROM t3 ORDER BY id;
2562
DROP TABLE t1,t2,t3,t4;
2563
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
2564
CREATE TABLE t2 (i INTEGER NULL);
2565
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
2566
CREATE TABLE t4 (i INTEGER NULL);
2567
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
2568
INSERT INTO t2 VALUES(1),(2),(3);
2569
CREATE FUNCTION sf1() RETURNS INTEGER
2571
DECLARE done INT DEFAULT 0;
2574
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
2575
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
2576
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
2580
FETCH cur1 INTO a, b;
2584
INSERT INTO t3 VALUES (a,b);
2586
INSERT INTO t3 VALUES (a,c);
2589
UNTIL done END REPEAT;
2594
ALTER FUNCTION sf1 #DET# SQL SECURITY INVOKER ;
2598
SELECT * FROM t1 ORDER BY id;
2604
SELECT * FROM t2 ORDER BY i;
2609
SELECT * FROM t3 ORDER BY id;
2614
INSERT INTO t4 VALUES(sf1());
2615
SELECT * FROM t1 ORDER BY id;
2621
SELECT * FROM t2 ORDER BY i;
2626
SELECT * FROM t3 ORDER BY id;
2634
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
2635
SELECT * FROM t1 ORDER BY id;
2641
SELECT * FROM t2 ORDER BY i;
2646
SELECT * FROM t3 ORDER BY id;
2660
DELETE FROM t4 WHERE i = sf1() + 1;
2661
SELECT * FROM t1 ORDER BY id;
2667
SELECT * FROM t2 ORDER BY i;
2672
SELECT * FROM t3 ORDER BY id;
2690
DROP TABLE t1,t2,t3,t4;
2691
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
2692
CREATE TABLE t2 (i INTEGER NULL);
2693
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
2694
CREATE TABLE t4 (i INTEGER NULL);
2695
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
2696
INSERT INTO t2 VALUES(1),(2),(3);
2697
CREATE FUNCTION sf1() RETURNS INTEGER
2699
DECLARE done INT DEFAULT 0;
2702
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
2703
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
2704
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
2708
FETCH cur1 INTO a, b;
2712
INSERT INTO t3 VALUES (a,b);
2714
INSERT INTO t3 VALUES (a,c);
2717
UNTIL done END REPEAT;
2722
ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY INVOKER ;
2726
SELECT * FROM t1 ORDER BY id;
2732
SELECT * FROM t2 ORDER BY i;
2737
SELECT * FROM t3 ORDER BY id;
2742
INSERT INTO t4 VALUES(sf1());
2743
SELECT * FROM t1 ORDER BY id;
2749
SELECT * FROM t2 ORDER BY i;
2754
SELECT * FROM t3 ORDER BY id;
2762
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
2763
SELECT * FROM t1 ORDER BY id;
2769
SELECT * FROM t2 ORDER BY i;
2774
SELECT * FROM t3 ORDER BY id;
2788
DELETE FROM t4 WHERE i = sf1() + 1;
2789
SELECT * FROM t1 ORDER BY id;
2795
SELECT * FROM t2 ORDER BY i;
2800
SELECT * FROM t3 ORDER BY id;
2818
DROP TABLE t1,t2,t3,t4;
2819
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
2820
CREATE TABLE t2 (i INTEGER NULL);
2821
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
2822
CREATE TABLE t4 (i INTEGER NULL);
2823
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
2824
INSERT INTO t2 VALUES(1),(2),(3);
2825
CREATE FUNCTION sf1() RETURNS INTEGER
2827
DECLARE done INT DEFAULT 0;
2830
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
2831
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
2832
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
2836
FETCH cur1 INTO a, b;
2840
INSERT INTO t3 VALUES (a,b);
2842
INSERT INTO t3 VALUES (a,c);
2845
UNTIL done END REPEAT;
2850
ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY INVOKER ;
2854
SELECT * FROM t1 ORDER BY id;
2860
SELECT * FROM t2 ORDER BY i;
2865
SELECT * FROM t3 ORDER BY id;
2870
INSERT INTO t4 VALUES(sf1());
2871
SELECT * FROM t1 ORDER BY id;
2877
SELECT * FROM t2 ORDER BY i;
2882
SELECT * FROM t3 ORDER BY id;
2890
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
2891
SELECT * FROM t1 ORDER BY id;
2897
SELECT * FROM t2 ORDER BY i;
2902
SELECT * FROM t3 ORDER BY id;
2916
DELETE FROM t4 WHERE i = sf1() + 1;
2917
SELECT * FROM t1 ORDER BY id;
2923
SELECT * FROM t2 ORDER BY i;
2928
SELECT * FROM t3 ORDER BY id;
2946
DROP TABLE t1,t2,t3,t4;
2947
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
2948
CREATE TABLE t2 (i INTEGER NULL);
2949
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
2950
CREATE TABLE t4 (i INTEGER NULL);
2951
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
2952
INSERT INTO t2 VALUES(1),(2),(3);
2953
CREATE FUNCTION sf1() RETURNS INTEGER
2955
DECLARE done INT DEFAULT 0;
2958
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
2959
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
2960
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
2964
FETCH cur1 INTO a, b;
2968
INSERT INTO t3 VALUES (a,b);
2970
INSERT INTO t3 VALUES (a,c);
2973
UNTIL done END REPEAT;
2978
ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY INVOKER ;
2982
SELECT * FROM t1 ORDER BY id;
2988
SELECT * FROM t2 ORDER BY i;
2993
SELECT * FROM t3 ORDER BY id;
2998
INSERT INTO t4 VALUES(sf1());
2999
SELECT * FROM t1 ORDER BY id;
3005
SELECT * FROM t2 ORDER BY i;
3010
SELECT * FROM t3 ORDER BY id;
3018
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
3019
SELECT * FROM t1 ORDER BY id;
3025
SELECT * FROM t2 ORDER BY i;
3030
SELECT * FROM t3 ORDER BY id;
3044
DELETE FROM t4 WHERE i = sf1() + 1;
3045
SELECT * FROM t1 ORDER BY id;
3051
SELECT * FROM t2 ORDER BY i;
3056
SELECT * FROM t3 ORDER BY id;
3074
DROP TABLE t1,t2,t3,t4;
3075
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
3076
CREATE TABLE t2 (i INTEGER NULL);
3077
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
3078
CREATE TABLE t4 (i INTEGER NULL);
3079
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
3080
INSERT INTO t2 VALUES(1),(2),(3);
3081
CREATE FUNCTION sf1() RETURNS INTEGER
3083
DECLARE done INT DEFAULT 0;
3086
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
3087
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
3088
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
3092
FETCH cur1 INTO a, b;
3096
INSERT INTO t3 VALUES (a,b);
3098
INSERT INTO t3 VALUES (a,c);
3101
UNTIL done END REPEAT;
3106
ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER ;
3110
SELECT * FROM t1 ORDER BY id;
3116
SELECT * FROM t2 ORDER BY i;
3121
SELECT * FROM t3 ORDER BY id;
3126
INSERT INTO t4 VALUES(sf1());
3127
SELECT * FROM t1 ORDER BY id;
3133
SELECT * FROM t2 ORDER BY i;
3138
SELECT * FROM t3 ORDER BY id;
3146
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
3147
SELECT * FROM t1 ORDER BY id;
3153
SELECT * FROM t2 ORDER BY i;
3158
SELECT * FROM t3 ORDER BY id;
3172
DELETE FROM t4 WHERE i = sf1() + 1;
3173
SELECT * FROM t1 ORDER BY id;
3179
SELECT * FROM t2 ORDER BY i;
3184
SELECT * FROM t3 ORDER BY id;
3202
DROP TABLE t1,t2,t3,t4;
3203
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
3204
CREATE TABLE t2 (i INTEGER NULL);
3205
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
3206
CREATE TABLE t4 (i INTEGER NULL);
3207
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
3208
INSERT INTO t2 VALUES(1),(2),(3);
3209
CREATE FUNCTION sf1() RETURNS INTEGER
3211
DECLARE done INT DEFAULT 0;
3214
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
3215
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
3216
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
3220
FETCH cur1 INTO a, b;
3224
INSERT INTO t3 VALUES (a,b);
3226
INSERT INTO t3 VALUES (a,c);
3229
UNTIL done END REPEAT;
3234
ALTER FUNCTION sf1 #DET# SQL SECURITY INVOKER COMMENT 'comment' ;
3238
SELECT * FROM t1 ORDER BY id;
3244
SELECT * FROM t2 ORDER BY i;
3249
SELECT * FROM t3 ORDER BY id;
3254
INSERT INTO t4 VALUES(sf1());
3255
SELECT * FROM t1 ORDER BY id;
3261
SELECT * FROM t2 ORDER BY i;
3266
SELECT * FROM t3 ORDER BY id;
3274
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
3275
SELECT * FROM t1 ORDER BY id;
3281
SELECT * FROM t2 ORDER BY i;
3286
SELECT * FROM t3 ORDER BY id;
3300
DELETE FROM t4 WHERE i = sf1() + 1;
3301
SELECT * FROM t1 ORDER BY id;
3307
SELECT * FROM t2 ORDER BY i;
3312
SELECT * FROM t3 ORDER BY id;
3330
DROP TABLE t1,t2,t3,t4;
3331
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
3332
CREATE TABLE t2 (i INTEGER NULL);
3333
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
3334
CREATE TABLE t4 (i INTEGER NULL);
3335
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
3336
INSERT INTO t2 VALUES(1),(2),(3);
3337
CREATE FUNCTION sf1() RETURNS INTEGER
3339
DECLARE done INT DEFAULT 0;
3342
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
3343
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
3344
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
3348
FETCH cur1 INTO a, b;
3352
INSERT INTO t3 VALUES (a,b);
3354
INSERT INTO t3 VALUES (a,c);
3357
UNTIL done END REPEAT;
3362
ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT 'comment' ;
3366
SELECT * FROM t1 ORDER BY id;
3372
SELECT * FROM t2 ORDER BY i;
3377
SELECT * FROM t3 ORDER BY id;
3382
INSERT INTO t4 VALUES(sf1());
3383
SELECT * FROM t1 ORDER BY id;
3389
SELECT * FROM t2 ORDER BY i;
3394
SELECT * FROM t3 ORDER BY id;
3402
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
3403
SELECT * FROM t1 ORDER BY id;
3409
SELECT * FROM t2 ORDER BY i;
3414
SELECT * FROM t3 ORDER BY id;
3428
DELETE FROM t4 WHERE i = sf1() + 1;
3429
SELECT * FROM t1 ORDER BY id;
3435
SELECT * FROM t2 ORDER BY i;
3440
SELECT * FROM t3 ORDER BY id;
3458
DROP TABLE t1,t2,t3,t4;
3459
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
3460
CREATE TABLE t2 (i INTEGER NULL);
3461
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
3462
CREATE TABLE t4 (i INTEGER NULL);
3463
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
3464
INSERT INTO t2 VALUES(1),(2),(3);
3465
CREATE FUNCTION sf1() RETURNS INTEGER
3467
DECLARE done INT DEFAULT 0;
3470
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
3471
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
3472
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
3476
FETCH cur1 INTO a, b;
3480
INSERT INTO t3 VALUES (a,b);
3482
INSERT INTO t3 VALUES (a,c);
3485
UNTIL done END REPEAT;
3490
ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comment' ;
3494
SELECT * FROM t1 ORDER BY id;
3500
SELECT * FROM t2 ORDER BY i;
3505
SELECT * FROM t3 ORDER BY id;
3510
INSERT INTO t4 VALUES(sf1());
3511
SELECT * FROM t1 ORDER BY id;
3517
SELECT * FROM t2 ORDER BY i;
3522
SELECT * FROM t3 ORDER BY id;
3530
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
3531
SELECT * FROM t1 ORDER BY id;
3537
SELECT * FROM t2 ORDER BY i;
3542
SELECT * FROM t3 ORDER BY id;
3556
DELETE FROM t4 WHERE i = sf1() + 1;
3557
SELECT * FROM t1 ORDER BY id;
3563
SELECT * FROM t2 ORDER BY i;
3568
SELECT * FROM t3 ORDER BY id;
3586
DROP TABLE t1,t2,t3,t4;
3587
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
3588
CREATE TABLE t2 (i INTEGER NULL);
3589
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
3590
CREATE TABLE t4 (i INTEGER NULL);
3591
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
3592
INSERT INTO t2 VALUES(1),(2),(3);
3593
CREATE FUNCTION sf1() RETURNS INTEGER
3595
DECLARE done INT DEFAULT 0;
3598
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
3599
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
3600
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
3604
FETCH cur1 INTO a, b;
3608
INSERT INTO t3 VALUES (a,b);
3610
INSERT INTO t3 VALUES (a,c);
3613
UNTIL done END REPEAT;
3618
ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
3622
SELECT * FROM t1 ORDER BY id;
3628
SELECT * FROM t2 ORDER BY i;
3633
SELECT * FROM t3 ORDER BY id;
3638
INSERT INTO t4 VALUES(sf1());
3639
SELECT * FROM t1 ORDER BY id;
3645
SELECT * FROM t2 ORDER BY i;
3650
SELECT * FROM t3 ORDER BY id;
3658
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
3659
SELECT * FROM t1 ORDER BY id;
3665
SELECT * FROM t2 ORDER BY i;
3670
SELECT * FROM t3 ORDER BY id;
3684
DELETE FROM t4 WHERE i = sf1() + 1;
3685
SELECT * FROM t1 ORDER BY id;
3691
SELECT * FROM t2 ORDER BY i;
3696
SELECT * FROM t3 ORDER BY id;
3714
DROP TABLE t1,t2,t3,t4;
3715
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
3716
CREATE TABLE t2 (i INTEGER NULL);
3717
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
3718
CREATE TABLE t4 (i INTEGER NULL);
3719
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
3720
INSERT INTO t2 VALUES(1),(2),(3);
3721
CREATE FUNCTION sf1() RETURNS INTEGER
3723
DECLARE done INT DEFAULT 0;
3726
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
3727
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
3728
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
3732
FETCH cur1 INTO a, b;
3736
INSERT INTO t3 VALUES (a,b);
3738
INSERT INTO t3 VALUES (a,c);
3741
UNTIL done END REPEAT;
3746
ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
3750
SELECT * FROM t1 ORDER BY id;
3756
SELECT * FROM t2 ORDER BY i;
3761
SELECT * FROM t3 ORDER BY id;
3766
INSERT INTO t4 VALUES(sf1());
3767
SELECT * FROM t1 ORDER BY id;
3773
SELECT * FROM t2 ORDER BY i;
3778
SELECT * FROM t3 ORDER BY id;
3786
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
3787
SELECT * FROM t1 ORDER BY id;
3793
SELECT * FROM t2 ORDER BY i;
3798
SELECT * FROM t3 ORDER BY id;
3812
DELETE FROM t4 WHERE i = sf1() + 1;
3813
SELECT * FROM t1 ORDER BY id;
3819
SELECT * FROM t2 ORDER BY i;
3824
SELECT * FROM t3 ORDER BY id;
3842
DROP TABLE t1,t2,t3,t4;
3843
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
3844
CREATE TABLE t2 (i INTEGER NULL);
3845
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
3846
CREATE TABLE t4 (i INTEGER NULL);
3847
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
3848
INSERT INTO t2 VALUES(1),(2),(3);
3849
CREATE FUNCTION sf1() RETURNS INTEGER
3851
DECLARE done INT DEFAULT 0;
3854
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
3855
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
3856
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
3860
FETCH cur1 INTO a, b;
3864
INSERT INTO t3 VALUES (a,b);
3866
INSERT INTO t3 VALUES (a,c);
3869
UNTIL done END REPEAT;
3874
ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY INVOKER ;
3878
SELECT * FROM t1 ORDER BY id;
3884
SELECT * FROM t2 ORDER BY i;
3889
SELECT * FROM t3 ORDER BY id;
3894
INSERT INTO t4 VALUES(sf1());
3895
SELECT * FROM t1 ORDER BY id;
3901
SELECT * FROM t2 ORDER BY i;
3906
SELECT * FROM t3 ORDER BY id;
3914
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
3915
SELECT * FROM t1 ORDER BY id;
3921
SELECT * FROM t2 ORDER BY i;
3926
SELECT * FROM t3 ORDER BY id;
3940
DELETE FROM t4 WHERE i = sf1() + 1;
3941
SELECT * FROM t1 ORDER BY id;
3947
SELECT * FROM t2 ORDER BY i;
3952
SELECT * FROM t3 ORDER BY id;
3970
DROP TABLE t1,t2,t3,t4;
3971
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
3972
CREATE TABLE t2 (i INTEGER NULL);
3973
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
3974
CREATE TABLE t4 (i INTEGER NULL);
3975
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
3976
INSERT INTO t2 VALUES(1),(2),(3);
3977
CREATE FUNCTION sf1() RETURNS INTEGER
3979
DECLARE done INT DEFAULT 0;
3982
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
3983
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
3984
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
3988
FETCH cur1 INTO a, b;
3992
INSERT INTO t3 VALUES (a,b);
3994
INSERT INTO t3 VALUES (a,c);
3997
UNTIL done END REPEAT;
4002
ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER ;
4006
SELECT * FROM t1 ORDER BY id;
4012
SELECT * FROM t2 ORDER BY i;
4017
SELECT * FROM t3 ORDER BY id;
4022
INSERT INTO t4 VALUES(sf1());
4023
SELECT * FROM t1 ORDER BY id;
4029
SELECT * FROM t2 ORDER BY i;
4034
SELECT * FROM t3 ORDER BY id;
4042
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
4043
SELECT * FROM t1 ORDER BY id;
4049
SELECT * FROM t2 ORDER BY i;
4054
SELECT * FROM t3 ORDER BY id;
4068
DELETE FROM t4 WHERE i = sf1() + 1;
4069
SELECT * FROM t1 ORDER BY id;
4075
SELECT * FROM t2 ORDER BY i;
4080
SELECT * FROM t3 ORDER BY id;
4098
DROP TABLE t1,t2,t3,t4;
4099
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
4100
CREATE TABLE t2 (i INTEGER NULL);
4101
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
4102
CREATE TABLE t4 (i INTEGER NULL);
4103
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
4104
INSERT INTO t2 VALUES(1),(2),(3);
4105
CREATE FUNCTION sf1() RETURNS INTEGER
4107
DECLARE done INT DEFAULT 0;
4110
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
4111
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
4112
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
4116
FETCH cur1 INTO a, b;
4120
INSERT INTO t3 VALUES (a,b);
4122
INSERT INTO t3 VALUES (a,c);
4125
UNTIL done END REPEAT;
4130
ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER ;
4134
SELECT * FROM t1 ORDER BY id;
4140
SELECT * FROM t2 ORDER BY i;
4145
SELECT * FROM t3 ORDER BY id;
4150
INSERT INTO t4 VALUES(sf1());
4151
SELECT * FROM t1 ORDER BY id;
4157
SELECT * FROM t2 ORDER BY i;
4162
SELECT * FROM t3 ORDER BY id;
4170
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
4171
SELECT * FROM t1 ORDER BY id;
4177
SELECT * FROM t2 ORDER BY i;
4182
SELECT * FROM t3 ORDER BY id;
4196
DELETE FROM t4 WHERE i = sf1() + 1;
4197
SELECT * FROM t1 ORDER BY id;
4203
SELECT * FROM t2 ORDER BY i;
4208
SELECT * FROM t3 ORDER BY id;
4226
DROP TABLE t1,t2,t3,t4;
4227
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
4228
CREATE TABLE t2 (i INTEGER NULL);
4229
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
4230
CREATE TABLE t4 (i INTEGER NULL);
4231
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
4232
INSERT INTO t2 VALUES(1),(2),(3);
4233
CREATE FUNCTION sf1() RETURNS INTEGER
4235
DECLARE done INT DEFAULT 0;
4238
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
4239
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
4240
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
4244
FETCH cur1 INTO a, b;
4248
INSERT INTO t3 VALUES (a,b);
4250
INSERT INTO t3 VALUES (a,c);
4253
UNTIL done END REPEAT;
4258
ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER ;
4262
SELECT * FROM t1 ORDER BY id;
4268
SELECT * FROM t2 ORDER BY i;
4273
SELECT * FROM t3 ORDER BY id;
4278
INSERT INTO t4 VALUES(sf1());
4279
SELECT * FROM t1 ORDER BY id;
4285
SELECT * FROM t2 ORDER BY i;
4290
SELECT * FROM t3 ORDER BY id;
4298
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
4299
SELECT * FROM t1 ORDER BY id;
4305
SELECT * FROM t2 ORDER BY i;
4310
SELECT * FROM t3 ORDER BY id;
4324
DELETE FROM t4 WHERE i = sf1() + 1;
4325
SELECT * FROM t1 ORDER BY id;
4331
SELECT * FROM t2 ORDER BY i;
4336
SELECT * FROM t3 ORDER BY id;
4354
DROP TABLE t1,t2,t3,t4;
4355
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
4356
CREATE TABLE t2 (i INTEGER NULL);
4357
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
4358
CREATE TABLE t4 (i INTEGER NULL);
4359
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
4360
INSERT INTO t2 VALUES(1),(2),(3);
4361
CREATE FUNCTION sf1() RETURNS INTEGER
4363
DECLARE done INT DEFAULT 0;
4366
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
4367
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
4368
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
4372
FETCH cur1 INTO a, b;
4376
INSERT INTO t3 VALUES (a,b);
4378
INSERT INTO t3 VALUES (a,c);
4381
UNTIL done END REPEAT;
4386
ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER ;
4390
SELECT * FROM t1 ORDER BY id;
4396
SELECT * FROM t2 ORDER BY i;
4401
SELECT * FROM t3 ORDER BY id;
4406
INSERT INTO t4 VALUES(sf1());
4407
SELECT * FROM t1 ORDER BY id;
4413
SELECT * FROM t2 ORDER BY i;
4418
SELECT * FROM t3 ORDER BY id;
4426
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
4427
SELECT * FROM t1 ORDER BY id;
4433
SELECT * FROM t2 ORDER BY i;
4438
SELECT * FROM t3 ORDER BY id;
4452
DELETE FROM t4 WHERE i = sf1() + 1;
4453
SELECT * FROM t1 ORDER BY id;
4459
SELECT * FROM t2 ORDER BY i;
4464
SELECT * FROM t3 ORDER BY id;
4482
DROP TABLE t1,t2,t3,t4;
4483
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
4484
CREATE TABLE t2 (i INTEGER NULL);
4485
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
4486
CREATE TABLE t4 (i INTEGER NULL);
4487
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
4488
INSERT INTO t2 VALUES(1),(2),(3);
4489
CREATE FUNCTION sf1() RETURNS INTEGER
4491
DECLARE done INT DEFAULT 0;
4494
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
4495
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
4496
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
4500
FETCH cur1 INTO a, b;
4504
INSERT INTO t3 VALUES (a,b);
4506
INSERT INTO t3 VALUES (a,c);
4509
UNTIL done END REPEAT;
4514
ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY INVOKER COMMENT 'comment' ;
4518
SELECT * FROM t1 ORDER BY id;
4524
SELECT * FROM t2 ORDER BY i;
4529
SELECT * FROM t3 ORDER BY id;
4534
INSERT INTO t4 VALUES(sf1());
4535
SELECT * FROM t1 ORDER BY id;
4541
SELECT * FROM t2 ORDER BY i;
4546
SELECT * FROM t3 ORDER BY id;
4554
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
4555
SELECT * FROM t1 ORDER BY id;
4561
SELECT * FROM t2 ORDER BY i;
4566
SELECT * FROM t3 ORDER BY id;
4580
DELETE FROM t4 WHERE i = sf1() + 1;
4581
SELECT * FROM t1 ORDER BY id;
4587
SELECT * FROM t2 ORDER BY i;
4592
SELECT * FROM t3 ORDER BY id;
4610
DROP TABLE t1,t2,t3,t4;
4611
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
4612
CREATE TABLE t2 (i INTEGER NULL);
4613
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
4614
CREATE TABLE t4 (i INTEGER NULL);
4615
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
4616
INSERT INTO t2 VALUES(1),(2),(3);
4617
CREATE FUNCTION sf1() RETURNS INTEGER
4619
DECLARE done INT DEFAULT 0;
4622
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
4623
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
4624
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
4628
FETCH cur1 INTO a, b;
4632
INSERT INTO t3 VALUES (a,b);
4634
INSERT INTO t3 VALUES (a,c);
4637
UNTIL done END REPEAT;
4642
ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT 'comment' ;
4646
SELECT * FROM t1 ORDER BY id;
4652
SELECT * FROM t2 ORDER BY i;
4657
SELECT * FROM t3 ORDER BY id;
4662
INSERT INTO t4 VALUES(sf1());
4663
SELECT * FROM t1 ORDER BY id;
4669
SELECT * FROM t2 ORDER BY i;
4674
SELECT * FROM t3 ORDER BY id;
4682
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
4683
SELECT * FROM t1 ORDER BY id;
4689
SELECT * FROM t2 ORDER BY i;
4694
SELECT * FROM t3 ORDER BY id;
4708
DELETE FROM t4 WHERE i = sf1() + 1;
4709
SELECT * FROM t1 ORDER BY id;
4715
SELECT * FROM t2 ORDER BY i;
4720
SELECT * FROM t3 ORDER BY id;
4738
DROP TABLE t1,t2,t3,t4;
4739
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
4740
CREATE TABLE t2 (i INTEGER NULL);
4741
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
4742
CREATE TABLE t4 (i INTEGER NULL);
4743
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
4744
INSERT INTO t2 VALUES(1),(2),(3);
4745
CREATE FUNCTION sf1() RETURNS INTEGER
4747
DECLARE done INT DEFAULT 0;
4750
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
4751
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
4752
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
4756
FETCH cur1 INTO a, b;
4760
INSERT INTO t3 VALUES (a,b);
4762
INSERT INTO t3 VALUES (a,c);
4765
UNTIL done END REPEAT;
4770
ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comment' ;
4774
SELECT * FROM t1 ORDER BY id;
4780
SELECT * FROM t2 ORDER BY i;
4785
SELECT * FROM t3 ORDER BY id;
4790
INSERT INTO t4 VALUES(sf1());
4791
SELECT * FROM t1 ORDER BY id;
4797
SELECT * FROM t2 ORDER BY i;
4802
SELECT * FROM t3 ORDER BY id;
4810
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
4811
SELECT * FROM t1 ORDER BY id;
4817
SELECT * FROM t2 ORDER BY i;
4822
SELECT * FROM t3 ORDER BY id;
4836
DELETE FROM t4 WHERE i = sf1() + 1;
4837
SELECT * FROM t1 ORDER BY id;
4843
SELECT * FROM t2 ORDER BY i;
4848
SELECT * FROM t3 ORDER BY id;
4866
DROP TABLE t1,t2,t3,t4;
4867
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
4868
CREATE TABLE t2 (i INTEGER NULL);
4869
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
4870
CREATE TABLE t4 (i INTEGER NULL);
4871
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
4872
INSERT INTO t2 VALUES(1),(2),(3);
4873
CREATE FUNCTION sf1() RETURNS INTEGER
4875
DECLARE done INT DEFAULT 0;
4878
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
4879
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
4880
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
4884
FETCH cur1 INTO a, b;
4888
INSERT INTO t3 VALUES (a,b);
4890
INSERT INTO t3 VALUES (a,c);
4893
UNTIL done END REPEAT;
4898
ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
4902
SELECT * FROM t1 ORDER BY id;
4908
SELECT * FROM t2 ORDER BY i;
4913
SELECT * FROM t3 ORDER BY id;
4918
INSERT INTO t4 VALUES(sf1());
4919
SELECT * FROM t1 ORDER BY id;
4925
SELECT * FROM t2 ORDER BY i;
4930
SELECT * FROM t3 ORDER BY id;
4938
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
4939
SELECT * FROM t1 ORDER BY id;
4945
SELECT * FROM t2 ORDER BY i;
4950
SELECT * FROM t3 ORDER BY id;
4964
DELETE FROM t4 WHERE i = sf1() + 1;
4965
SELECT * FROM t1 ORDER BY id;
4971
SELECT * FROM t2 ORDER BY i;
4976
SELECT * FROM t3 ORDER BY id;
4994
DROP TABLE t1,t2,t3,t4;
4995
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
4996
CREATE TABLE t2 (i INTEGER NULL);
4997
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
4998
CREATE TABLE t4 (i INTEGER NULL);
4999
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
5000
INSERT INTO t2 VALUES(1),(2),(3);
5001
CREATE FUNCTION sf1() RETURNS INTEGER
5003
DECLARE done INT DEFAULT 0;
5006
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
5007
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
5008
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
5012
FETCH cur1 INTO a, b;
5016
INSERT INTO t3 VALUES (a,b);
5018
INSERT INTO t3 VALUES (a,c);
5021
UNTIL done END REPEAT;
5026
ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
5030
SELECT * FROM t1 ORDER BY id;
5036
SELECT * FROM t2 ORDER BY i;
5041
SELECT * FROM t3 ORDER BY id;
5046
INSERT INTO t4 VALUES(sf1());
5047
SELECT * FROM t1 ORDER BY id;
5053
SELECT * FROM t2 ORDER BY i;
5058
SELECT * FROM t3 ORDER BY id;
5066
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
5067
SELECT * FROM t1 ORDER BY id;
5073
SELECT * FROM t2 ORDER BY i;
5078
SELECT * FROM t3 ORDER BY id;
5092
DELETE FROM t4 WHERE i = sf1() + 1;
5093
SELECT * FROM t1 ORDER BY id;
5099
SELECT * FROM t2 ORDER BY i;
5104
SELECT * FROM t3 ORDER BY id;
5122
DROP TABLE t1,t2,t3,t4;
5123
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
5124
CREATE TABLE t2 (i INTEGER NULL);
5125
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
5126
CREATE TABLE t4 (i INTEGER NULL);
5127
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
5128
INSERT INTO t2 VALUES(1),(2),(3);
5129
CREATE FUNCTION sf1() RETURNS INTEGER
5131
DECLARE done INT DEFAULT 0;
5134
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
5135
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
5136
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
5140
FETCH cur1 INTO a, b;
5144
INSERT INTO t3 VALUES (a,b);
5146
INSERT INTO t3 VALUES (a,c);
5149
UNTIL done END REPEAT;
5154
ALTER FUNCTION sf1 #DET# SQL SECURITY DEFINER ;
5158
SELECT * FROM t1 ORDER BY id;
5164
SELECT * FROM t2 ORDER BY i;
5169
SELECT * FROM t3 ORDER BY id;
5174
INSERT INTO t4 VALUES(sf1());
5175
SELECT * FROM t1 ORDER BY id;
5181
SELECT * FROM t2 ORDER BY i;
5186
SELECT * FROM t3 ORDER BY id;
5194
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
5195
SELECT * FROM t1 ORDER BY id;
5201
SELECT * FROM t2 ORDER BY i;
5206
SELECT * FROM t3 ORDER BY id;
5220
DELETE FROM t4 WHERE i = sf1() + 1;
5221
SELECT * FROM t1 ORDER BY id;
5227
SELECT * FROM t2 ORDER BY i;
5232
SELECT * FROM t3 ORDER BY id;
5250
DROP TABLE t1,t2,t3,t4;
5251
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
5252
CREATE TABLE t2 (i INTEGER NULL);
5253
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
5254
CREATE TABLE t4 (i INTEGER NULL);
5255
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
5256
INSERT INTO t2 VALUES(1),(2),(3);
5257
CREATE FUNCTION sf1() RETURNS INTEGER
5259
DECLARE done INT DEFAULT 0;
5262
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
5263
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
5264
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
5268
FETCH cur1 INTO a, b;
5272
INSERT INTO t3 VALUES (a,b);
5274
INSERT INTO t3 VALUES (a,c);
5277
UNTIL done END REPEAT;
5282
ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY DEFINER ;
5286
SELECT * FROM t1 ORDER BY id;
5292
SELECT * FROM t2 ORDER BY i;
5297
SELECT * FROM t3 ORDER BY id;
5302
INSERT INTO t4 VALUES(sf1());
5303
SELECT * FROM t1 ORDER BY id;
5309
SELECT * FROM t2 ORDER BY i;
5314
SELECT * FROM t3 ORDER BY id;
5322
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
5323
SELECT * FROM t1 ORDER BY id;
5329
SELECT * FROM t2 ORDER BY i;
5334
SELECT * FROM t3 ORDER BY id;
5348
DELETE FROM t4 WHERE i = sf1() + 1;
5349
SELECT * FROM t1 ORDER BY id;
5355
SELECT * FROM t2 ORDER BY i;
5360
SELECT * FROM t3 ORDER BY id;
5378
DROP TABLE t1,t2,t3,t4;
5379
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
5380
CREATE TABLE t2 (i INTEGER NULL);
5381
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
5382
CREATE TABLE t4 (i INTEGER NULL);
5383
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
5384
INSERT INTO t2 VALUES(1),(2),(3);
5385
CREATE FUNCTION sf1() RETURNS INTEGER
5387
DECLARE done INT DEFAULT 0;
5390
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
5391
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
5392
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
5396
FETCH cur1 INTO a, b;
5400
INSERT INTO t3 VALUES (a,b);
5402
INSERT INTO t3 VALUES (a,c);
5405
UNTIL done END REPEAT;
5410
ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY DEFINER ;
5414
SELECT * FROM t1 ORDER BY id;
5420
SELECT * FROM t2 ORDER BY i;
5425
SELECT * FROM t3 ORDER BY id;
5430
INSERT INTO t4 VALUES(sf1());
5431
SELECT * FROM t1 ORDER BY id;
5437
SELECT * FROM t2 ORDER BY i;
5442
SELECT * FROM t3 ORDER BY id;
5450
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
5451
SELECT * FROM t1 ORDER BY id;
5457
SELECT * FROM t2 ORDER BY i;
5462
SELECT * FROM t3 ORDER BY id;
5476
DELETE FROM t4 WHERE i = sf1() + 1;
5477
SELECT * FROM t1 ORDER BY id;
5483
SELECT * FROM t2 ORDER BY i;
5488
SELECT * FROM t3 ORDER BY id;
5506
DROP TABLE t1,t2,t3,t4;
5507
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
5508
CREATE TABLE t2 (i INTEGER NULL);
5509
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
5510
CREATE TABLE t4 (i INTEGER NULL);
5511
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
5512
INSERT INTO t2 VALUES(1),(2),(3);
5513
CREATE FUNCTION sf1() RETURNS INTEGER
5515
DECLARE done INT DEFAULT 0;
5518
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
5519
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
5520
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
5524
FETCH cur1 INTO a, b;
5528
INSERT INTO t3 VALUES (a,b);
5530
INSERT INTO t3 VALUES (a,c);
5533
UNTIL done END REPEAT;
5538
ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY DEFINER ;
5542
SELECT * FROM t1 ORDER BY id;
5548
SELECT * FROM t2 ORDER BY i;
5553
SELECT * FROM t3 ORDER BY id;
5558
INSERT INTO t4 VALUES(sf1());
5559
SELECT * FROM t1 ORDER BY id;
5565
SELECT * FROM t2 ORDER BY i;
5570
SELECT * FROM t3 ORDER BY id;
5578
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
5579
SELECT * FROM t1 ORDER BY id;
5585
SELECT * FROM t2 ORDER BY i;
5590
SELECT * FROM t3 ORDER BY id;
5604
DELETE FROM t4 WHERE i = sf1() + 1;
5605
SELECT * FROM t1 ORDER BY id;
5611
SELECT * FROM t2 ORDER BY i;
5616
SELECT * FROM t3 ORDER BY id;
5634
DROP TABLE t1,t2,t3,t4;
5635
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
5636
CREATE TABLE t2 (i INTEGER NULL);
5637
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
5638
CREATE TABLE t4 (i INTEGER NULL);
5639
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
5640
INSERT INTO t2 VALUES(1),(2),(3);
5641
CREATE FUNCTION sf1() RETURNS INTEGER
5643
DECLARE done INT DEFAULT 0;
5646
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
5647
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
5648
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
5652
FETCH cur1 INTO a, b;
5656
INSERT INTO t3 VALUES (a,b);
5658
INSERT INTO t3 VALUES (a,c);
5661
UNTIL done END REPEAT;
5666
ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER ;
5670
SELECT * FROM t1 ORDER BY id;
5676
SELECT * FROM t2 ORDER BY i;
5681
SELECT * FROM t3 ORDER BY id;
5686
INSERT INTO t4 VALUES(sf1());
5687
SELECT * FROM t1 ORDER BY id;
5693
SELECT * FROM t2 ORDER BY i;
5698
SELECT * FROM t3 ORDER BY id;
5706
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
5707
SELECT * FROM t1 ORDER BY id;
5713
SELECT * FROM t2 ORDER BY i;
5718
SELECT * FROM t3 ORDER BY id;
5732
DELETE FROM t4 WHERE i = sf1() + 1;
5733
SELECT * FROM t1 ORDER BY id;
5739
SELECT * FROM t2 ORDER BY i;
5744
SELECT * FROM t3 ORDER BY id;
5762
DROP TABLE t1,t2,t3,t4;
5763
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
5764
CREATE TABLE t2 (i INTEGER NULL);
5765
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
5766
CREATE TABLE t4 (i INTEGER NULL);
5767
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
5768
INSERT INTO t2 VALUES(1),(2),(3);
5769
CREATE FUNCTION sf1() RETURNS INTEGER
5771
DECLARE done INT DEFAULT 0;
5774
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
5775
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
5776
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
5780
FETCH cur1 INTO a, b;
5784
INSERT INTO t3 VALUES (a,b);
5786
INSERT INTO t3 VALUES (a,c);
5789
UNTIL done END REPEAT;
5794
ALTER FUNCTION sf1 #DET# SQL SECURITY DEFINER COMMENT 'comment' ;
5798
SELECT * FROM t1 ORDER BY id;
5804
SELECT * FROM t2 ORDER BY i;
5809
SELECT * FROM t3 ORDER BY id;
5814
INSERT INTO t4 VALUES(sf1());
5815
SELECT * FROM t1 ORDER BY id;
5821
SELECT * FROM t2 ORDER BY i;
5826
SELECT * FROM t3 ORDER BY id;
5834
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
5835
SELECT * FROM t1 ORDER BY id;
5841
SELECT * FROM t2 ORDER BY i;
5846
SELECT * FROM t3 ORDER BY id;
5860
DELETE FROM t4 WHERE i = sf1() + 1;
5861
SELECT * FROM t1 ORDER BY id;
5867
SELECT * FROM t2 ORDER BY i;
5872
SELECT * FROM t3 ORDER BY id;
5890
DROP TABLE t1,t2,t3,t4;
5891
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
5892
CREATE TABLE t2 (i INTEGER NULL);
5893
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
5894
CREATE TABLE t4 (i INTEGER NULL);
5895
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
5896
INSERT INTO t2 VALUES(1),(2),(3);
5897
CREATE FUNCTION sf1() RETURNS INTEGER
5899
DECLARE done INT DEFAULT 0;
5902
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
5903
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
5904
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
5908
FETCH cur1 INTO a, b;
5912
INSERT INTO t3 VALUES (a,b);
5914
INSERT INTO t3 VALUES (a,c);
5917
UNTIL done END REPEAT;
5922
ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY DEFINER COMMENT 'comment' ;
5926
SELECT * FROM t1 ORDER BY id;
5932
SELECT * FROM t2 ORDER BY i;
5937
SELECT * FROM t3 ORDER BY id;
5942
INSERT INTO t4 VALUES(sf1());
5943
SELECT * FROM t1 ORDER BY id;
5949
SELECT * FROM t2 ORDER BY i;
5954
SELECT * FROM t3 ORDER BY id;
5962
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
5963
SELECT * FROM t1 ORDER BY id;
5969
SELECT * FROM t2 ORDER BY i;
5974
SELECT * FROM t3 ORDER BY id;
5988
DELETE FROM t4 WHERE i = sf1() + 1;
5989
SELECT * FROM t1 ORDER BY id;
5995
SELECT * FROM t2 ORDER BY i;
6000
SELECT * FROM t3 ORDER BY id;
6018
DROP TABLE t1,t2,t3,t4;
6019
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
6020
CREATE TABLE t2 (i INTEGER NULL);
6021
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
6022
CREATE TABLE t4 (i INTEGER NULL);
6023
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
6024
INSERT INTO t2 VALUES(1),(2),(3);
6025
CREATE FUNCTION sf1() RETURNS INTEGER
6027
DECLARE done INT DEFAULT 0;
6030
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
6031
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
6032
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
6036
FETCH cur1 INTO a, b;
6040
INSERT INTO t3 VALUES (a,b);
6042
INSERT INTO t3 VALUES (a,c);
6045
UNTIL done END REPEAT;
6050
ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY DEFINER COMMENT 'comment' ;
6054
SELECT * FROM t1 ORDER BY id;
6060
SELECT * FROM t2 ORDER BY i;
6065
SELECT * FROM t3 ORDER BY id;
6070
INSERT INTO t4 VALUES(sf1());
6071
SELECT * FROM t1 ORDER BY id;
6077
SELECT * FROM t2 ORDER BY i;
6082
SELECT * FROM t3 ORDER BY id;
6090
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
6091
SELECT * FROM t1 ORDER BY id;
6097
SELECT * FROM t2 ORDER BY i;
6102
SELECT * FROM t3 ORDER BY id;
6116
DELETE FROM t4 WHERE i = sf1() + 1;
6117
SELECT * FROM t1 ORDER BY id;
6123
SELECT * FROM t2 ORDER BY i;
6128
SELECT * FROM t3 ORDER BY id;
6146
DROP TABLE t1,t2,t3,t4;
6147
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
6148
CREATE TABLE t2 (i INTEGER NULL);
6149
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
6150
CREATE TABLE t4 (i INTEGER NULL);
6151
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
6152
INSERT INTO t2 VALUES(1),(2),(3);
6153
CREATE FUNCTION sf1() RETURNS INTEGER
6155
DECLARE done INT DEFAULT 0;
6158
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
6159
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
6160
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
6164
FETCH cur1 INTO a, b;
6168
INSERT INTO t3 VALUES (a,b);
6170
INSERT INTO t3 VALUES (a,c);
6173
UNTIL done END REPEAT;
6178
ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
6182
SELECT * FROM t1 ORDER BY id;
6188
SELECT * FROM t2 ORDER BY i;
6193
SELECT * FROM t3 ORDER BY id;
6198
INSERT INTO t4 VALUES(sf1());
6199
SELECT * FROM t1 ORDER BY id;
6205
SELECT * FROM t2 ORDER BY i;
6210
SELECT * FROM t3 ORDER BY id;
6218
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
6219
SELECT * FROM t1 ORDER BY id;
6225
SELECT * FROM t2 ORDER BY i;
6230
SELECT * FROM t3 ORDER BY id;
6244
DELETE FROM t4 WHERE i = sf1() + 1;
6245
SELECT * FROM t1 ORDER BY id;
6251
SELECT * FROM t2 ORDER BY i;
6256
SELECT * FROM t3 ORDER BY id;
6274
DROP TABLE t1,t2,t3,t4;
6275
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
6276
CREATE TABLE t2 (i INTEGER NULL);
6277
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
6278
CREATE TABLE t4 (i INTEGER NULL);
6279
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
6280
INSERT INTO t2 VALUES(1),(2),(3);
6281
CREATE FUNCTION sf1() RETURNS INTEGER
6283
DECLARE done INT DEFAULT 0;
6286
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
6287
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
6288
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
6292
FETCH cur1 INTO a, b;
6296
INSERT INTO t3 VALUES (a,b);
6298
INSERT INTO t3 VALUES (a,c);
6301
UNTIL done END REPEAT;
6306
ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
6310
SELECT * FROM t1 ORDER BY id;
6316
SELECT * FROM t2 ORDER BY i;
6321
SELECT * FROM t3 ORDER BY id;
6326
INSERT INTO t4 VALUES(sf1());
6327
SELECT * FROM t1 ORDER BY id;
6333
SELECT * FROM t2 ORDER BY i;
6338
SELECT * FROM t3 ORDER BY id;
6346
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
6347
SELECT * FROM t1 ORDER BY id;
6353
SELECT * FROM t2 ORDER BY i;
6358
SELECT * FROM t3 ORDER BY id;
6372
DELETE FROM t4 WHERE i = sf1() + 1;
6373
SELECT * FROM t1 ORDER BY id;
6379
SELECT * FROM t2 ORDER BY i;
6384
SELECT * FROM t3 ORDER BY id;
6402
DROP TABLE t1,t2,t3,t4;
6403
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
6404
CREATE TABLE t2 (i INTEGER NULL);
6405
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
6406
CREATE TABLE t4 (i INTEGER NULL);
6407
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
6408
INSERT INTO t2 VALUES(1),(2),(3);
6409
CREATE FUNCTION sf1() RETURNS INTEGER
6411
DECLARE done INT DEFAULT 0;
6414
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
6415
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
6416
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
6420
FETCH cur1 INTO a, b;
6424
INSERT INTO t3 VALUES (a,b);
6426
INSERT INTO t3 VALUES (a,c);
6429
UNTIL done END REPEAT;
6434
ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY DEFINER ;
6438
SELECT * FROM t1 ORDER BY id;
6444
SELECT * FROM t2 ORDER BY i;
6449
SELECT * FROM t3 ORDER BY id;
6454
INSERT INTO t4 VALUES(sf1());
6455
SELECT * FROM t1 ORDER BY id;
6461
SELECT * FROM t2 ORDER BY i;
6466
SELECT * FROM t3 ORDER BY id;
6474
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
6475
SELECT * FROM t1 ORDER BY id;
6481
SELECT * FROM t2 ORDER BY i;
6486
SELECT * FROM t3 ORDER BY id;
6500
DELETE FROM t4 WHERE i = sf1() + 1;
6501
SELECT * FROM t1 ORDER BY id;
6507
SELECT * FROM t2 ORDER BY i;
6512
SELECT * FROM t3 ORDER BY id;
6530
DROP TABLE t1,t2,t3,t4;
6531
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
6532
CREATE TABLE t2 (i INTEGER NULL);
6533
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
6534
CREATE TABLE t4 (i INTEGER NULL);
6535
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
6536
INSERT INTO t2 VALUES(1),(2),(3);
6537
CREATE FUNCTION sf1() RETURNS INTEGER
6539
DECLARE done INT DEFAULT 0;
6542
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
6543
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
6544
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
6548
FETCH cur1 INTO a, b;
6552
INSERT INTO t3 VALUES (a,b);
6554
INSERT INTO t3 VALUES (a,c);
6557
UNTIL done END REPEAT;
6562
ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER ;
6566
SELECT * FROM t1 ORDER BY id;
6572
SELECT * FROM t2 ORDER BY i;
6577
SELECT * FROM t3 ORDER BY id;
6582
INSERT INTO t4 VALUES(sf1());
6583
SELECT * FROM t1 ORDER BY id;
6589
SELECT * FROM t2 ORDER BY i;
6594
SELECT * FROM t3 ORDER BY id;
6602
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
6603
SELECT * FROM t1 ORDER BY id;
6609
SELECT * FROM t2 ORDER BY i;
6614
SELECT * FROM t3 ORDER BY id;
6628
DELETE FROM t4 WHERE i = sf1() + 1;
6629
SELECT * FROM t1 ORDER BY id;
6635
SELECT * FROM t2 ORDER BY i;
6640
SELECT * FROM t3 ORDER BY id;
6658
DROP TABLE t1,t2,t3,t4;
6659
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
6660
CREATE TABLE t2 (i INTEGER NULL);
6661
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
6662
CREATE TABLE t4 (i INTEGER NULL);
6663
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
6664
INSERT INTO t2 VALUES(1),(2),(3);
6665
CREATE FUNCTION sf1() RETURNS INTEGER
6667
DECLARE done INT DEFAULT 0;
6670
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
6671
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
6672
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
6676
FETCH cur1 INTO a, b;
6680
INSERT INTO t3 VALUES (a,b);
6682
INSERT INTO t3 VALUES (a,c);
6685
UNTIL done END REPEAT;
6690
ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER ;
6694
SELECT * FROM t1 ORDER BY id;
6700
SELECT * FROM t2 ORDER BY i;
6705
SELECT * FROM t3 ORDER BY id;
6710
INSERT INTO t4 VALUES(sf1());
6711
SELECT * FROM t1 ORDER BY id;
6717
SELECT * FROM t2 ORDER BY i;
6722
SELECT * FROM t3 ORDER BY id;
6730
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
6731
SELECT * FROM t1 ORDER BY id;
6737
SELECT * FROM t2 ORDER BY i;
6742
SELECT * FROM t3 ORDER BY id;
6756
DELETE FROM t4 WHERE i = sf1() + 1;
6757
SELECT * FROM t1 ORDER BY id;
6763
SELECT * FROM t2 ORDER BY i;
6768
SELECT * FROM t3 ORDER BY id;
6786
DROP TABLE t1,t2,t3,t4;
6787
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
6788
CREATE TABLE t2 (i INTEGER NULL);
6789
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
6790
CREATE TABLE t4 (i INTEGER NULL);
6791
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
6792
INSERT INTO t2 VALUES(1),(2),(3);
6793
CREATE FUNCTION sf1() RETURNS INTEGER
6795
DECLARE done INT DEFAULT 0;
6798
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
6799
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
6800
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
6804
FETCH cur1 INTO a, b;
6808
INSERT INTO t3 VALUES (a,b);
6810
INSERT INTO t3 VALUES (a,c);
6813
UNTIL done END REPEAT;
6818
ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER ;
6822
SELECT * FROM t1 ORDER BY id;
6828
SELECT * FROM t2 ORDER BY i;
6833
SELECT * FROM t3 ORDER BY id;
6838
INSERT INTO t4 VALUES(sf1());
6839
SELECT * FROM t1 ORDER BY id;
6845
SELECT * FROM t2 ORDER BY i;
6850
SELECT * FROM t3 ORDER BY id;
6858
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
6859
SELECT * FROM t1 ORDER BY id;
6865
SELECT * FROM t2 ORDER BY i;
6870
SELECT * FROM t3 ORDER BY id;
6884
DELETE FROM t4 WHERE i = sf1() + 1;
6885
SELECT * FROM t1 ORDER BY id;
6891
SELECT * FROM t2 ORDER BY i;
6896
SELECT * FROM t3 ORDER BY id;
6914
DROP TABLE t1,t2,t3,t4;
6915
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
6916
CREATE TABLE t2 (i INTEGER NULL);
6917
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
6918
CREATE TABLE t4 (i INTEGER NULL);
6919
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
6920
INSERT INTO t2 VALUES(1),(2),(3);
6921
CREATE FUNCTION sf1() RETURNS INTEGER
6923
DECLARE done INT DEFAULT 0;
6926
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
6927
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
6928
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
6932
FETCH cur1 INTO a, b;
6936
INSERT INTO t3 VALUES (a,b);
6938
INSERT INTO t3 VALUES (a,c);
6941
UNTIL done END REPEAT;
6946
ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER ;
6950
SELECT * FROM t1 ORDER BY id;
6956
SELECT * FROM t2 ORDER BY i;
6961
SELECT * FROM t3 ORDER BY id;
6966
INSERT INTO t4 VALUES(sf1());
6967
SELECT * FROM t1 ORDER BY id;
6973
SELECT * FROM t2 ORDER BY i;
6978
SELECT * FROM t3 ORDER BY id;
6986
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
6987
SELECT * FROM t1 ORDER BY id;
6993
SELECT * FROM t2 ORDER BY i;
6998
SELECT * FROM t3 ORDER BY id;
7012
DELETE FROM t4 WHERE i = sf1() + 1;
7013
SELECT * FROM t1 ORDER BY id;
7019
SELECT * FROM t2 ORDER BY i;
7024
SELECT * FROM t3 ORDER BY id;
7042
DROP TABLE t1,t2,t3,t4;
7043
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
7044
CREATE TABLE t2 (i INTEGER NULL);
7045
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
7046
CREATE TABLE t4 (i INTEGER NULL);
7047
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
7048
INSERT INTO t2 VALUES(1),(2),(3);
7049
CREATE FUNCTION sf1() RETURNS INTEGER
7051
DECLARE done INT DEFAULT 0;
7054
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
7055
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
7056
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
7060
FETCH cur1 INTO a, b;
7064
INSERT INTO t3 VALUES (a,b);
7066
INSERT INTO t3 VALUES (a,c);
7069
UNTIL done END REPEAT;
7074
ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY DEFINER COMMENT 'comment' ;
7078
SELECT * FROM t1 ORDER BY id;
7084
SELECT * FROM t2 ORDER BY i;
7089
SELECT * FROM t3 ORDER BY id;
7094
INSERT INTO t4 VALUES(sf1());
7095
SELECT * FROM t1 ORDER BY id;
7101
SELECT * FROM t2 ORDER BY i;
7106
SELECT * FROM t3 ORDER BY id;
7114
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
7115
SELECT * FROM t1 ORDER BY id;
7121
SELECT * FROM t2 ORDER BY i;
7126
SELECT * FROM t3 ORDER BY id;
7140
DELETE FROM t4 WHERE i = sf1() + 1;
7141
SELECT * FROM t1 ORDER BY id;
7147
SELECT * FROM t2 ORDER BY i;
7152
SELECT * FROM t3 ORDER BY id;
7170
DROP TABLE t1,t2,t3,t4;
7171
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
7172
CREATE TABLE t2 (i INTEGER NULL);
7173
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
7174
CREATE TABLE t4 (i INTEGER NULL);
7175
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
7176
INSERT INTO t2 VALUES(1),(2),(3);
7177
CREATE FUNCTION sf1() RETURNS INTEGER
7179
DECLARE done INT DEFAULT 0;
7182
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
7183
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
7184
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
7188
FETCH cur1 INTO a, b;
7192
INSERT INTO t3 VALUES (a,b);
7194
INSERT INTO t3 VALUES (a,c);
7197
UNTIL done END REPEAT;
7202
ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER COMMENT 'comment' ;
7206
SELECT * FROM t1 ORDER BY id;
7212
SELECT * FROM t2 ORDER BY i;
7217
SELECT * FROM t3 ORDER BY id;
7222
INSERT INTO t4 VALUES(sf1());
7223
SELECT * FROM t1 ORDER BY id;
7229
SELECT * FROM t2 ORDER BY i;
7234
SELECT * FROM t3 ORDER BY id;
7242
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
7243
SELECT * FROM t1 ORDER BY id;
7249
SELECT * FROM t2 ORDER BY i;
7254
SELECT * FROM t3 ORDER BY id;
7268
DELETE FROM t4 WHERE i = sf1() + 1;
7269
SELECT * FROM t1 ORDER BY id;
7275
SELECT * FROM t2 ORDER BY i;
7280
SELECT * FROM t3 ORDER BY id;
7298
DROP TABLE t1,t2,t3,t4;
7299
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
7300
CREATE TABLE t2 (i INTEGER NULL);
7301
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
7302
CREATE TABLE t4 (i INTEGER NULL);
7303
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
7304
INSERT INTO t2 VALUES(1),(2),(3);
7305
CREATE FUNCTION sf1() RETURNS INTEGER
7307
DECLARE done INT DEFAULT 0;
7310
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
7311
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
7312
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
7316
FETCH cur1 INTO a, b;
7320
INSERT INTO t3 VALUES (a,b);
7322
INSERT INTO t3 VALUES (a,c);
7325
UNTIL done END REPEAT;
7330
ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER COMMENT 'comment' ;
7334
SELECT * FROM t1 ORDER BY id;
7340
SELECT * FROM t2 ORDER BY i;
7345
SELECT * FROM t3 ORDER BY id;
7350
INSERT INTO t4 VALUES(sf1());
7351
SELECT * FROM t1 ORDER BY id;
7357
SELECT * FROM t2 ORDER BY i;
7362
SELECT * FROM t3 ORDER BY id;
7370
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
7371
SELECT * FROM t1 ORDER BY id;
7377
SELECT * FROM t2 ORDER BY i;
7382
SELECT * FROM t3 ORDER BY id;
7396
DELETE FROM t4 WHERE i = sf1() + 1;
7397
SELECT * FROM t1 ORDER BY id;
7403
SELECT * FROM t2 ORDER BY i;
7408
SELECT * FROM t3 ORDER BY id;
7426
DROP TABLE t1,t2,t3,t4;
7427
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
7428
CREATE TABLE t2 (i INTEGER NULL);
7429
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
7430
CREATE TABLE t4 (i INTEGER NULL);
7431
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
7432
INSERT INTO t2 VALUES(1),(2),(3);
7433
CREATE FUNCTION sf1() RETURNS INTEGER
7435
DECLARE done INT DEFAULT 0;
7438
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
7439
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
7440
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
7444
FETCH cur1 INTO a, b;
7448
INSERT INTO t3 VALUES (a,b);
7450
INSERT INTO t3 VALUES (a,c);
7453
UNTIL done END REPEAT;
7458
ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
7462
SELECT * FROM t1 ORDER BY id;
7468
SELECT * FROM t2 ORDER BY i;
7473
SELECT * FROM t3 ORDER BY id;
7478
INSERT INTO t4 VALUES(sf1());
7479
SELECT * FROM t1 ORDER BY id;
7485
SELECT * FROM t2 ORDER BY i;
7490
SELECT * FROM t3 ORDER BY id;
7498
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
7499
SELECT * FROM t1 ORDER BY id;
7505
SELECT * FROM t2 ORDER BY i;
7510
SELECT * FROM t3 ORDER BY id;
7524
DELETE FROM t4 WHERE i = sf1() + 1;
7525
SELECT * FROM t1 ORDER BY id;
7531
SELECT * FROM t2 ORDER BY i;
7536
SELECT * FROM t3 ORDER BY id;
7554
DROP TABLE t1,t2,t3,t4;
7555
CREATE TABLE t1 (id INTEGER NULL , data INTEGER NULL, KEY(id));
7556
CREATE TABLE t2 (i INTEGER NULL);
7557
CREATE TABLE t3 (id INTEGER NULL, data INTEGER NULL, KEY(id));
7558
CREATE TABLE t4 (i INTEGER NULL);
7559
INSERT INTO t1 VALUES(1,1),(2,1),(3,4),(4,5);
7560
INSERT INTO t2 VALUES(1),(2),(3);
7561
CREATE FUNCTION sf1() RETURNS INTEGER
7563
DECLARE done INT DEFAULT 0;
7566
DECLARE cur1 CURSOR FOR SELECT id,data FROM t1;
7567
DECLARE cur2 CURSOR FOR SELECT i FROM t2;
7568
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
7572
FETCH cur1 INTO a, b;
7576
INSERT INTO t3 VALUES (a,b);
7578
INSERT INTO t3 VALUES (a,c);
7581
UNTIL done END REPEAT;
7586
ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
7590
SELECT * FROM t1 ORDER BY id;
7596
SELECT * FROM t2 ORDER BY i;
7601
SELECT * FROM t3 ORDER BY id;
7606
INSERT INTO t4 VALUES(sf1());
7607
SELECT * FROM t1 ORDER BY id;
7613
SELECT * FROM t2 ORDER BY i;
7618
SELECT * FROM t3 ORDER BY id;
7626
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
7627
SELECT * FROM t1 ORDER BY id;
7633
SELECT * FROM t2 ORDER BY i;
7638
SELECT * FROM t3 ORDER BY id;
7652
DELETE FROM t4 WHERE i = sf1() + 1;
7653
SELECT * FROM t1 ORDER BY id;
7659
SELECT * FROM t2 ORDER BY i;
7664
SELECT * FROM t3 ORDER BY id;
7682
DROP TABLE t1,t2,t3,t4;