visch
12/14/2022, 2:38 AMvisch
12/14/2022, 2:42 AMversion: 1
send_anonymous_usage_stats: true
project_id: "tap-postgres"
plugins:
extractors:
- name: "tap-postgres"
namespace: "tap_postgres"
pip_url: -e .
capabilities:
- state
- catalog
- discover
config:
sqlalchemy_url: "<postgresql://postgres:postgres@localhost:5432/postgres>"
settings:
- name: sqlalchemy_url
kind: password
select:
- "public-test_replication_key.*"
metadata:
public-test_replication_key:
replication-key: "updated_at"
replication-method: "INCREMENTAL"
loaders:
- name: target-jsonl
variant: andyh1203
pip_url: target-jsonl
Outputs a catalog with
meltano invoke --dump=catalog tap-postgres > catalog.json
Puts
replication-key: "updated_at"
replication-method: "INCREMENTAL"
In the stream
of public-test_replication_key
's breadcrumb=[], metadata
object , and it also adds a key to the top level object of stream
of "replication_key":"updated_at"
(I didn't instruct this to happen which throws me a bit).
Without that replication_key
at the top level the tap doesn't' realize it should be doing an incremental sync which is odd to me. Maybe this is a bug with the SDK? Also seems interesting that meltano adds this key to the catalog? Maybe Meltano is on purpose and the sdk isn't? Maybe I'm mistaken in some way
PR Incoming with tap-postgres which should show this in a little bit of an easier form to readvisch
12/14/2022, 2:59 AMaaronsteers
12/14/2022, 6:00 PM[]
breadcrumb. I'd have to look a bit deeper into the spec to confirm.
cc @edgar_ramirez_mondragonedgar_ramirez_mondragon
12/14/2022, 6:29 PMvisch
12/14/2022, 9:11 PMvisch
12/14/2022, 9:11 PMaaronsteers
12/14/2022, 9:16 PMaaronsteers
12/14/2022, 9:16 PMaaronsteers
12/14/2022, 9:16 PMedgar_ramirez_mondragon
12/14/2022, 9:38 PMI’d suggest we coalesce from one to the other in the SDK when parsing - so one or the other would be sufficient.I agree. Although after diving a bit I can’t tell where in the SDK that’s currently being read from the catalog entry’s top-level 🤔