]> git.openstreetmap.org Git - nominatim.git/log
nominatim.git
13 months agowhen adding Tiger data, check first if database is in frozen state
Marc Tobias [Tue, 2 May 2023 16:37:36 +0000 (18:37 +0200)]
when adding Tiger data, check first if database is in frozen state

13 months agoMerge pull request #3006 from biswajit-k/generalize-filter
Sarah Hoffmann [Tue, 11 Apr 2023 17:20:08 +0000 (19:20 +0200)]
Merge pull request #3006 from biswajit-k/generalize-filter

generalize filter function for sanitizers

14 months agoMerge pull request #3030 from lonvia/interpolation-corner-cases
Sarah Hoffmann [Fri, 7 Apr 2023 11:59:52 +0000 (13:59 +0200)]
Merge pull request #3030 from lonvia/interpolation-corner-cases

Fix a number of corner cases with interpolation splitting

14 months agofix a number of corner cases with interpolation splitting
Sarah Hoffmann [Thu, 6 Apr 2023 14:54:00 +0000 (16:54 +0200)]
fix a number of corner cases with interpolation splitting

Snapping a line to a point before splitting was meant to ensure
that the split point is really on the line. However, ST_Snap() does
not always behave well for this case. It may shorten the interpolation
line in some cases with the result that two points housenumbers
suddenly fall on the same point. It might also shorten the line down
to a single point which then makes ST_Split() crash.

Switch to a combination of ST_LineLocatePoint and ST_LineSubString
instead, which guarantees to keep the original geometry. Explicitly
handle the corner cases, where the split point falls on the beginning
or end of the line.

14 months agouse place_to_be_deleted when force deleting objects
Sarah Hoffmann [Tue, 4 Apr 2023 09:09:17 +0000 (11:09 +0200)]
use place_to_be_deleted when force deleting objects

14 months agoMerge pull request #3023 from lonvia/lookup-api
Sarah Hoffmann [Mon, 3 Apr 2023 14:20:47 +0000 (16:20 +0200)]
Merge pull request #3023 from lonvia/lookup-api

Python implementation of Lookup API

14 months agoswitch CLI lookup command to Python implementation
Sarah Hoffmann [Mon, 3 Apr 2023 12:38:40 +0000 (14:38 +0200)]
switch CLI lookup command to Python implementation

14 months agoadd lookup call to server glue
Sarah Hoffmann [Mon, 3 Apr 2023 10:11:23 +0000 (12:11 +0200)]
add lookup call to server glue

14 months agoadd tests for new lookup API
Sarah Hoffmann [Mon, 3 Apr 2023 09:23:51 +0000 (11:23 +0200)]
add tests for new lookup API

14 months agorename lookup() API to details and add lookup call
Sarah Hoffmann [Mon, 3 Apr 2023 09:11:11 +0000 (11:11 +0200)]
rename lookup() API to details and add lookup call

The initial plan to serve /details and /lookup endpoints from
the same API call turned out to be impractical, so the API now
also has deparate functions for both.

14 months agopython lookup: add function for simple lookups
Sarah Hoffmann [Mon, 3 Apr 2023 08:40:38 +0000 (10:40 +0200)]
python lookup: add function for simple lookups

14 months agopython lookup: factor out finding in tables into own function
Sarah Hoffmann [Mon, 3 Apr 2023 08:00:42 +0000 (10:00 +0200)]
python lookup: factor out finding in tables into own function

14 months agoMerge pull request #3021 from lonvia/readd-postalcode-relations
Sarah Hoffmann [Mon, 3 Apr 2023 10:11:49 +0000 (12:11 +0200)]
Merge pull request #3021 from lonvia/readd-postalcode-relations

Flex style: reinstate postalcode relations

14 months agobdd: disable detail tests searching by place ID
Sarah Hoffmann [Mon, 3 Apr 2023 08:07:06 +0000 (10:07 +0200)]
bdd: disable detail tests searching by place ID

Place IDs are not stable and cannot be used in tests.

14 months agoflex style: reinstate postcode boundaries
Sarah Hoffmann [Mon, 3 Apr 2023 07:17:50 +0000 (09:17 +0200)]
flex style: reinstate postcode boundaries

Postcode boundaries don't have a name, so need to be imported
unconditionally.

