1
0
mirror of synced 2026-01-05 21:02:13 -05:00
Commit Graph

347 Commits

Author SHA1 Message Date
Jared Rhizor
b4793b2510 add AIRBYTE_ENTRYPOINT for kubernetes support (#3973)
* add AIRBYTE_ENTRYPOINT for kubernetes support

* bump versions

* bump version in seed

* Update generic template

* keep scaffold sources at 0.1.0

* add missing newline

* handle python base versions correctly

* re-bump mysql and postgres sources

* re-bump snowflake destination

* add skip tests option

* switch to running tests

* reverse conditional to make it safer

* fix publish to include the test running

* fix iterable version

* fix file generation

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
2021-06-09 13:01:45 -07:00
Marcos Marx
05b8a2c532 Add method field on spec.json connectors (snowflake and postgres) (#3960)
* add prop for oneOf snowflake

* add method field to pg and update config

* correct pg tests

* change version in docker file
2021-06-08 20:11:45 -03:00
Andrii Leonets
213fae17a1 MySQL source: Add comprehensive data type test (#3810) 2021-06-07 14:01:02 +03:00
Subodh Kant Chaturvedi
7ccc4fafe8 🎉 source: implementation for mysql cdc (#3505)
* source: implementation for mysql cdc

* add target file and position

* dont want to add file in this PR

* refine tests + add comments

* fix typo

* address review comments

* fix formatting error

* resolve conflicts

* update docs + bump docker minor version

* remove un-necessary new lines + add multiple checks for cdc

* address review comments from Davin

* increase the version in source_definitions.yaml

* rebuild seed
2021-05-25 00:31:57 +05:30
Charles
8983f09aea normalize connector acceptance test names (#3539)
* Rename standard tests to acceptance tests

* Normalize the names so that the nouns are always in the same order so it is easier to find tests
2021-05-22 13:40:40 -07:00
Charles
a7a398ba59 add explanatory comments for cdc (#3496) 2021-05-20 14:28:32 -07:00
Charles
e4d0707781 Destination Checkpointing: Add StateMessage handing to BufferedStreamConsumer (#3230) 2021-05-07 13:05:52 -07:00
Jared Rhizor
99f1448d30 remove isCdc config logging (#3179) 2021-05-03 07:42:47 -07:00
Charles
e4d227f5b4 set source defined cursor field for cdc (#2878) 2021-04-21 15:07:06 -07:00
Davin Chia
42686add8a Release connectors with namespace change. (#2990)
Release all connectors affected by namespace change. Includes all JDBC sources and destinations.

Also add documentation for normalisation. Prerequisite to actually releasing 0.21.0-alpha.
2021-04-21 11:35:08 +08:00
Davin Chia
7e55f3a156 Modify CDC to be inline with namespace changes. (#2986)
Modify CDC to be inline with namespace changes. Add a test case to double check this works.
2021-04-21 07:39:28 +08:00
Davin Chia
989ebee583 Hotfix: Postgres SSL tests. (#2926) 2021-04-17 16:38:10 +08:00
Davin Chia
b9014acfca :tada Namespace support. Supported source-destination pairs will now sync data into the same namespace as the source. (#2862)
This PR introduces the following behavior for JDBC sources:
Instead of streamName = schema.tableName,  this is now streamName = tableName and namespace = schema. This means that, when replicating from these sources, data will be replicated into a form matching the source. e.g. public.users (postgres source) -> public.users (postgres destination) instead of current behaviour of public.public_users. Since MySQL does not have schemas, the MySQL source uses the database as it's namespace.

To do so:
- Make namespace a field class concept in Airbyte Protocol. This allows the source to propagate namespace and destinations to write to a source-defined namespace. Also sets us up for future namespace related configurability.
- Add an optional namespace field to the AirbyteRecordMessage. This field will be set by sources that support namespace.
- Introduce AirbyteStreamNameNamespacePair as a type-safe manner of identifying streams throughout our code base.
- Modify base_normalisation to better support source defined namespace, specifically allowing normalisation of tables with the same name to different schemas.
2021-04-17 15:33:22 +08:00
Jared Rhizor
1ae2cc2051 make postgres ssl optional in spec (#2923) 2021-04-16 16:22:24 -07:00
jrhizor
0fe2dc7c57 bump source-postgres 0.25 -> 0.2.6 2021-04-16 15:40:31 -07:00
Marcos Marx
ca8f304f90 Add SSL option for Postgres source/destination (#2757)
* add ssl for source-postgres

* add config in utf8 test

* correct comments from @jrhizor and @sherifnada

* correct config get

* add ssl test postgres

* add sh generate ssl files

* change pg ssl test

* use custom image

* correct spec.json

* correc tests

* remove unecessary config

* add config and correct spec.json

* add ssl to postgres destination

* add tools to generate custom dockers images and correct spec.json

* change how additional parameter is append

* add logic ssl for postgres destination

* remove if for append add params

* gradlew format
2021-04-16 15:37:55 -07:00
Jared Rhizor
6d95e3b619 bump postgres to pick up cdc + bugfix (#2859) 2021-04-12 15:34:10 -07:00
Davin Chia
e11ccfd0a1 Revert "Remove schema from stream name. (#2807)" (#2857)
This reverts commit 6e9d6fce59.
2021-04-12 14:56:11 -07:00
Davin Chia
6e9d6fce59 Remove schema from stream name. (#2807)
Last step (besides documentation) of namespace changes. This is a follow up to #2767 .

After this change, the following JDBC sources will change their behaviour to the behaviour described in the above document.

Namely, instead of streamName = schema.tableName, this will become streamName = tableName and namespace = schema. This means that, when replicating from these sources, data will be replicated into a form matching the source. e.g. public.users (postgres source) -> public.users (postgres destination) instead of current behaviour of public.public_users. Since MySQL does not have schemas, the MySQL source uses the database as it's namespace.

I cleaned up some bits of the CatalogHelpers. This affected the destinations, so I'm also running the destination tests.
2021-04-12 21:02:29 +08:00
Jared Rhizor
2b19da82d8 postgres cdc (#2548)
* spike

* more

* debezium wip

* use oneof for configuration

* iterator wrapping structure

* push current

* working loop

* move capability into source

* hack it into a sharable state

* debezium test runner (#2617)

* CDC Wait for Values (#2618)

* output actual AirbyteMessages for cdc (#2631)

* message conversion

* fmt

* add lsn extraction and comparison (#2613)

* postgres cdc catalog (#2673)

* update cdc catalog

* A

* table selection for cdc (#2690)

* table selection for cdc

* fix broken merge

* also test double quote in name

* Add state management to CDC (#2718)

* CDC: Fix Producer/Consumer State Machine (#2721)

* CDC Postgres Tests (#2777)

* fix postgres cdc image name and run check before reading data (#2785)

* minor postgres cdc fixes

* add test and fix check behavior

* fix

* improve comment

* remove unused props, remove todos, add some more sanity tests (#2791)

* cdc: add offset store tests (#2793)

* clean (#2798)

* postgres cdc docs (#2784)

* cdc docs

* Update docs/integrations/sources/postgres.md

Co-authored-by: Charles <giardina.charles@gmail.com>

* address gcp

* learn too english

* add link

* add more disk space warnings

* add additional cdc use case

* add information on how to find postgresql.conf

* add how to find the file

Co-authored-by: Charles <giardina.charles@gmail.com>

* various merge conflict fixes (#2799)

* cdc standard tests (#2813)

* require cdc users to create publications & update docs (#2818)

* postgres cdc race condition

* working? but different process

* add additional logging to help debug in the future

* everything done except working config

* remove unintended change

* Use oneOf in PG CDC spec (#2827)

* add oneOf configuration for postgres cdc  (#2831)

* add oneof configuration for cdc postgres

* fmt

Co-authored-by: Charles <giardina.charles@gmail.com>

* fix test (#2834)

* fix test

* bump version

* add docs on creating replica identities (#2838)

* add docs on creating replica identities

* emphasize danger

* grammar

* bump pg version in source catalog

* generate seed files

Co-authored-by: cgardens <giardina.charles@gmail.com>
2021-04-09 16:36:58 -07:00
Davin Chia
58062faccb Discover Schema sets Namespace field. (#2767)
This PR is step 5 of this tech spec - https://docs.google.com/document/d/1qFk4YqnwxE4MCGeJ9M2scGOYej6JnDy9A0zbICP_zjI/edit.

The first of (at least) 2 PRs to implement this on the source side. I made some headway before deciding to break the changes into one PR implementing this for discover schema job, and another PR implementing this for read. The combined PR would have been too big otherwise.

Also refactor MoreResources as the test method was attempting to write to the location classes where loaded out from - the issue is we cannot guarantee where the class is loaded from can be written to. Changing this to write to a random folder in the temp directory.
2021-04-07 11:53:03 +08:00
Christophe Duong
6c6ea54bb8 Add SupportedDestinationSyncModes to destination specs objects (#2668)
* Add SupportedDestinationSyncModes to destination specs objects

* Bumpversions of destination connectors
2021-03-31 15:20:01 +02:00
Davin Chia
e8190ff860 🎉 Add NCHAR and NVCHAR support to DB and cursor type casting. (#2600) 2021-03-29 08:09:06 +08:00
Christophe Duong
8a29584125 ☝🏼Destinations supports destination sync mode (#2460)
* Handle destination sync mode in destinations

* Source & Destination sync modes are required (#2500)

* Provide Migration script making sure it is always defined for previous sync configs
2021-03-26 20:23:48 +01:00
Christophe Duong
41e8b6a824 Source support primary keys (#2488)
* Source support primary keys
2021-03-17 19:28:56 +01:00
Christophe Duong
070575ffdf Protocol allows future / unknown properties (#2238)
* Allow new extra properties in validation
* Create migration script to upgrade all connectors versions
* Bumpversion of all connectors
2021-03-09 13:36:36 +01:00
Charles
aadfae24bd Iterator-based JDBC Source (and Redshift bugfix) (#1887) 2021-02-02 17:14:14 -08:00
Charles
f2f3b4ec37 Fix NPE in State Decorator (#1746) 2021-01-25 17:31:23 -08:00
Jared Rhizor
227e709a48 add postgres (source and destination) field titles (#1765)
* add postgres titles

* fix other conflict

* fix other usage
2021-01-25 10:48:56 -08:00
Charles
6c5d1b2340 Assert Best Practices for JdbcDestinations (#1680) 2021-01-21 14:12:04 -08:00
Charles
3670545995 Fix JdbcSource handling of tables with same names in different schemas (#1724)
* Fix JdbcSource handling of tables with same names in different schemas

* Previously the JdbcSource was combining the columns of any tables with the same name across different schemas into a single stream in the catalog.

* This was caught because in those tables there were columns of the same name with different types which triggered a precondition to check for this.

* The fix makes sure we group by both schema name and table name.

* Adds test to the standard jdbc tests to catch this case.

* This test does NOT run for mysql as, mysql has no concept of schemas.
2021-01-19 18:45:53 -08:00
Charles
13c5eef93a Fix JdbcSource Incremental OOM (#1655) 2021-01-14 14:33:44 -08:00
Sherif A. Nada
68ecf991d6 Handle invalid numeric values in JDBC source (#1588) 2021-01-13 13:31:53 -08:00
Charles
102b432a5b Migrate Postgres and MySql to use new JdbcSource (#1307) 2021-01-08 14:15:34 -08:00
Charles
bbf851fe27 upgrade test containers (#1308) 2020-12-15 18:15:55 -08:00
Sherif A. Nada
93674f6b4d Respect sync mode regardless of input state in mailchimp (#1213) 2020-12-11 13:04:45 -08:00
Charles
25689eea56 add incremental to jooq source (and postgres) (#1172) 2020-12-08 21:14:11 -08:00
Jared Rhizor
1bd19d1bae put all integration test tasks under integrationTest (#1231)
* always re-run standardSourceTestPython

* rename and regroup to integrationTest

* add comment
2020-12-07 10:10:26 -08:00
Sherif A. Nada
e8a332ae65 Standard source incremental tests (#1175) 2020-12-04 09:54:10 -08:00
Christophe Duong
a49e7834f8 Change jdbc sources to discover more than standard schemas (#1038)
Change jdbc sources to discover more than standard schemas
2020-11-30 17:36:54 +01:00
Charles
02819a4b87 Incremental Docs and Data Model Update (#1021) 2020-11-19 22:07:32 -08:00
Sherif A. Nada
f4c3ac70f9 annotate secret fields (#1012) 2020-11-19 15:13:23 -08:00
Charles
e7edb2c858 Adding incremental to the catalog data model (#998)
* Add ConfiguredAirbyteCatalog and ConfiguredAirbyteStream
2020-11-18 14:15:59 -08:00
Jared Rhizor
ae25781fd9 prevent NPEs when password isn't set for jdbc integrations (#927) 2020-11-11 20:48:52 -08:00
Charles
d507f0f95b Fix names for standard tests (#862) 2020-11-09 21:43:51 -08:00
Jared Rhizor
e1d7add50a mostly incremental builds (#817)
* support cached builds for base -> base-java -> snowflake

* use plugin for image building

* fix matching on COPY from

* remove docker.gradle

* tmp commit

* update connectors

* finish rest of build files

* fix ide errors

* more build fixes

* clean up

* clean up for new soruces

* fix spotless

* fix flake problems

* add recommended empty file

* python caching

* fixes upon review

* clean up docker and build test files

* clean up python

* clean up

* fix integration test dependencies

* fix standard tests

* fix

* remove symlink

* re-add requirements to fix normalizatioon build

* fix symlink

* fix dumbest build problem of all

* add missing integration test def

* fix missing dep

* remove class exclusion

* move trim so null source versions are allowed

* rename map

* fix hardcoded value

* remove unnecessary dep

* use dashes for salesforce package name

* fix typo

* DRY and fix test image name

* Fix edit

* assert string is not empty

* build integration test image only for integrationTest

* move code generator to tools and rename docker build tasks

* make source test depend on integration test build, not the other way

* remove guard because the docker build should exist before the integrationtest is applied

* remove comment

* DRY up airbyte-source-test

* fix plugin compilation

* add missing dependency

* rename getTaggedImage to getDevTaggedImage

* fix test vs main docker build bug
2020-11-09 11:00:11 -08:00
Sherif A. Nada
7059825804 Add postgres JDBC source (#794) 2020-11-03 10:56:36 -08:00