]> granicus.if.org Git - postgresql/blob - src/pl/tcl/test/test_queries.sql
Re-order items, add mention of how to propose working on a TODO item.
[postgresql] / src / pl / tcl / test / test_queries.sql
1 -- suppress CONTEXT so that function OIDs aren't in output
2 \set VERBOSITY terse
3
4 insert into T_pkey1 values (1, 'key1-1', 'test key');
5 insert into T_pkey1 values (1, 'key1-2', 'test key');
6 insert into T_pkey1 values (1, 'key1-3', 'test key');
7 insert into T_pkey1 values (2, 'key2-1', 'test key');
8 insert into T_pkey1 values (2, 'key2-2', 'test key');
9 insert into T_pkey1 values (2, 'key2-3', 'test key');
10
11 insert into T_pkey2 values (1, 'key1-1', 'test key');
12 insert into T_pkey2 values (1, 'key1-2', 'test key');
13 insert into T_pkey2 values (1, 'key1-3', 'test key');
14 insert into T_pkey2 values (2, 'key2-1', 'test key');
15 insert into T_pkey2 values (2, 'key2-2', 'test key');
16 insert into T_pkey2 values (2, 'key2-3', 'test key');
17
18 select * from T_pkey1;
19
20 -- key2 in T_pkey2 should have upper case only
21 select * from T_pkey2;
22
23 insert into T_pkey1 values (1, 'KEY1-3', 'should work');
24
25 -- Due to the upper case translation in trigger this must fail
26 insert into T_pkey2 values (1, 'KEY1-3', 'should fail');
27
28 insert into T_dta1 values ('trec 1', 1, 'key1-1');
29 insert into T_dta1 values ('trec 2', 1, 'key1-2');
30 insert into T_dta1 values ('trec 3', 1, 'key1-3');
31
32 -- Must fail due to unknown key in T_pkey1
33 insert into T_dta1 values ('trec 4', 1, 'key1-4');
34
35 insert into T_dta2 values ('trec 1', 1, 'KEY1-1');
36 insert into T_dta2 values ('trec 2', 1, 'KEY1-2');
37 insert into T_dta2 values ('trec 3', 1, 'KEY1-3');
38
39 -- Must fail due to unknown key in T_pkey2
40 insert into T_dta2 values ('trec 4', 1, 'KEY1-4');
41
42 select * from T_dta1;
43
44 select * from T_dta2;
45
46 update T_pkey1 set key2 = 'key2-9' where key1 = 2 and key2 = 'key2-1';
47 update T_pkey1 set key2 = 'key1-9' where key1 = 1 and key2 = 'key1-1';
48 delete from T_pkey1 where key1 = 2 and key2 = 'key2-2';
49 delete from T_pkey1 where key1 = 1 and key2 = 'key1-2';
50
51 update T_pkey2 set key2 = 'KEY2-9' where key1 = 2 and key2 = 'KEY2-1';
52 update T_pkey2 set key2 = 'KEY1-9' where key1 = 1 and key2 = 'KEY1-1';
53 delete from T_pkey2 where key1 = 2 and key2 = 'KEY2-2';
54 delete from T_pkey2 where key1 = 1 and key2 = 'KEY1-2';
55
56 select * from T_pkey1;
57 select * from T_pkey2;
58 select * from T_dta1;
59 select * from T_dta2;
60
61 select tcl_avg(key1) from T_pkey1;
62 select tcl_sum(key1) from T_pkey1;
63 select tcl_avg(key1) from T_pkey2;
64 select tcl_sum(key1) from T_pkey2;
65
66 -- The following should return NULL instead of 0
67 select tcl_avg(key1) from T_pkey1 where key1 = 99;
68 select tcl_sum(key1) from T_pkey1 where key1 = 99;
69
70 select 1 @< 2;
71 select 100 @< 4;
72
73 select * from T_pkey1 order by key1 using @<, key2;
74 select * from T_pkey2 order by key1 using @<, key2;
75