14 months agogeneralize filter for sanitizers
biswajit-k [Sat, 11 Mar 2023 08:22:07 +0000 (13:52 +0530)]
generalize filter for sanitizers

14 months agoMerge pull request #3019 from lonvia/add-data-postprocessing
Sarah Hoffmann [Fri, 31 Mar 2023 20:19:46 +0000 (22:19 +0200)]
Merge pull request #3019 from lonvia/add-data-postprocessing

Add postprocessing to add-data function

14 months agocall osm2pgsql postprocessing flush_deleted_places() when adding data
Sarah Hoffmann [Tue, 28 Mar 2023 12:48:41 +0000 (14:48 +0200)]
call osm2pgsql postprocessing flush_deleted_places() when adding data

14 months agoMerge pull request #3020 from lonvia/reverse-api
Sarah Hoffmann [Fri, 31 Mar 2023 16:01:50 +0000 (18:01 +0200)]
Merge pull request #3020 from lonvia/reverse-api

Python implementation of reverse

14 months agolimit results for country lookup
Sarah Hoffmann [Thu, 30 Mar 2023 07:58:02 +0000 (09:58 +0200)]
limit results for country lookup

14 months agoadd BDD tests for new layers parameter
Sarah Hoffmann [Wed, 29 Mar 2023 18:49:34 +0000 (20:49 +0200)]
add BDD tests for new layers parameter

14 months agopython reverse: add support for point geometries in interpolations
Sarah Hoffmann [Wed, 29 Mar 2023 15:21:33 +0000 (17:21 +0200)]
python reverse: add support for point geometries in interpolations

14 months agoadd wsgi entry point for falcon server
Sarah Hoffmann [Tue, 28 Mar 2023 13:05:52 +0000 (15:05 +0200)]
add wsgi entry point for falcon server

14 months agoadd wsgi entry point for starlette
Sarah Hoffmann [Tue, 28 Mar 2023 13:03:00 +0000 (15:03 +0200)]
add wsgi entry point for starlette

uvicorn needs a parameter-free function to start.

14 months agoignore broken data in interpolation table
Sarah Hoffmann [Tue, 28 Mar 2023 12:57:39 +0000 (14:57 +0200)]
ignore broken data in interpolation table

14 months agodisable prepared statements
Sarah Hoffmann [Tue, 28 Mar 2023 12:53:45 +0000 (14:53 +0200)]
disable prepared statements

