add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
version
PostgreSQL 12.17 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20), 64-bit
SELECT 1
CREATE TABLE
INSERT 0 5
user_id name
1 Sam
2 Linda
3 George
4 Tom
5 Ritta
SELECT 5
CREATE TABLE
CREATE INDEX
INSERT 0 4
f_id user_id_1 user_id_2 status friends_since
1 1 3 P 2023-11-27
2 2 5 P 2023-11-27
3 3 4 P 2023-11-27
4 5 1 P 2023-11-27
SELECT 4
ERROR:  duplicate key value violates unique constraint "already_friends"
DETAIL:  Key (LEAST(user_id_1, user_id_2), GREATEST(user_id_1, user_id_2))=(1, 5) already exists.
ERROR:  new row for relation "friends" violates check constraint "cannot_friend_self"
DETAIL:  Failing row contains (6, 3, 3, P, 2023-11-27).
INSERT 0 6
f_id user_id_1 user_id_2 status friends_since
7 1 2 P 2023-11-27
1 1 3 P 2023-11-27
9 1 4 P 2023-11-27
12 2 3 P 2023-11-27
13 2 4 P 2023-11-27
2 2 5 P 2023-11-27
3 3 4 P 2023-11-27
18 3 5 P 2023-11-27
22 4 5 P 2023-11-27
4 5 1 P 2023-11-27
SELECT 10
INSERT 0 2
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
user_name_in friend_name_in
Donald null
Vladimir null
SELECT 2
make_friends
null
SELECT 1
user_name friends_name
Donald Vladimir
SELECT 1
user_name friends_name
Vladimir Donald
SELECT 1
user_name friends_name
Sam George
Sam Linda
Sam Ritta
Sam Tom
SELECT 4