@@ -628,7 +628,8 @@ void Print_Statement::tags_quadtile
628628 if (++element_count > limit)
629629 return ;
630630 print_item (target, item_it->first .val (), *it2, &(tags_by_id[it2->id ]),
631- meta_printer.get (item_it->first , it2->id ), &(meta_printer.users ()));
631+ meta_printer.get (item_it->first , it2->id ),
632+ meta_file_prop ? &(rman.users ()) : 0 );
632633 }
633634 ++item_it;
634635 }
@@ -710,7 +711,7 @@ void Print_Statement::tags_quadtile_attic
710711 meta = current_meta_printer.get (item_it->first , it2->id , it2->timestamp );
711712 print_item (target, item_it->first .val (), *it2,
712713 &(tags_by_id[Attic< typename Object::Id_Type >(it2->id , it2->timestamp )]),
713- meta, &(current_meta_printer .users ()));
714+ meta, &(rman .users ()));
714715 }
715716 ++item_it;
716717 }
@@ -937,10 +938,12 @@ void Print_Statement::tags_by_id
937938 (items_by_id[i.val ()].first ->id ));
938939 if (++element_count > limit)
939940 return ;
940- print_item (target, items_by_id[i.val ()].second , *(items_by_id[i.val ()].first ),
941- &(tags_by_id[items_by_id[i.val ()].first ->id .val ()]),
942- (meta_it != metadata.end () && meta_it->ref == items_by_id[i.val ()].first ->id ) ?
943- &*meta_it : 0 , &(meta_printer.users ()));
941+ if (meta_it != metadata.end () && meta_it->ref == items_by_id[i.val ()].first ->id )
942+ print_item (target, items_by_id[i.val ()].second , *(items_by_id[i.val ()].first ),
943+ &(tags_by_id[items_by_id[i.val ()].first ->id .val ()]), &*meta_it, &(rman.users ()));
944+ else
945+ print_item (target, items_by_id[i.val ()].second , *(items_by_id[i.val ()].first ),
946+ &(tags_by_id[items_by_id[i.val ()].first ->id .val ()]), 0 , 0 );
944947 }
945948 }
946949}
@@ -1095,7 +1098,7 @@ void Print_Statement::tags_by_id_attic
10951098 print_item (target, items_by_id[i.val ()].idx .val (), *items_by_id[i.val ()].obj ,
10961099 &(current_tags_by_id[items_by_id[i.val ()].obj ->id .val ()]),
10971100 (meta_it != only_current_metadata.end () && meta_it->ref == items_by_id[i.val ()].obj ->id ) ?
1098- &*meta_it : 0 , &(only_current_meta_printer .users ()));
1101+ &*meta_it : 0 , &(rman .users ()));
10991102 }
11001103 else
11011104 {
@@ -1106,7 +1109,7 @@ void Print_Statement::tags_by_id_attic
11061109 Attic< Object >(*items_by_id[i.val ()].obj , items_by_id[i.val ()].timestamp ),
11071110 &(attic_tags_by_id[Attic< typename Object::Id_Type >
11081111 (items_by_id[i.val ()].obj ->id , items_by_id[i.val ()].timestamp )]),
1109- meta_it != attic_metadata.end () ? &*meta_it : 0 , ¤t_meta_printer .users ());
1112+ meta_it != attic_metadata.end () ? &*meta_it : 0 , &rman .users ());
11101113 }
11111114 }
11121115 }
@@ -2340,9 +2343,6 @@ void Print_Statement::execute(Resource_Manager& rman)
23402343
23412344 if (mode & Print_Target::PRINT_TAGS)
23422345 {
2343- User_Data_Cache* user_data_cache =
2344- (collection_mode == collect_rhs ? new User_Data_Cache (*rman.get_transaction ()) : 0 );
2345-
23462346 if (order == order_by_id)
23472347 {
23482348 if (rman.get_desired_timestamp () == NOW)
@@ -2360,7 +2360,7 @@ void Print_Statement::execute(Resource_Manager& rman)
23602360 element_count);
23612361
23622362 if (collection_mode == collect_rhs)
2363- collection_print_target->clear_nodes (rman, &user_data_cache-> users (), add_deletion_information);
2363+ collection_print_target->clear_nodes (rman, &rman. users (), add_deletion_information);
23642364
23652365 if (rman.get_desired_timestamp () == NOW)
23662366 tags_by_id (mit->second .ways , *osm_base_settings ().WAY_TAGS_LOCAL ,
@@ -2377,7 +2377,7 @@ void Print_Statement::execute(Resource_Manager& rman)
23772377 element_count);
23782378
23792379 if (collection_mode == collect_rhs)
2380- collection_print_target->clear_ways (rman, &user_data_cache-> users (), add_deletion_information);
2380+ collection_print_target->clear_ways (rman, &rman. users (), add_deletion_information);
23812381
23822382 if (rman.get_desired_timestamp () == NOW)
23832383 tags_by_id (mit->second .relations , *osm_base_settings ().RELATION_TAGS_LOCAL ,
@@ -2394,7 +2394,7 @@ void Print_Statement::execute(Resource_Manager& rman)
23942394 element_count);
23952395
23962396 if (collection_mode == collect_rhs)
2397- collection_print_target->clear_relations (rman, &user_data_cache-> users (), add_deletion_information);
2397+ collection_print_target->clear_relations (rman, &rman. users (), add_deletion_information);
23982398
23992399 if (rman.get_area_transaction ())
24002400 tags_by_id (mit->second .areas , *area_settings ().AREA_TAGS_LOCAL ,
@@ -2418,7 +2418,7 @@ void Print_Statement::execute(Resource_Manager& rman)
24182418 }
24192419
24202420 if (collection_mode == collect_rhs)
2421- collection_print_target->clear_nodes (rman, &user_data_cache-> users (), add_deletion_information);
2421+ collection_print_target->clear_nodes (rman, &rman. users (), add_deletion_information);
24222422
24232423 tags_quadtile (mit->second .ways , *osm_base_settings ().WAY_TAGS_LOCAL ,
24242424 *target, rman, *rman.get_transaction (),
@@ -2435,7 +2435,7 @@ void Print_Statement::execute(Resource_Manager& rman)
24352435 }
24362436
24372437 if (collection_mode == collect_rhs)
2438- collection_print_target->clear_ways (rman, &user_data_cache-> users (), add_deletion_information);
2438+ collection_print_target->clear_ways (rman, &rman. users (), add_deletion_information);
24392439
24402440 tags_quadtile (mit->second .relations , *osm_base_settings ().RELATION_TAGS_LOCAL ,
24412441 *target, rman, *rman.get_transaction (),
@@ -2452,16 +2452,14 @@ void Print_Statement::execute(Resource_Manager& rman)
24522452 }
24532453
24542454 if (collection_mode == collect_rhs)
2455- collection_print_target->clear_relations (rman, &user_data_cache-> users (), add_deletion_information);
2455+ collection_print_target->clear_relations (rman, &rman. users (), add_deletion_information);
24562456
24572457 if (rman.get_area_transaction ())
24582458 {
24592459 tags_quadtile (mit->second .areas , *area_settings ().AREA_TAGS_LOCAL ,
24602460 *target, rman, *rman.get_area_transaction (), 0 , element_count);
24612461 }
24622462 }
2463-
2464- delete user_data_cache;
24652463 }
24662464 else if (mode & Print_Target::PRINT_COUNT)
24672465 {
0 commit comments