Skip to content

Conversation

@jpefaur
Copy link
Contributor

@jpefaur jpefaur commented Oct 25, 2025

What

How

Review guide

User Impact

Can this PR be safely reverted and rolled back?

  • YES πŸ’š
  • NO ❌

@github-actions
Copy link
Contributor

πŸ‘‹ Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

Helpful Resources

PR Slash Commands

Airbyte Maintainers (that's you!) can execute the following slash commands on your PR:

  • /format-fix - Fixes most formatting issues.
  • /bump-version - Bumps connector versions.
    • You can specify a custom changelog by passing changelog. Example: /bump-version changelog="My cool update"
    • Leaving the changelog arg blank will auto-populate the changelog from the PR title.
  • /run-cat-tests - Runs legacy CAT tests (Connector Acceptance Tests)
  • /build-connector-images - Builds and publishes a pre-release docker image for the modified connector(s).
  • JVM connectors:
    • /update-connector-cdk-version connector=<CONNECTOR_NAME> - Updates the specified connector to the latest CDK version.
      Example: /update-connector-cdk-version connector=destination-bigquery
    • /bump-bulk-cdk-version type=patch changelog='foo' - Bump the Bulk CDK's version. type can be major/minor/patch.
  • Python connectors:
    • /poe connector source-example lock - Run the Poe lock task on the source-example connector, committing the results back to the branch.
    • /poe source example lock - Alias for /poe connector source-example lock.
    • /poe source example use-cdk-branch my/branch - Pin the source-example CDK reference to the branch name specified.
    • /poe source example use-cdk-latest - Update the source-example CDK dependency to the latest available version.

πŸ“ Edit this welcome message.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 25, 2025

destination-postgres Connector Test Results

0 tests  Β±0   0 βœ… Β±0   0s ⏱️ Β±0s
0 suites Β±0   0 πŸ’€ Β±0 
0 files   Β±0   0 ❌ Β±0 

Results for commit 2ef1369. ± Comparison against base commit 7b979b6.

♻️ This comment has been updated with latest results.

val columnDeclarations = columnsAndTypes(stream, columnNameMapping).joinToString(",\n")
val columnDeclarations = columnsAndTypes(stream, columnNameMapping).joinToString(",\n") {it.toSQLString() }
val dropTableIfExistsStatement = if (replace) "DROP TABLE IF EXISTS ${getFullyQualifiedName(tableName)};" else ""
val createIndexesStatement = createIndexes(stream, tableName, columnNameMapping)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm creating indexes for both primary keys and cursor. What should happen if the user changes the primary keys and/or cursor? Should we recreate the indexes in ensureSchemaMatches? I'm not sure if that's the expectation since this might be an expensive operation.

/**
* This is a bit of an edge case, but we should handle it regardless. If the user configures a
* primary key, then changes it (e.g. they realize that their composite key doesn't need to
* include a certain column), we should do _something_ reasonable.
*
* Intentionally not doing a complex scenario here; users should probably just truncate refresh
* if they want to do this. Just assert that if we upsert a record after changing the PK, the
* upsert looks correct.
*/
@Test
open fun testDedupChangePk() {

this comment makes me think that we don't 100% support this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants