Skip to content

Alter Postgres column cache_messages.uid from int to bigint - #10282

Open
KonkenBonken wants to merge 3 commits into
roundcube:masterfrom
KonkenBonken:pgsql-uid-bigint
Open

Alter Postgres column cache_messages.uid from int to bigint#10282
KonkenBonken wants to merge 3 commits into
roundcube:masterfrom
KonkenBonken:pgsql-uid-bigint

Conversation

@KonkenBonken

Copy link
Copy Markdown
Contributor

Fixes #10258

This fixes a bug where the uid column on cache_messages, in Postgres, does not support the full range of possible values for message UID that RFC 3501 allows.

Specifically, the Unique Identifier Message Attribute (UID) is represented as an non-zero unsigned 32-bit integer. The Postgres type integer is represented as a signed 32-bit integer. Opposed to MySQL, Postgres does not support any unsigned integer type.

To resolve this, we update the column type to store the UID as a bigint (signed 64-bit integer).

Comment thread SQL/postgres.initial.sql Outdated
@KonkenBonken

Copy link
Copy Markdown
Contributor Author

What's the matter with Linux / PHP 8.4 and Linux / PHP 8.2 failing it doesn't looks like it caused by any code error in this PR.

@alecpl

alecpl commented Aug 17, 2026

Copy link
Copy Markdown
Member

git.kolab.org where one dependency resides is often overloaded because of AI scrapers. Don't worry about it.

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.

PostgreSQL schema does not confine UID values to the IMAP standard

2 participants