Results 138 issues of Jochen Topf

Enums are an interesting datatype in SQL. Enums can be created with `CREATE TYPE` in PostgreSQL. Features: 1. Storage is relatively compact, 4 bytes only. This is less than typical...

As part of #2110 we found that using the binary format for COPY promises some performance benefits. Lets think about what changes we need for that. The [binary format](https://www.postgresql.org/docs/17/sql-copy.html#id-1.9.3.55.9.4) seems...

We have had some code in osm2pgsql basically forever that is supposed to handle the case where a (multi)polygon crosses the 180° line (antimeridian). The idea is as follows: Lets...

Normal osm2pgsql tables have an id column and osm2pgsql make sure to delete objects from them if those objects are deleted or changed. But this is not always the case,...

osm2pgsql doesn't check for settings it doesn't know about so that we can introduce them later without old versions of osm2pgsql breaking. But maybe we should at least check and...

[Storage-Optimizing PostGIS Geometries](http://www.danbaston.com/posts/2018/02/15/optimizing-postgis-geometries.html) describes a neat trick. It should be really simple to build this into osm2pgsql. Question is: Is it worth it for our data?

good for new contributors

In general osm2pgsql is built around the principle that while it does its processing you only look at one OSM object at a time and process that. But this is...

osm2pgsql by default "clusters" all output tables by geometry. I have put "clusters" in quotes, because this doesn't use the CLUSTER functionality of the database, but we are doing this...

Identifiers for classes, functions, classes etc. should [follow our coding styles](https://github.com/osm2pgsql-dev/osm2pgsql/blob/master/CONTRIBUTING.md#code-style). Most use lower case with underscore, classes have postfix `_t` etc. clang-tidy can check this. See https://clang.llvm.org/extra/clang-tidy/checks/readability/identifier-naming.html . Here...

In the pgsql middle we [get the maximum id](https://github.com/osm2pgsql-dev/osm2pgsql/blob/master/src/middle-pgsql.cpp#L113-L123) used for all of the tables when updating. Then we know that we don't need to DELETE any objects with an...

good for new contributors