1
0
mirror of synced 2026-01-08 12:03:02 -05:00
Commit Graph

347 Commits

Author SHA1 Message Date
Akash Kulkarni
63e4482a5f Source Postgres : Emit estimate trace messages for non-CDC mode (#20783)
* Emit estimate trace messages

* Update PostgresQueryUtils.java

* Remaining merge conflicts

* Code cleanip

* Address comments

* Formatting

* Cleanup

* Addressing comments

* Bump version + documentation

* Update strict-encrypt Dockerfile

* Unpublish

* Merge conflicts

* Update Dockerfile

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-18 13:55:54 +00:00
Augustin
0c8d6d3a30 remove supportsNormalization + supportsDbt from source spec (#21317) 2023-01-14 18:40:57 +00:00
Rodi Reich Zilberman
b7af8ac54c Better escape the select query for a case a schema name starts with a number (#21051)
* Better escape the select query for a case a schema name starts with a numebr.

* improve test

* fix unrelated build error
2023-01-12 12:28:27 -08:00
Subodh Kant Chaturvedi
8dffde019d postgres-source-cdc: handle null values for array data types (#21003)
* postgres-source-cdc:handle null values for array data types

* fix test

* upgrade version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-11 23:41:49 +05:30
Rodi Reich Zilberman
06ef1e90c6 source-postgres: enable SAT high test strictness level (#20549) 2023-01-04 09:08:43 +00:00
Subodh Kant Chaturvedi
7dfc38d5bc source-postgres-cdc: allow LSN to be acknowledged after sync (#20469)
* WIP

* fix issues

* fix test

* format

* more tests

* one more test

* make lsn_commit_behaviour not required

* update expected spec

* update expected spec

* update expected spec

* PR comments

* PR comments

* upgrade version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-04 14:23:17 +05:30
Evan Tahler
177c13e6fc Store SQLs for Java source test datasets (#20955) 2023-01-03 12:07:47 -08:00
Akash Kulkarni
bac789e2cb Code cleanup in SourceOperations (#20874)
* Refactor SourceOperations class

* More cleanup

* Addressing comments

* Formatting
2023-01-03 03:09:48 -08:00
Davin Chia
2deac0f244 Prep for Java 19 Upgrade (#20911)
Upgrade all the necessary tooling dependencies to get us to Java 19.
2022-12-29 12:32:42 -08:00
Yevhen Sukhomud
2a5d0344e7 Fix formatting (#20570)
* Fix formatting

* try fixing quote escapes?

* unignore sql files

Co-authored-by: Edward Gao <edward.gao@airbyte.io>
2022-12-16 13:43:42 -08:00
Jimmy Ma
094aff1520 Java connectors use protocol v0 objects (#20404)
* Dupl v0 objects

* v0 namespace swap

* Introduce some object conversions in the tests

* Update source-java-jdbc template

* Use v0 objects in db-lib

* Fix more protocol object references

* Fix arg capture in tests
2022-12-15 13:39:50 -08:00
Joe Reuter
b8724c2c81 Update connector oneOf descriptions (#20378)
Update descriptions in some specs to render them better in the form
2022-12-15 12:25:23 +01:00
Subodh Kant Chaturvedi
2ea61104ed cdc:ignore timeout if snapshot is not complete (#18959)
* cdc:ignore timeout if snapshot is not complete

* improve log message

* nit change

* resolve conflicts

* upgrade version

* auto-bump connector version

* fix expected_spec.json for mssql source

* update definitions

* format

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-12-13 17:35:42 +05:30
Subodh Kant Chaturvedi
a3708ebead source-postgres:just throw a warning if a cursor column contains null value (#20192)
* source-postgres:just throw a warning if a cursor column contains null value

* ignore test + update review comment

* use Disabled annotation

* upgrade version

* upgrade version for alloy db strict encrypt as well

* auto-bump connector version

* update definitions

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-12-12 16:39:18 +05:30
Rodi Reich Zilberman
cd183cb794 Add column.include.list for debezium column selection support (#20055)
* Add column.include.list for debezium column selection support

* sanity

* Fix escaping of regex to support all unicode characters in table and column names, including regex control characters (command, dot, asterisk etc.)

* sanity

* Fix failing test

* Test that directly verifies that read doesn't return columns that are not selected

* Test mysql cdc column selection
2022-12-09 09:28:47 -08:00
Rodi Reich Zilberman
b5c08ceed6 Stop sync on a null value in a cursor column (#19889)
* Stop sync on a null value in a cursor column

* Fix quoting in query to solve a failing test

* Fix another escaping issue in query

* Fix failing test

* Fix failing tests

* Test view with null value cursor

* Improve error message

* bump dockerfile version and update note

* bump version to 1.0.31

* Fix failing test

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-12-06 15:05:01 -08:00
oneshcheret
293075ef53 Postgres source: handle terminate connection exception with test. (#19887)
* Source postgres: catch termination connection PSQLException

* Source postgres: move common code to util method

* Source postgres: clean code

* Source postgres: review fixes and added unit tests

* Source postgres: clean code

* Source postgres: bump version

* Source postgres: format

* Source postgres: format

* Source postgres: bump version

* Source postgres: fix failing test and bump version

* Source mysql: make message visible for tests

* Source postgres: reformat import

Co-authored-by: VitaliiMaltsev <39538064+VitaliiMaltsev@users.noreply.github.com>
Co-authored-by: Akash Kulkarni <113392464+akashkulk@users.noreply.github.com>
Co-authored-by: Rodi Reich Zilberman <867491+rodireich@users.noreply.github.com>
2022-12-06 23:11:37 +02:00
Edward Gao
ea3fb898aa Source Postgres: Fix not being able to configure wal2json plugin (unpublished) (#19985)
* switch const to default

* update expected specs

* try updating system-stubs?

* Revert "try updating system-stubs?"

This reverts commit 0311a5a1d1.

* switch to system stubs

* changelog

* fix more tests
2022-12-05 17:08:21 -08:00
Akash Kulkarni
3b0512fe87 JDBC Sources Integration Test migration follow-up: Switch additional tests to use system stubs (#20040)
* Migrating remaining tests

* More tests

* set env vars before querying them; use stream state everywhere?

* fix strirct encrypt expected spec

* runRead after workerConfigs exist

* format

Co-authored-by: Edward Gao <edward.gao@airbyte.io>
2022-12-05 11:06:13 -08:00
oneshcheret
1fd4a03fda Source postgres: fix schema permission issue (#19024)
* Source postgres: fix schema permission issue

* Source postgres: add test for schema permission issue

* Source postgres: format code

* Source postgres: added unit test

* Source postgres: bump version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: Rodi Reich Zilberman <867491+rodireich@users.noreply.github.com>
2022-12-02 10:04:45 -08:00
Edward Gao
4c5584009a JDBC Sources: Switch integration tests to use system stubs (#20026) 2022-12-02 09:08:08 -08:00
Akash Kulkarni
865b580776 DB sources data type support - adding new data types (#19679)
* Introduce JsonSchemaTypeUtil + refactor code

* Update JsonSchemaPrimitiveUtil.java

Comment

* Update dynamodb.md

* Create acceptance-test-config.yml

* fix merge break

* formatting

* Fix formatting

* Code cleanup

* Update DataTypeEnumTest.java
2022-11-29 09:58:42 -08:00
oneshcheret
494349f966 Revert "Source postgres: mark termination connection PSQLException as config error (#19623)" (#19881)
This reverts commit 92282ded3b.
2022-11-29 18:10:09 +02:00
oneshcheret
92282ded3b Source postgres: mark termination connection PSQLException as config error (#19623)
* Source postgres: catch termination connection PSQLException

* Source postgres: move common code to util method

* Source postgres: clean code

* Source postgres: review fixes and added unit tests

* Source postgres: clean code

* Source postgres: bump version

* Source postgres: format

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-11-29 16:47:09 +02:00
Evan Tahler
e73a5337ca Increase Database Source SELECT Batch Size (#19514)
* Increase Database Source SELECT Batch Size

* 60% is a little safer

* comment

* format...

* Update byte-size tests

* fixup tests

* test fixes

* format

* readmes and connector versions

* match strict-encrypt versions

* auto-bump connector version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-11-28 14:19:47 -08:00
VitaliiMaltsev
d04a01a8ad Source Postgres: Handle Arrays data types (#16990)
* Source Postgres: Handle Arrays data types

* bump version

* updated items mapping

* updated mapping of common types

* add datatype tests

* removed redundant variables

* Fixed getSpec schema test

* removed redundant variables

* refactoring

* updated json schema mappings

* updated debezium converters

* removed unused logging

* refactoring

* refactoring and added comments

* fixed checkstyle

* refactoring

* bump version

* auto-bump connector version

Co-authored-by: ievgeniit <etsybaev@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-11-28 17:53:26 +02:00
VitaliiMaltsev
637781d43b 🐛 Postgres Source Strict Encrypt: Allow connections with sslmodes 'allow' and 'prefer' if SSH tunnel established (#19551)
* Postgres Source Strict Encrypt: Allow connections with sslmodes 'allow' and 'prefer' if SSH tunnel established

* updated changelog

* fixed tests

* add test_strictness_level to acceptance-test-config.yml

* remove test_strictness_level to due to failed SAT test

* bump version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-11-28 16:31:24 +02:00
Andrii Leonets
a68846c88a fix order not to randomly fail backward compatibility check (#19377)
* fix order not to randomly fail backward compatibility check

* missing file update
2022-11-22 09:06:43 -08:00
Yevhen Sukhomud
a5e625b04c fix format (#19538) 2022-11-17 19:31:04 +07:00
Rodi Reich Zilberman
c739c4c36c Implement Debezium heartbeats for source-postgres (#19004)
* Initial working commit

* Code sanity. Provide no-on implementation to mysql, MSSql to allow compilation.

* Update test

* sanity

* sanity

* sanity

* sanity

* sanity

* changes per review comments

* Make heartbeat change waittime configurable.

* Trying to bypass test strictness test

* Trying to bypass test strictness test

* Trying to bypass test strictness test

* fix acceptance test config format

* add missing SAT test in config

* revert back changes in acceptance-test-config.yml

* Version and notes

* auto-bump connector version

Co-authored-by: alafanechere <augustin.lafanechere@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-11-16 16:20:04 -08:00
Davin Chia
0d4a2bb281 Introduce the AirbyteStreamNamespaceNamePair to the DefaultReplicationWorker. (#19360)
#19191 made me realise the DefaultReplicationWorker's metric tracking today has a bug where we aren't accounting for namespace when tracking metrics today. i.e. Streams with the same name and duplicate namespace will merge metrics.

While reading the code to figure out a fix, I realised we don't have a good conceptual representation of stream namespace <> name pairs within the platform today. We use a concatenated string. Though this works, it will become harder and harder to read/track as we do more operations that involve namespace i.e. progress bars and column selection.

This PR introduces the AirbyteStreamNameNamespacePair object into the platform code to make it more convenient to work with Streams in the future. (Especially if we proceed with the project to make streams a first-class citizen!)

The AirbyteStreamNameNamespacePair object was written to deal with the same issue of namespace <> name pair manipulation within the Java destination code. It implements the Comparable interface, which makes it convenient to use for Collections operations.

For an example of how this is consumed, see #19361.
2022-11-16 11:50:45 -08:00
VitaliiMaltsev
7d050cf76e Postgres Source Strict Encrypt: Add tests with SSL and SSH (#19388)
* Postgres Source Strict Encrypt: Add tests with SSL and SSH

* updated No tunnel test

* fixed spec test

* fixed spec test

* refactoring
2022-11-16 19:50:31 +02:00
VitaliiMaltsev
a1db24cf55 Postgres Source: use native Postgres timeout if it's not set by the user (#19291)
* Postgres Source: use native Postgres timeout if it's not set by the user

* refactoring

* updated connection timeout logic and added tests for different datasources creation

* fixed pmd

* refactoring

* bump version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-11-16 19:49:00 +02:00
Sherif A. Nada
125f35f8df Generate spec-first FastAPI Server (#18886) 2022-11-09 18:14:38 -08:00
VitaliiMaltsev
c72b75e608 Postgres/MySQL Source Strict Encrypt: stop enforce SSL if ssl mode disabled (#19025)
* Postgres/MySQL Source Strict Encrypt: stop enforce SSL if ssl mode disabled

* fixed checkstyle

* updated changelog

* add tests

* replaced MySQL test to mysql-strict-encrypt module

* fixed Connection Refused for mysql test

* replaced Postgres Source strict-encrypt tests into new class

* bump version

* auto-bump connector version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-11-10 00:59:18 +02:00
Andrii Leonets
58e4ef6912 Enable SPEC SAT for Java sources (#18779)
* enable py spec compatibility tests

* add missing properties

* use expected spec file instead of the source spec.json + use dummy config file

* add missing files for the clickhouse

* move test files to the integration-test from the unit test folder

* add missing files to cockroachdb

* add missing files to db2 + fix spec format

* add missing files to elasticsearch + fix spec format

* add missing files to jdbc

* add missing files to mongodb_v2 + fix spec format

* add missing files to mssql + fix spec format

* add missing files to mysql + fix spec format

* add missing files to postgres + fix spec format

* add missing files to oracle + fix spec format

* add missing files to redshift

* add missing files to sftp

* add missing files to snowflake + fix spec format

* add missing files to tidb

* add missing files to kafka - fix spec format

* airbyte-source-acceptance-test added

Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>

* add missing import

* Delete acceptance-test-config.yml

* Delete acceptance-test-docker.sh

* Update build.gradle

* Update build.gradle

* format

* revert changes

* manual .sh files format

* upd expected spec

* format

* fix SAT after master merge

Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
Co-authored-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-11-09 21:45:46 +02:00
Akash Kulkarni
a53b9474d9 Migrating InvalidCursorException -> ConfigErrorException (#18995)
* Migrate InvalidCursorInfo -> ConfigErrorException
2022-11-04 16:14:50 -07:00
oneshcheret
2d4f443c75 Sources postgres, mysql, alloydb: encode database name (#18538)
* Source postgres: encode database name

* Source postgres, mysql: move encoding in util class, apply for mysql

* Source postgres, mysql: make var final

* Source postgres, mysql: bump version

* Source postgres, mysql: format code

* auto-bump connector version

* Source mysql: bump version

* auto-bump connector version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-31 19:53:20 +02:00
oneshcheret
79f2118fc5 Source postgres: disable allow and prefer ssl modes in CDC mode (#18256)
* Source postgres: disable ssl_mode allow and prefer in CDC mode

* Source postgres: code review fixes

* Source postgres: code review fixes

* Source postgres: improve ssl mode handling

* Source postgres: bump version

* auto-bump connector version

* Source postgres: bump version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-26 12:26:46 +03:00
Akash Kulkarni
b0a8e5473f Follow-up fix for SSHExceptions (#18383)
* Follow-up fix for SSHExceptions

* Catch RuntimeException instead of augmenting connection error messaging for now

* Update tests

* Bump versions + docs

* auto-bump connector version

* auto-bump connector version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-25 15:06:03 -07:00
Ryan Fu
cc41385f50 Updates getPrivateKeyPair to throw exception when private key pair does not exist (#18263)
* Changes method from returning null to throwing Exception to match method structure

* Added javadoc explaining that KeyPair should not be returning null

* Moved ConnectionErrorException to commons package

* Adds error handling for SshWrappedDestinations and markdown to include changes

* Bumps version numbers for Postgres, MySQL, MSSQL

* auto-bump connector version

* auto-bump connector version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-21 16:04:39 -07:00
Akash Kulkarni
55d030f3d7 🎉 Enhanced error messaging for DB source connectors (#18087)
* Enhanced error messaging for invalid cursor state

* Handle SSH config fail

* Handle SSH config fail

* Update AbstractDbSource.java

* Bump up versions + doc for beta+ connectors

Bump up versions + doc for beta+ connectors

* auto-bump connector version

* auto-bump connector version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-19 12:22:42 -07:00
Ryan Fu
8c780bd3aa Publishes Postgres, MySQL, MSSQL source with changes from #18041 (#18086)
* Publishes Postgres, MySQL, MSSQL source with changes from #18041

* auto-bump connector version

* auto-bump connector version

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-18 21:53:30 -07:00
Liren Tu
888347a0d0 🎉 JDBC sources: store cursor record count in db state (#15535)
* Add cursor_record_count to db stream state

* Add cursor record count to cursor info

* Emit max cursor record count

* Add original cursor record count

* Unify logging format

* Add backward compatible methods

* Update unit tests for state decorating iterator

* Update test (not done yet)

* Fix one more unit test

* Change where clause operator according to record count

* Add branch for null cursor

* Skip saving record count when it is 0

* Fix log wording

* Set mock record count in test

* Check cursor value instead of cursor info

* Fix source jdbc test

* Read record count from state

* Fix tests

* Add an acceptance test case

* Fix npe

* Change record count from int to long to avoid type conversion

* Fix references

* Fix oracle container

* Use uppercase for snowflake

* Use uppercase for db2

* Fix and use uppercase

* Update test case to include the edge case

* Format code

* Remove extra assertion in clickhouse

* Merge ms sql incremental query method

* Log query for debugging

* Clean up name_and_timestamp table

* Fix db2 tests

* Fix mssql tests

* Fix oracle tests

* Fix oracle tests

* Fix cockroachdb tests

* Fix snowflake tests

* Add changelog

* Fix mssql tests

* Fix db2-strict-encrypt tests

* Fix oracle-strict-encrypt tests

* Bump postgres version

* Fix oracle-strict-encrypt tests

* auto-bump connector version [ci skip]

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-14 01:09:12 -07:00
Eugene
33dfd5d6be Fixed "Ensure no file change" build issue. Only checkstyle changes, no logic chnages (#17885) 2022-10-12 15:06:28 +03:00
Subodh Kant Chaturvedi
4652173311 postgres-source: handle 24:00:00 value for time column (#17782)
* postgres-source: handle 24:00:00 value for time column

* address review comment

* fix test + use LocalTime.MAX

* bump version

* update alloy db as well

* auto-bump connector version [ci skip]

* auto-bump connector version [ci skip]

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-12 03:33:35 +05:30
Pedro S. Lopez
938436bcc9 update connector specs and definitions with new .com documentation urls (#17585)
* update definitions with new .com docs urls

* update docs urls in specs

* update generators

* regenerate scaffold connectors

* remove unrelated changes

* update more urls

* update specs

* fix tests

* run `:airbyte-config:specs:generateSeedConnectorSpecs` to fix formatting

* revert docs changes to make pr more reviewable

* revert generator readme changes to make more reviewable

* fix mysql strict encrypt expected spec

* fix postgres expected spec
2022-10-11 11:04:23 -04:00
Liren Tu
ca8c66da2d Fix postgres strict-encrypt expected spec (#17817) 2022-10-10 20:59:10 -07:00
Evan Tahler
49cb3360de Remove redundant title labels from connector specs (#17544)
* Remove redundant title labels from connector specs

* Manually update specs

* add env variable

* Remove debugging log
2022-10-05 12:58:38 -07:00
Rodi Reich Zilberman
d8b0563723 Match entry in client cert keystore to hardcoded postgres driver value (#17515)
* Match entry in client cert keystore to hardcoded postgres driver value

* Match entry in client cert keystore to hardcoded postgres driver value

* auto-bump connector version [ci skip]

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-10-03 19:02:38 -07:00