* Migrated 'ssl' string to become a constant in JdbcUtils
* Migrated 'database' string to become a constant in JdbcUtils
* Migrated 'username' string to become a constant in JdbcUtils
* Migrated 'password' string to become a constant in JdbcUtils
* Migrated 'schema' string to become a constant in JdbcUtils and updated corresponding config params
* Migrated 'jdbc_url' string to become a constant in JdbcUtils
* Migrated 'connection_properties' string to become a constant in JdbcUtils
* Migrated list of 'host_key' string to become a constant in JdbcUtils
* Migrated list of 'port_key' string to become a constant in JdbcUtils
* Migrated 'host_key' string to become a constant in JdbcUtils and updated corresponding config params
* Migrated 'port_key' string to become a constant in JdbcUtils
* Migrated 'tls' string to become a constant in JdbcUtils
* Migrated 'schemas' string to become a constant in JdbcUtils
* Migrated 'encryption' string to become a constant in JdbcUtils
* Migrated 'jdbc_url_params' string to become a constant in JdbcUtils and fixed uncaught parenthesis
* Fixed linter issues with comments on AcceptanceTest and failed import statement
* upgrade debezium version to 1.9.2 for mysql source
* new debezium version doen't require special string handling
* fix log message
* add test tor date time data type
* gracefully handle the case when logs are purged
* fix test
* address review comment
* Release source connectors
* Fix issue with database connection in test
* Fix failing tests due to authentication
* 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>
* WIP Per-stream state support for Postgres source
* Fix failing test
* Improve code coverage
* Make global the default state manager
* Add legacy adapter state manager
* Formatting
* Include legacy state for backwards compatibility
* Add global state manager
* Implement Global/CDC state handling
* Fix test issues
* Fix issue with updated method signature
* Handle empty state case in global state manager
* Adjust to protocol changes
* Fix failing acceptance tests
* Fix failing test
* Fix unmodifiable list issue
* Fix unmodifiable exception
* PR feedback
* Abstract global state manager selection
* Handle conversion between different state types
* Handle invalid conversion
* Rename parameter
* Refactor state manager creation
* Fix failing tests
* Fix failing integration tests
* Add CDC test
* Fix failing integration test
* Revert change
* Fix failing integration test
* Use per-stream for postgres tests
* Formatting
* Correct stream descriptor validation
* Correct permalink
* PR feedback
Part 1 of #13122.
Rename airbyte-db:lib to airbyte-db:db-lib.
Rename airbyte-metrics:lib to airbyte-metrics:metrics-lib
Rename airbyte-protocol:models to airbyte-protocol:protocol-models.
Explanation for what is happening:
Identically named subprojects have the following issues:
- publishing as is leads to classpath confusion when the jars with the same names are placed in the Java distribution. This leads to NoClassDefFound errors on runtime.
- deconflicting the jar names without changing directory names leads to dependency errors as the OSS jar pom files are generated using project dependencies (suggesting a dependency a sibling subproject in the same repo) that use subprojects group and name as a reference. This means the generated jars look for Jars that do not exists (as their names have been changed) and cannot compile.
- the workaround to changing a subproject's name involves resetting the subproject's name in the settings.gradle and depending on the new name in each build.gradle. This increases configuration burden and decreases the ease of reading, since one will have to check the settings.gradle to know what the right subproject name is. See Projects with same name lead to unintended conflict resolution gradle/gradle#847 for more info.
- given that Gradle itself doesn't have support for identically named subprojects (see the linked issue), the simplest solution is to not allow duplicated directories. I've only renamed conflicting directories here to keep things simple. I will create a follow up issues to enforce non-identical subproject names in our builds.
* Better database connection handling for connectors
* Log connection error
* Properly close connection
* Remove unused method
* Close data source
* Use utility to close data source
* Use utility to close data source
* PR feedback
* Add Databricks driver
* Use driver class enum
* Use correct config
* Ensure config created before use
* Fix failing integration test
* Create DSLContext before use
* Address integration test failures
* Ensure DSLContext is closed
* Fix compile error
* Use correct datasource
* Use correct connection properties
* Close DSLContext
* Close DSLContext
* Fix integration test failures
* Properly close datasource
* Fix compilation issues
* Use existing database object
* Wrap close in try/finally
* Update test
* Wrap close in try/finally
* Ensure DSLContext is created
* Revert change to test
* Use correct data source
* Remove unused import
* More cleanup
* Add missing annotation
* Only initialize data source once
* Remove unused import
* Force testcontainers version
* Fix testcontainer issue
* Fix failing test
* Properly close all data sources
* Clear data sources after closing
* Fix compile error
* Fix compilation error
* Add missing method
* Default scaffold to use adaptive streaming config
* Switch more connectors to use adaptive streaming config
* Bump version for cockroach db
* Bump version for db2
* Bump mssql version
* Bump mysql version
* Bump oracle version
* Bump postgres version
* Bump redshift version
* Bump snowflake version
* Bump tidb version
* auto-bump connector version
* Fix db2 findbug issue
* auto-bump connector version
* auto-bump connector version
* auto-bump connector version
* auto-bump connector version
* Fix more findbug issues
* auto-bump connector version
* auto-bump connector version
* auto-bump connector version
* Fix findbug issue for mysql-strict-encrypt
* Fix findbugs issue for oracle source
* auto-bump connector version
* Remove suppress warnings annotation
* Fix oracle encrypt tests
* Fix oracle encrypt acceptance test
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* Merge all streaming configs to one
* Implement new streaming query config
* Format code
* Fix comparison
* Use double for mean byte size
* Update fetch size only when changed
* Calculate mean size by sampling n rows
* Add javadoc
* Change min fetch size to 1
* Add comment by buffer size
* Update java connector template
* Perform division first
* Add unit test for fetching large rows
* Format code
* Fix connector compilation error
* Make streaming jdbc db extend from default impl
* Remove connection supplier
* Fix unit test
* Remove mysql database creation method
* Format code
* Revert "Remove mysql database creation method"
This reverts commit cb0ca3575a.
* Fix compilation
* Check binlog position on mysql server before run sync job, add error description into log
* fix MySqlStrictEncryptSourceAcceptanceTest
* fix formatting
* fix review comments
* added java docs and fixed few minor comments
* fix formatting
* update versions
* update source_specs.yaml
* updated ci performance test sh script
* updated ci performance test sh script
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* set all params to one arg
* run tests
* update ci creds
* update performance test yaml file
* update performance test yaml file
* update performance test yaml file
* update performance test yaml file
* update performance test sh file
* update performance test sh file
* update performance test sh file
* update performance test sh file
* update java to 17 version in yaml file for performance tests
* update java to 17 version in yaml file for performance tests
* update java to 17 version in yaml file for performance tests
* update java to 17 version in yaml file for performance tests
* update java to 17 version in yaml file for performance tests
* clean test logs
* remove test logs
* remove test logs
* remove test logs
* return performance test logs
* add readme by performance tests