OSM_Element_Metadata doesn't initialize its variables #530
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Recently I've switched my minute diffs from http://download.openstreetmap.fr/replication/ to http://download.geofabrik.de/europe/.
And while openstreetmap.fr provides all the metadata information, Geofabrik provides only version information (and no values for attributes like
changeset
,user
,uid
). Using such diffs for update_database results in database "corruption", as random values land inchangeset
.As I've checked source code node_start, way_start and relation_start they create OSM_Element_Metadata object but
changeset
,user_id
anduser_name
fields are not set if not provided in source. Object constructor does not initializechangeset
(and I guess that constructor depends on implicit empty string initialization foruser_name
), thoughuser_id
is.Looks like following change fixes problem.
Though looking around the code, it might be needed to initialize more variables (
timestamp
,version
), but I do not know, how this might affect performance.