Skip to content

Allow primary keys to contain address columns sorted by their resolved values, anf add always-disabled AutoGCConfig to get doltgresql compiling#1224

Merged
nicktobey merged 11 commits intomainfrom
nicktobey/textindexmerge
Feb 25, 2025
Merged

Allow primary keys to contain address columns sorted by their resolved values, anf add always-disabled AutoGCConfig to get doltgresql compiling#1224
nicktobey merged 11 commits intomainfrom
nicktobey/textindexmerge

Conversation

@nicktobey
Copy link
Copy Markdown
Contributor

@nicktobey nicktobey commented Feb 25, 2025

This is a merge of #1219 and #1214

Due to concurrent changes in Dolt, these PRs need to be combined in order to get a clean CI.

@github-actions
Copy link
Copy Markdown
Contributor

Main PR
covering_index_scan_postgres 362.34/s 357.40/s -1.4%
index_join_postgres 152.39/s 153.91/s +0.9%
index_join_scan_postgres 182.62/s 183.25/s +0.3%
index_scan_postgres 12.61/s 12.20/s -3.3%
oltp_point_select 2742.94/s 2794.58/s +1.8%
oltp_read_only 1823.71/s 1842.41/s +1.0%
select_random_points 110.55/s 109.59/s -0.9%
select_random_ranges 130.82/s 131.36/s +0.4%
table_scan_postgres 10.90/s ${\color{red}9.73/s}$ ${\color{red}-10.8\%}$
types_table_scan_postgres 5.54/s 5.23/s -5.6%

@github-actions
Copy link
Copy Markdown
Contributor

Main PR
Total 42090 42090
Successful 15685 15687
Failures 26405 26403
Partial Successes1 5213 5216
Main PR
Successful 37.2654% 37.2701%
Failures 62.7346% 62.7299%

${\color{red}Regressions (2)}$

alter_table

QUERY:          alter table skip_wal_skip_rewrite_index alter c type varchar(20);
RECEIVED ERROR: interface conversion: sql.Type is *types.DoltgresType, not types.StringType
QUERY:          alter table at_partitioned alter column name type varchar(127);
RECEIVED ERROR: interface conversion: sql.Type is *types.DoltgresType, not types.StringType

${\color{lightgreen}Progressions (3)}$

domain

QUERY: select '{1,2,3}'::dia;

with

QUERY: SELECT count(*) FROM (
    WITH RECURSIVE t(n) AS (
        SELECT 1 UNION ALL SELECT n + 1 FROM t WHERE n < 500
    )
    SELECT * FROM t) AS t WHERE n < (
        SELECT count(*) FROM (
            WITH RECURSIVE t(n) AS (
                   SELECT 1 UNION ALL SELECT n + 1 FROM t WHERE n < 100
                )
            SELECT * FROM t WHERE n < 50000
         ) AS t WHERE n < 100);
QUERY: WITH RECURSIVE
   x(id) AS
     (VALUES (1) UNION ALL SELECT id+1 FROM x WHERE id < 5),
   y(id) AS
     (VALUES (1) UNION ALL SELECT id+1 FROM x WHERE id < 10)
 SELECT y.*, x.* FROM y LEFT JOIN x USING (id);

Footnotes

  1. These are tests that we're marking as Successful, however they do not match the expected output in some way. This is due to small differences, such as different wording on the error messages, or the column names being incorrect while the data itself is correct.

@nicktobey nicktobey changed the title DO NOT SUBMIT test fixing dolt bump Allow primary keys to contain address columns sorted by their resolved values, anf add always-disabled AutoGCConfig to get doltgresql compiling Feb 25, 2025
Copy link
Copy Markdown
Member

@zachmu zachmu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@nicktobey
Copy link
Copy Markdown
Contributor Author

The performance regression is expected, and a consequence of making table scans more correct. We expect TOAST types to address this.

@nicktobey nicktobey merged commit cfc4340 into main Feb 25, 2025
18 checks passed
@nicktobey nicktobey deleted the nicktobey/textindexmerge branch February 25, 2025 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants