@@ -91,7 +91,7 @@ CREATE FUNCTION test_tbl_f() RETURNS INT IMMUTABLE LANGUAGE SQL AS $$ SELECT 1 $
91
91
92
92
# Test that UDF can be used in index creation while creating table.
93
93
statement ok
94
- CREATE TABLE test_tbl_t (a INT PRIMARY KEY, b INT, INDEX idx_b(test_tbl_f()));
94
+ CREATE TABLE test_tbl_t (a INT PRIMARY KEY, b INT, INDEX idx_b((1 + test_tbl_f() )));
95
95
96
96
let $tbl_id
97
97
SELECT id FROM system.namespace WHERE name = 'test_tbl_t';
@@ -102,10 +102,10 @@ SELECT oid::int - 100000 FROM pg_catalog.pg_proc WHERE proname = 'test_tbl_f';
102
102
query IITT colnames
103
103
SELECT * FROM get_col_fn_ids($tbl_id) ORDER BY 1, 2;
104
104
----
105
- id col_id compute_expr uses_fn_ids
106
- 113 1 NULL NULL
107
- 113 2 NULL NULL
108
- 113 3 "[FUNCTION 100112]()" [112]
105
+ id col_id compute_expr uses_fn_ids
106
+ 113 1 NULL NULL
107
+ 113 2 NULL NULL
108
+ 113 3 "1:::INT8 + [FUNCTION 100112]()" [112]
109
109
110
110
query T
111
111
SELECT get_fn_depended_on_by($fn_id)
@@ -121,16 +121,16 @@ SELECT get_fn_depended_on_by($fn_id)
121
121
122
122
# Test UDF index creation after table exists.
123
123
statement ok
124
- CREATE INDEX t_idx ON test_tbl_t(test_tbl_f());
124
+ CREATE INDEX t_idx ON test_tbl_t((2 + test_tbl_f() ));
125
125
126
126
query IITT colnames
127
127
SELECT * FROM get_col_fn_ids($tbl_id) ORDER BY 1, 2;
128
128
----
129
- id col_id compute_expr uses_fn_ids
130
- 113 1 NULL NULL
131
- 113 2 NULL NULL
132
- 113 3 "[FUNCTION 100112]()" [112]
133
- 113 4 "[FUNCTION 100112]()" [112]
129
+ id col_id compute_expr uses_fn_ids
130
+ 113 1 NULL NULL
131
+ 113 2 NULL NULL
132
+ 113 3 "1:::INT8 + [FUNCTION 100112]()" [112]
133
+ 113 4 "2:::INT8 + [FUNCTION 100112]()" [112]
134
134
135
135
query T
136
136
SELECT get_fn_depended_on_by($fn_id)
@@ -158,11 +158,11 @@ CREATE INDEX t_idx2 ON test_tbl_t(b) WHERE test_tbl_partial_f(b) > 0;
158
158
query IITT colnames
159
159
SELECT * FROM get_col_fn_ids($tbl_id) ORDER BY 1, 2;
160
160
----
161
- id col_id compute_expr uses_fn_ids
162
- 113 1 NULL NULL
163
- 113 2 NULL NULL
164
- 113 3 "[FUNCTION 100112]()" [112]
165
- 113 4 "[FUNCTION 100112]()" [112]
161
+ id col_id compute_expr uses_fn_ids
162
+ 113 1 NULL NULL
163
+ 113 2 NULL NULL
164
+ 113 3 "1:::INT8 + [FUNCTION 100112]()" [112]
165
+ 113 4 "2:::INT8 + [FUNCTION 100112]()" [112]
166
166
167
167
query IIT colnames
168
168
SELECT * FROM get_idx_fn_ids($tbl_id) ORDER BY 1, 2;
@@ -189,7 +189,7 @@ INSERT INTO test_tbl_t VALUES (1, 1), (2, -2), (3, 3);
189
189
190
190
# Verify that we can select from the partial index.
191
191
query II
192
- SELECT * FROM test_tbl_t@t_idx2 WHERE test_tbl_partial_f(b) > 0;
192
+ SELECT * FROM test_tbl_t@t_idx2 WHERE test_tbl_partial_f(b) > 0 ORDER BY 1, 2 ;
193
193
----
194
194
1 1
195
195
3 3
@@ -210,12 +210,12 @@ CREATE INDEX t_idx3 ON test_tbl_t((b + test_tbl_f()));
210
210
query IITT colnames
211
211
SELECT * FROM get_col_fn_ids($tbl_id) ORDER BY 1, 2;
212
212
----
213
- id col_id compute_expr uses_fn_ids
214
- 113 1 NULL NULL
215
- 113 2 NULL NULL
216
- 113 3 "[FUNCTION 100112]()" [112]
217
- 113 4 "[FUNCTION 100112]()" [112]
218
- 113 5 "b + [FUNCTION 100112]()" [112]
213
+ id col_id compute_expr uses_fn_ids
214
+ 113 1 NULL NULL
215
+ 113 2 NULL NULL
216
+ 113 3 "1:::INT8 + [FUNCTION 100112]()" [112]
217
+ 113 4 "2:::INT8 + [FUNCTION 100112]()" [112]
218
+ 113 5 "b + [FUNCTION 100112]()" [112]
219
219
220
220
query T
221
221
SELECT get_fn_depended_on_by($fn_id)
@@ -241,8 +241,8 @@ SELECT * FROM get_col_fn_ids($tbl_id) ORDER BY 1, 2;
241
241
id col_id compute_expr uses_fn_ids
242
242
113 1 NULL NULL
243
243
113 2 NULL NULL
244
- 113 3 "[FUNCTION 100112]()" [112]
245
- 113 4 "[FUNCTION 100112]()" [112]
244
+ 113 3 "1:::INT8 + [FUNCTION 100112]()" [112]
245
+ 113 4 "2:::INT8 + [FUNCTION 100112]()" [112]
246
246
113 5 "b + [FUNCTION 100112]()" [112]
247
247
113 6 "[FUNCTION 100112]()" [112]
248
248
113 7 "[FUNCTION 100112]() + 1:::INT8" [112]
@@ -273,7 +273,7 @@ SELECT * FROM get_col_fn_ids($tbl_id) ORDER BY 1, 2;
273
273
id col_id compute_expr uses_fn_ids
274
274
113 1 NULL NULL
275
275
113 2 NULL NULL
276
- 113 3 "[FUNCTION 100112]()" [112]
276
+ 113 3 "1:::INT8 + [FUNCTION 100112]()" [112]
277
277
113 5 "b + [FUNCTION 100112]()" [112]
278
278
113 6 "[FUNCTION 100112]()" [112]
279
279
113 7 "[FUNCTION 100112]() + 1:::INT8" [112]
@@ -307,7 +307,7 @@ SELECT * FROM get_col_fn_ids($tbl_id) ORDER BY 1, 2;
307
307
id col_id compute_expr uses_fn_ids
308
308
113 1 NULL NULL
309
309
113 2 NULL NULL
310
- 113 3 "[FUNCTION 100112]()" [112]
310
+ 113 3 "1:::INT8 + [FUNCTION 100112]()" [112]
311
311
113 5 "b + [FUNCTION 100112]()" [112]
312
312
113 6 "[FUNCTION 100112]()" [112]
313
313
113 7 "[FUNCTION 100112]() + 1:::INT8" [112]
@@ -336,7 +336,7 @@ SELECT * FROM get_col_fn_ids($tbl_id) ORDER BY 1, 2;
336
336
id col_id compute_expr uses_fn_ids
337
337
113 1 NULL NULL
338
338
113 2 NULL NULL
339
- 113 3 "[FUNCTION 100112]()" [112]
339
+ 113 3 "1:::INT8 + [FUNCTION 100112]()" [112]
340
340
113 6 "[FUNCTION 100112]()" [112]
341
341
113 7 "[FUNCTION 100112]() + 1:::INT8" [112]
342
342
@@ -360,10 +360,10 @@ DROP INDEX t_idx4;
360
360
query IITT colnames
361
361
SELECT * FROM get_col_fn_ids($tbl_id) ORDER BY 1, 2;
362
362
----
363
- id col_id compute_expr uses_fn_ids
364
- 113 1 NULL NULL
365
- 113 2 NULL NULL
366
- 113 3 "[FUNCTION 100112]()" [112]
363
+ id col_id compute_expr uses_fn_ids
364
+ 113 1 NULL NULL
365
+ 113 2 NULL NULL
366
+ 113 3 "1:::INT8 + [FUNCTION 100112]()" [112]
367
367
368
368
query T
369
369
SELECT get_fn_depended_on_by($fn_id)
0 commit comments