Skip to content

Commit 33505cf

Browse files
committed
opt: enable improved routine dependency tracking
This commit flips `use_improved_routine_dependency_tracking` to on by default. This means that newly-created routines will not add unnecessary implicit insert columns to the list of dependencies, and will correctly track dependencies in the RETURNING clause of UPDATE and DELETE statements. Informs #145098 Informs #146414 Release note: None
1 parent 39d6e04 commit 33505cf

File tree

9 files changed

+6
-44
lines changed

9 files changed

+6
-44
lines changed

pkg/sql/logictest/testdata/logic_test/drop_index

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -573,17 +573,11 @@ DROP INDEX tab_145100@tab_145100_i_idx
573573
statement ok
574574
DROP PROCEDURE proc_select_145100
575575

576-
statement ok
577-
SET use_improved_routine_dependency_tracking = true;
578-
579576
statement ok
580577
CREATE PROCEDURE proc_insert_145100(in_id UUID, in_i INT) LANGUAGE SQL AS $$
581578
INSERT INTO tab_145100 (id, i) VALUES (in_id, in_i);
582579
$$;
583580

584-
statement ok
585-
RESET use_improved_routine_dependency_tracking;
586-
587581
statement ok
588582
DROP INDEX tab_145100@tab_145100_i_idx
589583

pkg/sql/logictest/testdata/logic_test/information_schema

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4133,7 +4133,7 @@ unbounded_parallel_scans off
41334133
unconstrained_non_covering_index_scan_enabled off
41344134
unsafe_allow_triggers_modifying_cascades off
41354135
use_cputs_on_non_unique_indexes off
4136-
use_improved_routine_dependency_tracking off
4136+
use_improved_routine_dependency_tracking on
41374137
use_pre_25_2_variadic_builtins off
41384138
variable_inequality_lookup_join_enabled on
41394139
vector_search_beam_size 32

pkg/sql/logictest/testdata/logic_test/pg_catalog

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3128,7 +3128,7 @@ unconstrained_non_covering_index_scan_enabled off N
31283128
unsafe_allow_triggers_modifying_cascades off NULL NULL NULL string
31293129
use_cputs_on_non_unique_indexes off NULL NULL NULL string
31303130
use_declarative_schema_changer on NULL NULL NULL string
3131-
use_improved_routine_dependency_tracking off NULL NULL NULL string
3131+
use_improved_routine_dependency_tracking on NULL NULL NULL string
31323132
use_pre_25_2_variadic_builtins off NULL NULL NULL string
31333133
variable_inequality_lookup_join_enabled on NULL NULL NULL string
31343134
vector_search_beam_size 32 NULL NULL NULL string
@@ -3360,7 +3360,7 @@ unconstrained_non_covering_index_scan_enabled off N
33603360
unsafe_allow_triggers_modifying_cascades off NULL user NULL off off
33613361
use_cputs_on_non_unique_indexes off NULL user NULL off off
33623362
use_declarative_schema_changer on NULL user NULL on on
3363-
use_improved_routine_dependency_tracking off NULL user NULL off off
3363+
use_improved_routine_dependency_tracking on NULL user NULL on on
33643364
use_pre_25_2_variadic_builtins off NULL user NULL off off
33653365
variable_inequality_lookup_join_enabled on NULL user NULL on on
33663366
vector_search_beam_size 32 NULL user NULL 32 32

pkg/sql/logictest/testdata/logic_test/show_source

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ unconstrained_non_covering_index_scan_enabled off
242242
unsafe_allow_triggers_modifying_cascades off
243243
use_cputs_on_non_unique_indexes off
244244
use_declarative_schema_changer on
245-
use_improved_routine_dependency_tracking off
245+
use_improved_routine_dependency_tracking on
246246
use_pre_25_2_variadic_builtins off
247247
variable_inequality_lookup_join_enabled on
248248
vector_search_beam_size 32

pkg/sql/logictest/testdata/logic_test/udf_delete

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -311,18 +311,12 @@ CREATE TABLE t146414 (
311311
b INT AS (a + 1) VIRTUAL
312312
)
313313

314-
statement ok
315-
SET use_improved_routine_dependency_tracking = true;
316-
317314
statement ok
318315
CREATE FUNCTION f146414() RETURNS INT LANGUAGE SQL AS $$
319316
DELETE FROM t146414 WHERE a = 1 RETURNING b;
320317
SELECT 1;
321318
$$;
322319

