All tables use the network base prefix and live on the main site. They are created by LH_Addresses_Table::maybe_upgrade(), keyed on schema_version() (currently 0.1.0) stored in the network option lh_addresses-schema_version.
id, object_type (user), object_id (user ID)country_code (ISO 3166-1 alpha-2), administrative_area, locality, dependent_locality, postal_code, sorting_code, address_line1, address_line2source (where it came from), created_by, validation_statusgeocode_status (pending, done, failed, skipped), geocode_attempts, geocode_accuracy, geocoded_atcreated, updated (GMT)address_id, blog_id (0 for the member’s own book), type, created. Primary key (address_id, blog_id, type); index on (blog_id, type).
address_id, geo_point (POINT, NOT NULL, spatial index), latitude, longitude. A row exists only once an address is geocoded; it is a side table because a spatial index needs a NOT NULL column.
Rows are updated in place; there are no valid-from or valid-to columns. Changes are meant to be recorded by LH Audit Trail, from the hooks this plugin fires.