Skip to content

Commit 8c3ef9c

Browse files
committed
Merge branch 'feature/faster-temporal_merge'
2 parents 30dde11 + ab6e588 commit 8c3ef9c

67 files changed

Lines changed: 1354 additions & 1272 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,9 @@ install: $(EXTENSION)--$(EXTVERSION).sql
5858

5959

6060
# Build the main extension script from component files.
61-
# The source files are numbered to ensure correct concatenation order.
62-
$(EXTENSION)--$(EXTVERSION).sql: $(wildcard src/[0-9][0-9]_*.sql)
61+
# The source files use Na_ pattern (e.g., 0a_, 1b_, 2c_) to ensure correct concatenation order.
62+
# This provides 26 positions per digit group instead of 10 with pure numeric prefixes.
63+
$(EXTENSION)--$(EXTVERSION).sql: $(wildcard src/[0-9][a-z]_*.sql)
6364
cat $^ > $@
6465

6566
# test is a convenient alias for installcheck.

expected/066_temporal_merge_range_only.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ CALL sql_saga.temporal_merge(
281281
primary_identity_columns => '{id}'::text[]
282282
);
283283
ERROR: Source table "source_boundary" must have either the range column "valid_range" or the component column "<NULL>".
284-
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 299 at RAISE
284+
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 294 at RAISE
285285
SQL statement "INSERT INTO temporal_merge_plan
286286
SELECT * FROM sql_saga.temporal_merge_plan(
287287
target_table => temporal_merge.target_table,

expected/088_temporal_merge_source_columns.out

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ CALL sql_saga.temporal_merge(
9191
natural_identity_columns => ARRAY['org_nr_typo']
9292
);
9393
ERROR: lookup_column org_nr_typo does not exist in target table repro.units
94-
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 478 at RAISE
94+
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 493 at RAISE
9595
SQL statement "INSERT INTO temporal_merge_plan
9696
SELECT * FROM sql_saga.temporal_merge_plan(
9797
target_table => temporal_merge.target_table,
@@ -121,7 +121,7 @@ CALL sql_saga.temporal_merge(
121121
natural_identity_columns => ARRAY['org_nr_typo']
122122
);
123123
ERROR: Source table "source_with_typo" must have a "valid_range", "valid_until", or "<NULL>" column.
124-
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 327 at RAISE
124+
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 322 at RAISE
125125
SQL statement "INSERT INTO temporal_merge_plan
126126
SELECT * FROM sql_saga.temporal_merge_plan(
127127
target_table => temporal_merge.target_table,
@@ -151,7 +151,7 @@ CALL sql_saga.temporal_merge(
151151
natural_identity_columns => ARRAY['org_nr']
152152
);
153153
ERROR: Source table "source_with_id" must have a "valid_range", "valid_until", or "<NULL>" column.
154-
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 327 at RAISE
154+
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 322 at RAISE
155155
SQL statement "INSERT INTO temporal_merge_plan
156156
SELECT * FROM sql_saga.temporal_merge_plan(
157157
target_table => temporal_merge.target_table,

expected/091_temporal_merge_error_message_bug.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ CALL sql_saga.temporal_merge(
7373
row_id_column => 'row_id'
7474
);
7575
ERROR: Source table "source_units" must have a "valid_range", "valid_until", or "valid_to" column.
76-
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 327 at RAISE
76+
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 322 at RAISE
7777
SQL statement "INSERT INTO temporal_merge_plan
7878
SELECT * FROM sql_saga.temporal_merge_plan(
7979
target_table => temporal_merge.target_table,
@@ -167,7 +167,7 @@ CALL sql_saga.temporal_merge(
167167
mode => 'MERGE_ENTITY_UPSERT'
168168
);
169169
ERROR: Source table "source_units" must have a "valid_range", "valid_until", or "<NULL>" column.
170-
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 327 at RAISE
170+
CONTEXT: PL/pgSQL function sql_saga.temporal_merge_plan(regclass,regclass,sql_saga.temporal_merge_mode,name,text[],name,name,sql_saga.temporal_merge_delete_mode,jsonb,text[],boolean,boolean) line 322 at RAISE
171171
SQL statement "INSERT INTO temporal_merge_plan
172172
SELECT * FROM sql_saga.temporal_merge_plan(
173173
target_table => temporal_merge.target_table,

expected/099_generate_api_docs.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ CREATE OR REPLACE TEMP VIEW funcs AS
140140
'temporal_merge_cache_key', 'temporal_merge_cache_lookup',
141141
'temporal_merge_cache_store', 'temporal_merge_cache_stats',
142142
'temporal_merge_source_columns_hash', 'temporal_merge_cache_invalidation',
143-
'temporal_merge_invalidate_cache'
143+
'temporal_merge_invalidate_cache', 'temporal_merge_cache_maybe_purge'
144144
);
145145
SELECT
146146
E'\n\n' || string_agg(

0 commit comments

Comments
 (0)