323-
statement ok
324-
RESET use_improved_routine_dependency_tracking;
325-
326320
statement error pgcode 2BP01 pq: cannot drop column "b" because function "f146414" depends on it
327321
ALTER TABLE t146414 DROP COLUMN b;
328322

pkg/sql/logictest/testdata/logic_test/udf_insert

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -298,19 +298,13 @@ CREATE TABLE t_computed (
298298
)
299299

300300
# An insert routine created with use_improved_routine_dependency_tracking = true
301-
# should not depend on columns other than the target column "a".
302-
statement ok
303-
SET use_improved_routine_dependency_tracking = true;
304-
301+
# (the default) should not depend on columns other than the target column "a".
305302
statement ok
306303
CREATE FUNCTION f145098() RETURNS INT LANGUAGE SQL AS $$
307304
INSERT INTO t_computed VALUES (100);
308305
SELECT 1;
309306
$$;
310307

311-
statement ok
312-
RESET use_improved_routine_dependency_tracking;
313-
314308
statement ok
315309
SELECT f145098();
316310

@@ -414,18 +408,12 @@ CREATE TABLE t_hash_sharded (
414408
INDEX i (a ASC) USING HASH
415409
)
416410

417-
statement ok
418-
SET use_improved_routine_dependency_tracking = true;
419-
420411
statement ok
421412
CREATE FUNCTION f145098() RETURNS INT LANGUAGE SQL AS $$
422413
INSERT INTO t_hash_sharded VALUES (100) RETURNING crdb_internal_a_shard_16;
423414
SELECT 1;
424415
$$;
425416

426-
statement ok
427-
RESET use_improved_routine_dependency_tracking;
428-
429417
statement error pgcode 2BP01 pq: cannot drop column "crdb_internal_a_shard_16" because function "f145098" depends on it
430418
DROP INDEX i;
431419

pkg/sql/logictest/testdata/logic_test/udf_update

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -335,18 +335,12 @@ CREATE TABLE t146414 (
335335
b INT AS (a + 1) VIRTUAL
336336
)
337337

338-
statement ok
339-
SET use_improved_routine_dependency_tracking = true;
340-
341338
statement ok
342339
CREATE FUNCTION f146414() RETURNS INT LANGUAGE SQL AS $$
343340
UPDATE t146414 SET a = a + 1 WHERE a = 1 RETURNING b;
344341
SELECT 1;
345342
$$;
346343

347-
statement ok
348-
RESET use_improved_routine_dependency_tracking;
349-
350344
statement error pgcode 2BP01 pq: cannot drop column "b" because function "f146414" depends on it
351345
ALTER TABLE t146414 DROP COLUMN b;
352346

pkg/sql/logictest/testdata/logic_test/udf_upsert

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -275,21 +275,13 @@ CREATE TABLE table_drop (
275275
);
276276
INSERT INTO table_drop VALUES (1,2,3), (4,5,6), (7,8,9);
277277

278-
# An insert routine created with use_improved_routine_dependency_tracking = true
279-
# should not depend on columns other than the target column "a".
280-
statement ok
281-
SET use_improved_routine_dependency_tracking = true;
282-
283278
statement ok
284279
DROP FUNCTION f_upsert;
285280
CREATE FUNCTION f_upsert() RETURNS INT LANGUAGE SQL AS $$
286281
UPSERT INTO table_drop (a, b) VALUES (100, 200);
287282
SELECT 1;
288283
$$;
289284

290-
statement ok
291-
RESET use_improved_routine_dependency_tracking;
292-
293285
statement ok
294286
DROP INDEX i;
295287

pkg/sql/vars.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4078,7 +4078,7 @@ var varGen = map[string]sessionVar{
40784078
Get: func(evalCtx *extendedEvalContext, _ *kv.Txn) (string, error) {
40794079
return formatBoolAsPostgresSetting(evalCtx.SessionData().UseImprovedRoutineDependencyTracking), nil
40804080
},
4081-
GlobalDefault: globalFalse,
4081+
GlobalDefault: globalTrue,
40824082
},
40834083
}
40844084

0 commit comments

Comments
 (0)