… | |
… | |
152 | }; |
152 | }; |
153 | |
153 | |
154 | sub find($) { |
154 | sub find($) { |
155 | my ($tag) = @_; |
155 | my ($tag) = @_; |
156 | |
156 | |
157 | my @res; |
|
|
158 | |
|
|
159 | utf8::encode (my $key = $tag); |
157 | utf8::encode (my $key = $tag); |
160 | BDB::db_get $db_target, undef, $key, my $data; |
158 | BDB::db_get $db_target, undef, $key, my $data; |
161 | utf8::decode $data; |
159 | utf8::decode $data; |
162 | |
160 | |
163 | for my $map ( |
161 | map { $_->load; $_->find_tagged_objects ($tag) } |
164 | grep $_, |
162 | grep $_, |
165 | map { cf::map::find $_ } |
163 | map { cf::map::find $_ } |
166 | grep s/^s//, |
164 | grep s/^s//, |
167 | split /\x00/, $data |
165 | split /\x00/, $data |
168 | ) { |
|
|
169 | warn "map $map,$tag\n";#d# |
|
|
170 | $map->load; |
|
|
171 | |
|
|
172 | push @res, $map->find_tagged_objects ($tag); |
|
|
173 | |
|
|
174 | warn "tag<$tag>map<$map>res<@res>\n";#d# |
|
|
175 | } |
|
|
176 | |
|
|
177 | @res |
|
|
178 | } |
166 | } |