Replies: 6 comments 5 replies
-
The design of API and config above is simple and expressive. : D Feature count limitMaybe it's an opportunity to resolve #384 .How about give Optional global and inline options:feature_limit. Like: server:
....
feature_limit: 10000
....
sources:
postgres:
....
tables:
tbl1:
....
feature_limit:5000
.... Duplicate idA warning(and suggest user use aliases in config file?) and automatically rename duplicates like someDuplicate1,someDuplicate2..etc? Composite
server:
Composite:
"compositeid1": tbl1,tbl2
"compositeid2": tbl3,tbl4, Positoin of alias partMaybe place alias part under pg if it is dedicated to pg? |
Beta Was this translation helpful? Give feedback.
-
I keep making more and more changes to the above proposal. URL suffixes, aliases, overall structure, etc. See edit history to see changes |
Beta Was this translation helpful? Give feedback.
-
I have not yet gone through all the changes, but have a comment about breaking things and being backwards compatible. Martin is not yet 1.0 so breaking things is not really a problem. Adding code for backwards compatibility should not be needed. BUT: Changing stuff just for the sake of changing things should be avoided. For example .pbf is the default ending used everywhere. .mvt is quite uncommon. Every change should have solve a clear problem. |
Beta Was this translation helpful? Give feedback.
-
I have no opinion about .mvt or .pbf or leaving it away. I, as a martin user, just would like to see benefits of potentially breaking changes. Else flashbacks from JS libraries are kicking in.
I agree, but everyone is having the .pbf extension, so users are familiar with the default zxy.pbf schema. I don't see a reason for change.
Sure, we could do that for users who do not want to setup nginx. But martin definitely will be worse at doing this job compared to nginx. I think we should start from real problems users have and then develop solutions. We should not start with the solution. Else we might get feature requests like:
|
Beta Was this translation helpful? Give feedback.
-
You could slap a versioning prefix to lessen the impact of breaking changes. |
Beta Was this translation helpful? Give feedback.
-
For the record: It seems these changes were done in #456 and released with v0.7.0 https://github.com/maplibre/martin/releases/tag/v0.7.0 release. Is there a suggested/tested migration path (for users with Nginx)? |
Beta Was this translation helpful? Give feedback.
-
I would like to propose a number changes to Martin:
URL changes
/rpc/<id>/...
paths. For backward support, we could do a redirect to/<id>/...
public.mytable
..pbf
,.json
, etc./<id>/z/x/y
/<id>
/
TODO: This endpoint may need to be reworked - we do not want to expose too much information about the internal configuration here.
/health
OK
simple text responseURL source identifiers
[_a-z0-9]+
for simplicity. No commas or slashes.-
,_
, and.
-- having dots allowpublic.mytable
style naming, which somewhat exposes internal postgreSQL detail, but this might be ok.index
orrpc
--on-id-conflict (stop | rename | ignore)
CLI/config setting that will control what Martin does in case of an IDrename
mode, add a counter at the end of an id, e.g.tbl
,tbl1
,tbl2
, ...ignore
mode, some arbitrary source ID wins (possibly the latest one in the processing queue)Source auto-discovery
We want to have a simple no-configuration mode, so that developers can start using Martin with the least amount of pain:
DATABASE_URL
env var is not set, and Martin started with no parameters, look in the current directory for the*.mbtiles
files, and make them all available as sourcesdiscover_tables_as: (table | schema_table | schema_table_column)
config parameter. Depending on the setting, tables with geo columns will becometable
,schema.table
orschema.table.geo_column
sources.discover_funcs_as: (func | schema_func)
config parameter. Depending on the setting, functions will becomefunc
orschema.func
sources.Per-source Configuration
Proposed Config Structure
Beta Was this translation helpful? Give feedback.
All reactions