I have a DBIC class made up using a UNION, something like this
simplified example:
__PACKAGE__->table('nodes');
__PACKAGE__->result_source_instance->is_virtual(1);
__PACKAGE__->result_source_instance->view_definition(
"SELECT
sp_id AS id,
sp_status COLLATE latin1_general_ci AS status,
FROM sp
UNION
SELECT
pr_id AS id,
pr_status COLLATE latin1_general_ci AS status,
FROM pr");
It works fine but I now find I need to delete all records from the
database where status = 'obsolete'.
I've discovered that this doesn't work:
$node_rs->search({status => 'obsolete' })->delete;
and neither does this:
my $obs_node_rs = $node_rs->search({status => 'obsolete' });
while (my $node = $obs_node_rs->next) {
$node->delete;
}
Is there some idiom that does work, or am I going to need to operate on
the individual tables separately (there are more than two, sadly)?
Cheers, Dave
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]