mirror of
https://github.com/LemmyNet/lemmy.git
synced 2025-01-07 02:31:32 +00:00
19 lines
722 B
MySQL
19 lines
722 B
MySQL
|
-- * `smallint` range from https://www.postgresql.org/docs/17/datatype-numeric.html
|
||
|
-- * built-in `random` function has `VOLATILE` and `PARALLEL RESTRICTED` according to:
|
||
|
-- * https://www.postgresql.org/docs/current/parallel-safety.html#PARALLEL-LABELING
|
||
|
-- * https://www.postgresql.org/docs/17/xfunc-volatility.html
|
||
|
CREATE FUNCTION random_smallint ()
|
||
|
RETURNS smallint
|
||
|
LANGUAGE sql
|
||
|
VOLATILE PARALLEL RESTRICTED RETURN random (
|
||
|
-32768, 32767
|
||
|
);
|
||
|
|
||
|
ALTER TABLE community
|
||
|
ADD COLUMN random_number smallint NOT NULL DEFAULT random_smallint ();
|
||
|
|
||
|
CREATE INDEX idx_community_random_number ON community (random_number) INCLUDE (local, nsfw)
|
||
|
WHERE
|
||
|
NOT (deleted OR removed OR visibility = 'Private');
|
||
|
|