At present, master/slave relationships in FreshPorts are not stored optimally. Each port has a field, master_port, which contains the category/port of its master_port, otherwise, it is an empty string.
The ideal situation would be a table such as this:
create table master_slave ( master_port_id integer not null, slave_port_id integer not null, primary key (master_port_id, slave_port_id) ); alter table master_slave add foreign key (master_port_id) references ports (id) on update cascade on delete cascade; alter table master_slave add foreign key (slave_port_id) references ports (id) on update cascade on delete cascade;
This would allow me to easiliy create triggers to clear the cache for both master and slave ports. It is also the right structure to use. I think I’ve run out of time to do this today.