]> granicus.if.org Git - postgresql/blob - src/test/regress/sql/alter_table.sql
Update format to add uniform headers on files.
[postgresql] / src / test / regress / sql / alter_table.sql
1 --
2 -- add attribute
3 --
4
5 CREATE TABLE tmp (initial int4);
6
7 ALTER TABLE tmp ADD COLUMN a int4;
8
9 ALTER TABLE tmp ADD COLUMN b name;
10
11 ALTER TABLE tmp ADD COLUMN c text;
12
13 ALTER TABLE tmp ADD COLUMN d float8;
14
15 ALTER TABLE tmp ADD COLUMN e float4;
16
17 ALTER TABLE tmp ADD COLUMN f int2;
18
19 ALTER TABLE tmp ADD COLUMN g polygon;
20
21 ALTER TABLE tmp ADD COLUMN h abstime;
22
23 ALTER TABLE tmp ADD COLUMN i char;
24
25 ALTER TABLE tmp ADD COLUMN j abstime[];
26
27 ALTER TABLE tmp ADD COLUMN k dt;
28
29 ALTER TABLE tmp ADD COLUMN l tid;
30
31 ALTER TABLE tmp ADD COLUMN m xid;
32
33 ALTER TABLE tmp ADD COLUMN n oid8;
34
35 --ALTER TABLE tmp ADD COLUMN o lock;
36 ALTER TABLE tmp ADD COLUMN p smgr;
37
38 ALTER TABLE tmp ADD COLUMN q point;
39
40 ALTER TABLE tmp ADD COLUMN r lseg;
41
42 ALTER TABLE tmp ADD COLUMN s path;
43
44 ALTER TABLE tmp ADD COLUMN t box;
45
46 ALTER TABLE tmp ADD COLUMN u tinterval;
47
48 ALTER TABLE tmp ADD COLUMN v datetime;
49
50 ALTER TABLE tmp ADD COLUMN w timespan;
51
52 ALTER TABLE tmp ADD COLUMN x float8[];
53
54 ALTER TABLE tmp ADD COLUMN y float4[];
55
56 ALTER TABLE tmp ADD COLUMN z int2[];
57
58 INSERT INTO tmp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
59         v, w, x, y, z)
60    VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)', 
61         'Mon May  1 00:30:30 1995', 'c', '{Mon May  1 00:30:30 1995, Monday Aug 24 14:43:07 1992, epoch}', 
62         314159, '(1,1)', 512,
63         '1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)',
64         '(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', '["current" "infinity"]',
65         '1/3', '1,name', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
66
67 SELECT * FROM tmp;
68
69 DROP TABLE tmp;
70
71 -- the wolf bug - schema mods caused inconsistent row descriptors 
72 CREATE TABLE tmp (
73         initial         int4
74 );
75
76 ALTER TABLE tmp ADD COLUMN a int4;
77
78 ALTER TABLE tmp ADD COLUMN b name;
79
80 ALTER TABLE tmp ADD COLUMN c text;
81
82 ALTER TABLE tmp ADD COLUMN d float8;
83
84 ALTER TABLE tmp ADD COLUMN e float4;
85
86 ALTER TABLE tmp ADD COLUMN f int2;
87
88 ALTER TABLE tmp ADD COLUMN g polygon;
89
90 ALTER TABLE tmp ADD COLUMN h abstime;
91
92 ALTER TABLE tmp ADD COLUMN i char;
93
94 ALTER TABLE tmp ADD COLUMN j abstime[];
95
96 ALTER TABLE tmp ADD COLUMN k dt;
97
98 ALTER TABLE tmp ADD COLUMN l tid;
99
100 ALTER TABLE tmp ADD COLUMN m xid;
101
102 ALTER TABLE tmp ADD COLUMN n oid8;
103
104 --ALTER TABLE tmp ADD COLUMN o lock;
105 ALTER TABLE tmp ADD COLUMN p smgr;
106
107 ALTER TABLE tmp ADD COLUMN q point;
108
109 ALTER TABLE tmp ADD COLUMN r lseg;
110
111 ALTER TABLE tmp ADD COLUMN s path;
112
113 ALTER TABLE tmp ADD COLUMN t box;
114
115 ALTER TABLE tmp ADD COLUMN u tinterval;
116
117 ALTER TABLE tmp ADD COLUMN v datetime;
118
119 ALTER TABLE tmp ADD COLUMN w timespan;
120
121 ALTER TABLE tmp ADD COLUMN x float8[];
122
123 ALTER TABLE tmp ADD COLUMN y float4[];
124
125 ALTER TABLE tmp ADD COLUMN z int2[];
126
127 INSERT INTO tmp (a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, t, u,
128         v, w, x, y, z)
129    VALUES (4, 'name', 'text', 4.1, 4.1, 2, '(4.1,4.1,3.1,3.1)', 
130         'Mon May  1 00:30:30 1995', 'c', '{Mon May  1 00:30:30 1995, Monday Aug 24 14:43:07 1992, epoch}',
131          314159, '(1,1)', 512,
132         '1 2 3 4 5 6 7 8', 'magnetic disk', '(1.1,1.1)', '(4.1,4.1,3.1,3.1)',
133         '(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', '["current" "infinity"]',
134         '1/3', '1,name', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
135
136 SELECT * FROM tmp;
137
138 DROP TABLE tmp;
139
140
141 --
142 -- rename -
143 --   should preserve indices
144 --
145 ALTER TABLE tenk1 RENAME TO ten_k;
146
147 -- 20 values, sorted 
148 SELECT unique1 FROM ten_k WHERE unique1 < 20;
149
150 -- 20 values, sorted 
151 SELECT unique2 FROM ten_k WHERE unique2 < 20;
152
153 -- 100 values, sorted 
154 SELECT hundred FROM ten_k WHERE hundred = 50;
155
156 ALTER TABLE ten_k RENAME TO tenk1;
157
158 -- 5 values, sorted 
159 SELECT unique1 FROM tenk1 WHERE unique1 < 5;
160