Prepared statements do not work well with the partial indexes that
Nominatim uses because all Python constants are replaced with
parameters. A query like:

  placex.select().where(placex.c.rank_address.between(4, 25)

gets translated into a prepared query with two parameters:

  SELECT * FROM placex WHERE rank_address BETWEEN %s and %s

And this does not work with a partial index of:

  CREATE INDEX on placex(geometry) WHERE rank_address between 4 and 25

14 months agoswitch reverse CLI command to Python implementation
Sarah Hoffmann [Sun, 26 Mar 2023 16:09:33 +0000 (18:09 +0200)]
switch reverse CLI command to Python implementation

14 months agomake sure PHP and Python reverse code does the same
Sarah Hoffmann [Sun, 26 Mar 2023 10:22:34 +0000 (12:22 +0200)]
make sure PHP and Python reverse code does the same

The only allowable difference is precision of coordinates. Python uses
a precision of 7 digits where possible, which corresponds to the
precision of OSM data.

Also fixes some smaller bugs found by the BDD tests.

14 months agoadd server glue for reverse API call
Sarah Hoffmann [Sat, 25 Mar 2023 16:04:02 +0000 (17:04 +0100)]
add server glue for reverse API call

14 months agoadd output formatters for ReverseResults
Sarah Hoffmann [Fri, 24 Mar 2023 20:45:47 +0000 (21:45 +0100)]
add output formatters for ReverseResults

These formatters are written in a way that they can be reused for
search results later.

14 months agoignore NotImplementedErrors when compiling SQL
Sarah Hoffmann [Fri, 24 Mar 2023 10:16:02 +0000 (11:16 +0100)]
ignore NotImplementedErrors when compiling SQL

14 months agofactor out layer checks in reverse function
Sarah Hoffmann [Fri, 24 Mar 2023 09:08:01 +0000 (10:08 +0100)]
factor out layer checks in reverse function

14 months agopython: implement reverse lookup function
Sarah Hoffmann [Thu, 23 Mar 2023 21:38:37 +0000 (22:38 +0100)]
python: implement reverse lookup function

The implementation follows for most part the PHP code but introduces an
additional layer parameter with which the kind of places to be returned
can be restricted. This replaces the hard-coded exclusion lists.

14 months agoadd python implementation of reverse
Sarah Hoffmann [Tue, 21 Mar 2023 23:07:17 +0000 (00:07 +0100)]
add python implementation of reverse

This adds an additional layer parameter and slightly changes the
queries to do more efficient lookups for large area features.

14 months agoapi: make details parameter optional
Sarah Hoffmann [Tue, 21 Mar 2023 16:42:53 +0000 (17:42 +0100)]
api: make details parameter optional

14 months agoapi: generalize error handling
Sarah Hoffmann [Tue, 21 Mar 2023 15:24:26 +0000 (16:24 +0100)]
api: generalize error handling

Return a consistent error response which takes into account the chosen
content type. Also adds tests for V1 server glue.

14 months agosplit SearchResult type
Sarah Hoffmann [Tue, 14 Mar 2023 13:21:35 +0000 (14:21 +0100)]
split SearchResult type

Use adapted types for the different result types. This makes it
easier to have adapted output formatting and means there are only
result fields that are filled.

14 months agoMerge pull request #3013 from mtmail/changelog-4-2-x
Sarah Hoffmann [Thu, 23 Mar 2023 08:20:25 +0000 (09:20 +0100)]
Merge pull request #3013 from mtmail/changelog-4-2-x

update ChangeLog to verison 4.2.2

14 months agoupdate ChangeLog to verison 4.2.2
marc tobias [Wed, 22 Mar 2023 22:45:59 +0000 (23:45 +0100)]
update ChangeLog to verison 4.2.2

14 months agoMerge pull request #3011 from lonvia/fix-flex-scripts
Sarah Hoffmann [Tue, 21 Mar 2023 08:58:53 +0000 (09:58 +0100)]
Merge pull request #3011 from lonvia/fix-flex-scripts

Fix extra tag handling in some flex scripts

14 months agoMerge pull request #3010 from lonvia/adapt-zoom-for-reverse
Sarah Hoffmann [Tue, 21 Mar 2023 07:56:25 +0000 (08:56 +0100)]
Merge pull request #3010 from lonvia/adapt-zoom-for-reverse

Minor adjustments to reverse zoom translation

14 months agoremove more tags from full style
Sarah Hoffmann [Mon, 20 Mar 2023 20:42:24 +0000 (21:42 +0100)]
remove more tags from full style

The full style should only save the necessary tags needed for
processing.

14 months agofix handling of unused extra tags
Sarah Hoffmann [Mon, 20 Mar 2023 20:20:27 +0000 (21:20 +0100)]
fix handling of unused extra tags

The tags can only be moved to extra tags after the main tags have been
handled.

14 months agominor adjustment to reverse zoom translation
Sarah Hoffmann [Mon, 20 Mar 2023 19:47:42 +0000 (20:47 +0100)]
minor adjustment to reverse zoom translation

Add a 'village' zoom level at 13 between town and neighbourhood
and a all locality-like objects for zoom 15. These zoom levels had
the same behaviour as the lower level so far. However, the distinction
for village and locality may be useful at times.

14 months agoMerge pull request #3003 from lonvia/rework-bdd-api-tests
Sarah Hoffmann [Fri, 10 Mar 2023 09:01:24 +0000 (10:01 +0100)]
Merge pull request #3003 from lonvia/rework-bdd-api-tests

Reorganize code around BDD API tests and extend reverse API tests

14 months agobdd: be more fuzzy with coordinate comparisons
Sarah Hoffmann [Thu, 9 Mar 2023 20:47:29 +0000 (21:47 +0100)]
bdd: be more fuzzy with coordinate comparisons

14 months agoavoid recent Python dialect
Sarah Hoffmann [Thu, 9 Mar 2023 19:57:43 +0000 (20:57 +0100)]
avoid recent Python dialect

14 months agofix polygon simplification in reverse results
Sarah Hoffmann [Thu, 9 Mar 2023 19:24:07 +0000 (20:24 +0100)]
fix polygon simplification in reverse results

polygon_threshold has never really worked for reverse.

14 months agobdd: extend reverse API tests for format checks
Sarah Hoffmann [Thu, 9 Mar 2023 19:20:50 +0000 (20:20 +0100)]
bdd: extend reverse API tests for format checks

Reorganise the API reverse tests and extend the checks for the
output format, testing for all expected fields.

14 months agobdd: add tests for valid debug output
Sarah Hoffmann [Thu, 9 Mar 2023 19:10:51 +0000 (20:10 +0100)]
bdd: add tests for valid debug output

14 months agobdd: replace old formatting strings
Sarah Hoffmann [Thu, 9 Mar 2023 18:49:55 +0000 (19:49 +0100)]
bdd: replace old formatting strings

14 months agobdd: more format checks for reverse XML
Sarah Hoffmann [Thu, 9 Mar 2023 18:40:24 +0000 (19:40 +0100)]
bdd: more format checks for reverse XML

14 months agobdd: new step variant 'result contains in field'
Sarah Hoffmann [Thu, 9 Mar 2023 18:31:21 +0000 (19:31 +0100)]
bdd: new step variant 'result contains in field'

This replaces the + notation for recursing into result dictionaries.

14 months agobdd: factor out computation of result to-check lists
Sarah Hoffmann [Thu, 9 Mar 2023 17:01:45 +0000 (18:01 +0100)]
bdd: factor out computation of result to-check lists

14 months agobdd: replace property_list construct with standard check functions
Sarah Hoffmann [Thu, 9 Mar 2023 16:55:27 +0000 (17:55 +0100)]
bdd: replace property_list construct with standard check functions

14 months agobdd: remove special case for osm_type field
Sarah Hoffmann [Thu, 9 Mar 2023 16:44:34 +0000 (17:44 +0100)]
bdd: remove special case for osm_type field

The fuzzy field check hide cover formatting errors. Use 'osm' when
only caring about the conent.

14 months agobdd: reorganise field comparisons
Sarah Hoffmann [Thu, 9 Mar 2023 16:05:05 +0000 (17:05 +0100)]
bdd: reorganise field comparisons

Move comparision on Field values from assert_field() into a
comparator class. Replace BadRowValueAssert with a simpler
check_row() function.

14 months agobdd: use new check_for_attributes() function also in steps
Sarah Hoffmann [Thu, 9 Mar 2023 15:44:07 +0000 (16:44 +0100)]
bdd: use new check_for_attributes() function also in steps

14 months agobdd: fully check correctness of geojson and geocodejson
Sarah Hoffmann [Thu, 9 Mar 2023 15:36:46 +0000 (16:36 +0100)]
bdd: fully check correctness of geojson and geocodejson

Parse code now checks presence of all required fields and exports
all fields for inspection.

14 months agobdd: remove OrderedDict
Sarah Hoffmann [Thu, 9 Mar 2023 15:08:39 +0000 (16:08 +0100)]
bdd: remove OrderedDict

dicts are guaranteed to keep insertion order by since Python 3.7, making
use of ORderedDict mute.

15 months agoMerge pull request #2993 from biswajit-k/delete-tags
Sarah Hoffmann [Thu, 9 Mar 2023 13:31:45 +0000 (14:31 +0100)]
Merge pull request #2993 from biswajit-k/delete-tags

Adds sanitizer for preventing certain tags to enter search index based on parameters

15 months agoAdds sanitizer for preventing certain tags to enter search index based on parameters
biswajit-k [Thu, 2 Mar 2023 14:55:06 +0000 (20:25 +0530)]
Adds sanitizer for preventing certain tags to enter search index based on parameters

fix: pylint error

added docs for delete tags sanitizer

fixed typos in docs and code comments

fix: python typechecking error

fixed rank address type

Revert "fixed typos in docs and code comments"

This reverts commit 6839eea755a87f557895f30524fb5c03dd983d60.

added default parameters and refactored code

added test for all parameters

15 months agoMerge pull request #2999 from biswajit-k/fix-typos
Sarah Hoffmann [Wed, 8 Mar 2023 07:55:27 +0000 (08:55 +0100)]
Merge pull request #2999 from biswajit-k/fix-typos

fixed typos in docs and code comments

15 months agofixed typos in docs and code comments
biswajit-k [Mon, 6 Mar 2023 11:39:38 +0000 (17:09 +0530)]
fixed typos in docs and code comments

15 months agoadd latest security incident
Sarah Hoffmann [Wed, 22 Feb 2023 10:24:04 +0000 (11:24 +0100)]
add latest security incident

Also removes 3.6 which is no longer supported.

15 months agoharmonize flags for PHP's htmlspecialchars
Sarah Hoffmann [Mon, 20 Feb 2023 15:46:53 +0000 (16:46 +0100)]
harmonize flags for PHP's htmlspecialchars

15 months agoadapt PHP tests for debug output
Sarah Hoffmann [Mon, 20 Feb 2023 15:23:28 +0000 (16:23 +0100)]
adapt PHP tests for debug output

15 months agoproperly encode special HTML characters in debug mode
Sarah Hoffmann [Mon, 20 Feb 2023 14:41:04 +0000 (15:41 +0100)]
properly encode special HTML characters in debug mode

15 months agoMerge pull request #2986 from mtmail/add-more-languages-from-osm-wiki
Sarah Hoffmann [Mon, 20 Feb 2023 10:12:08 +0000 (11:12 +0100)]
Merge pull request #2986 from mtmail/add-more-languages-from-osm-wiki

sp_wiki_loader: add more default languages

15 months agosp_wiki_loader: add more default languages
marc tobias [Fri, 17 Feb 2023 23:31:21 +0000 (00:31 +0100)]
sp_wiki_loader: add more default languages

15 months agoadd timestamp to debug SQL output
Sarah Hoffmann [Sat, 18 Feb 2023 08:49:30 +0000 (09:49 +0100)]
add timestamp to debug SQL output

15 months agoadd warning for reverse index migration
Sarah Hoffmann [Sat, 18 Feb 2023 08:43:37 +0000 (09:43 +0100)]
add warning for reverse index migration

15 months agoMerge pull request #2985 from lonvia/fix-place-rank-inheritance
Sarah Hoffmann [Sat, 18 Feb 2023 08:35:19 +0000 (09:35 +0100)]
Merge pull request #2985 from lonvia/fix-place-rank-inheritance

Restrict place rank inheritance to address items

15 months agorestrict place rank inheritance to address items
Sarah Hoffmann [Fri, 17 Feb 2023 15:25:26 +0000 (16:25 +0100)]
restrict place rank inheritance to address items

Place tags must have no influence on street- or POI-level
objects.

15 months agoMerge pull request #2983 from lonvia/improve-reverse-place-node-lookup
Sarah Hoffmann [Fri, 17 Feb 2023 14:51:55 +0000 (15:51 +0100)]
Merge pull request #2983 from lonvia/improve-reverse-place-node-lookup

Improve reverse place node lookup

15 months agouse reverse buffered index for search within country
Sarah Hoffmann [Fri, 17 Feb 2023 10:27:50 +0000 (11:27 +0100)]
use reverse buffered index for search within country

15 months agospeed up reverse lookup of place nodes
Sarah Hoffmann [Fri, 17 Feb 2023 09:31:49 +0000 (10:31 +0100)]
speed up reverse lookup of place nodes

Add a special index that contains the place nodes buffered by their
respective area according to their search rank. This replaces the
maximum area search for place nodes and reduces drastically the number
of place nodes that need to be retrieved.

15 months agoMerge pull request #2981 from lonvia/add-point-wkb-decoder
Sarah Hoffmann [Fri, 17 Feb 2023 07:40:14 +0000 (08:40 +0100)]
Merge pull request #2981 from lonvia/add-point-wkb-decoder

Python frontend: add a WKB decoder for the Point class

15 months agoadd a WKB decoder for the Point class
Sarah Hoffmann [Thu, 16 Feb 2023 14:35:54 +0000 (15:35 +0100)]
add a WKB decoder for the Point class

This allows to return point geometries from the database and makes
the SQL a bit simpler.

15 months agoMerge pull request #2978 from lonvia/add-debug-view
Sarah Hoffmann [Tue, 14 Feb 2023 13:08:42 +0000 (14:08 +0100)]
Merge pull request #2978 from lonvia/add-debug-view

Add debug view to Python API

15 months agoadd typing information for pygments to requirements
Sarah Hoffmann [Sun, 12 Feb 2023 09:17:08 +0000 (10:17 +0100)]
add typing information for pygments to requirements

15 months agoactions: use token to avoid rate limiting
Sarah Hoffmann [Sun, 12 Feb 2023 08:34:22 +0000 (09:34 +0100)]
actions: use token to avoid rate limiting

15 months agoadd debug output for unit tests
Sarah Hoffmann [Tue, 14 Feb 2023 10:05:37 +0000 (11:05 +0100)]
add debug output for unit tests

This uses the debug output facility meant for pretty HTML output
to give us debugging output for the unit tests.

15 months agoadd HTML-formatted debug output to lookup
Sarah Hoffmann [Sat, 11 Feb 2023 19:42:24 +0000 (20:42 +0100)]
add HTML-formatted debug output to lookup

15 months agoMerge pull request #2974 from bloom256/main-tag-in-reverse-lookup
Sarah Hoffmann [Sat, 11 Feb 2023 10:01:11 +0000 (11:01 +0100)]
Merge pull request #2974 from bloom256/main-tag-in-reverse-lookup

Main tag information added to geocodejson in reverse geocoding

15 months agoMerge pull request #2975 from bloom256/typo-fix
Sarah Hoffmann [Sat, 11 Feb 2023 10:00:15 +0000 (11:00 +0100)]
Merge pull request #2975 from bloom256/typo-fix

typo fixed

15 months agotypo fixed
danil [Tue, 7 Feb 2023 20:21:58 +0000 (00:21 +0400)]
typo fixed

15 months agoMain tag information added to geocodejson in reverse geocoding
danil [Tue, 7 Feb 2023 20:19:49 +0000 (00:19 +0400)]
Main tag information added to geocodejson in reverse geocoding

16 months agoMerge pull request #2970 from lonvia/add-details-endpoint
Sarah Hoffmann [Mon, 6 Feb 2023 15:32:35 +0000 (16:32 +0100)]
Merge pull request #2970 from lonvia/add-details-endpoint

Python implementation of details endpoint

16 months agoactions: force PHPUnit 9
Sarah Hoffmann [Sat, 4 Feb 2023 13:23:19 +0000 (14:23 +0100)]
actions: force PHPUnit 9

PHPUnit 10 is incompatible with our tests. Not worth adapting anymore.

16 months agoadd tests for details result formatting and trim results
Sarah Hoffmann [Sat, 4 Feb 2023 13:17:47 +0000 (14:17 +0100)]
add tests for details result formatting and trim results

Values that are None are no longer included in the output to save
a bit of bandwidth.

16 months agoexpand details BDD tests
Sarah Hoffmann [Fri, 3 Feb 2023 20:59:16 +0000 (21:59 +0100)]
expand details BDD tests

There are now minor differences in the output between PHP and
Python versions, so introduce specific tests.

16 months agoimplement details endpoint in Python servers
Sarah Hoffmann [Fri, 3 Feb 2023 20:14:33 +0000 (21:14 +0100)]
implement details endpoint in Python servers

16 months agoswitch details cli command to new Python implementation
Sarah Hoffmann [Fri, 3 Feb 2023 09:43:54 +0000 (10:43 +0100)]
switch details cli command to new Python implementation

16 months agoadd lookup of postcdoe data
Sarah Hoffmann [Thu, 2 Feb 2023 15:22:18 +0000 (16:22 +0100)]
add lookup of postcdoe data

16 months agoadd lookup of tiger data
Sarah Hoffmann [Thu, 2 Feb 2023 14:31:42 +0000 (15:31 +0100)]
add lookup of tiger data

16 months agoadd lookup of address interpolations
Sarah Hoffmann [Thu, 2 Feb 2023 14:01:54 +0000 (15:01 +0100)]
add lookup of address interpolations

16 months agofix new linting issues from pylint 2.16
Sarah Hoffmann [Thu, 2 Feb 2023 08:48:20 +0000 (09:48 +0100)]
fix new linting issues from pylint 2.16

16 months agoadd unit tests for lookup function
Sarah Hoffmann [Wed, 1 Feb 2023 21:59:31 +0000 (22:59 +0100)]
add unit tests for lookup function

16 months agoimprove scaffolding for API unit tests
Sarah Hoffmann [Wed, 1 Feb 2023 09:22:53 +0000 (10:22 +0100)]
improve scaffolding for API unit tests

Use the static table definition to create the test database.
Add helper function to simplify filling the tables.