fix: a nested spread embedding now correctly groups by the fields of its top parent relationship

This commit is contained in:
Laurence Isla
2024-08-21 16:56:32 -05:00
parent 3539aaff89
commit e9244f1a4f
5 changed files with 158 additions and 6 deletions
+39
View File
@@ -883,3 +883,42 @@ INSERT INTO budget_expenses VALUES (1, 200.26, 1);
INSERT INTO budget_expenses VALUES (2, 400.26, 3);
INSERT INTO budget_expenses VALUES (3, 100.22, 4);
INSERT INTO budget_expenses VALUES (5, 900.27, 5);
TRUNCATE TABLE factories CASCADE;
INSERT INTO factories VALUES (1, 'Factory A');
INSERT INTO factories VALUES (2, 'Factory B');
INSERT INTO factories VALUES (3, 'Factory C');
INSERT INTO factories VALUES (4, 'Factory D');
TRUNCATE TABLE process_categories CASCADE;
INSERT INTO process_categories VALUES (1, 'Batch');
INSERT INTO process_categories VALUES (2, 'Mass');
TRUNCATE TABLE processes CASCADE;
INSERT INTO processes VALUES (1, 'Process A1', 1, 1);
INSERT INTO processes VALUES (2, 'Process A2', 1, 2);
INSERT INTO processes VALUES (3, 'Process B1', 2, 1);
INSERT INTO processes VALUES (4, 'Process B2', 2, 1);
INSERT INTO processes VALUES (5, 'Process C1', 3, 2);
TRUNCATE TABLE process_costs CASCADE;
INSERT INTO process_costs VALUES (1, 150.00);
INSERT INTO process_costs VALUES (2, 200.00);
INSERT INTO process_costs VALUES (3, 180.00);
INSERT INTO process_costs VALUES (4, 70.00);
INSERT INTO process_costs VALUES (5, 120.00);
TRUNCATE TABLE supervisors CASCADE;
INSERT INTO supervisors VALUES (1, 'Mary');
INSERT INTO supervisors VALUES (2, 'John');
INSERT INTO supervisors VALUES (3, 'Peter');
INSERT INTO supervisors VALUES (4, 'Sarah');
TRUNCATE TABLE process_supervisor CASCADE;
INSERT INTO process_supervisor VALUES (1, 1);
INSERT INTO process_supervisor VALUES (2, 2);
INSERT INTO process_supervisor VALUES (3, 3);
INSERT INTO process_supervisor VALUES (3, 4);
INSERT INTO process_supervisor VALUES (4, 1);
INSERT INTO process_supervisor VALUES (4, 2);
INSERT INTO process_supervisor VALUES (5, 3);
+33
View File
@@ -3749,3 +3749,36 @@ after insert
on infinite_inserts
for each row
execute procedure infinite_inserts();
create table factories (
id int primary key,
name text
);
create table process_categories (
id int primary key,
name text
);
create table processes (
id int primary key,
name text,
factory_id int references factories(id),
category_id int references process_categories(id)
);
create table process_costs (
process_id int references processes(id) primary key,
cost numeric
);
create table supervisors (
id int primary key,
name text
);
create table process_supervisor (
process_id int references processes(id),
supervisor_id int references supervisors(id),
primary key (process_id, supervisor_id)
);