-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Destination MSSQL: standard inserts uses new typing interface #55849
base: edgao/unknown_types_test
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
} | ||
} else { | ||
if (field.name == COLUMN_NAME_AB_META) { | ||
// don't populate _airbyte_meta yet - we might run into errors in the other fields |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this isn't new, it matches the previous behavior (COLUMN_NAME_AB_META -> airbyteMetaStatementIndex = statementIndex
). Just adding a comment b/c it's nonobvious.
...tion-mssql/src/main/kotlin/io/airbyte/integrations/destination/mssql/v2/MSSQLQueryBuilder.kt
Outdated
Show resolved
Hide resolved
setAdditionalProperty("sync_id", stream.syncId) | ||
} | ||
val enrichedRecord = | ||
plainRecord.asDestinationRecordRaw().asEnrichedDestinationRecordAirbyteValue() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, the two steps feels wrong. If the point is to get everyone on the same interface (a single type that can be marshaled into a bunch of stuff) then oughtn't we be giving everyone the "RecordRaw"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, I misread what we were doing in s3datalake. how does 6525221 look?
I do think passing RecordRaw is correct though? B/c it's useful for destinations that just want the plain JSON blob - blob destination non-flattening csv/jsonl, warehouses in raw tables mode, etc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, pass the thing that can be marshaled to lots of stuff, and have a layer between whatever the framework uses and that.
01f2d5c
to
5b44513
Compare
...rc/integrationTest/kotlin/io/airbyte/cdk/load/mock_integration_test/MockDestinationWriter.kt
Show resolved
Hide resolved
5b44513
to
6a23592
Compare
2cf1eb1
to
726abb8
Compare
@@ -302,7 +302,7 @@ abstract class IntegrationTest( | |||
fun updateConfig(config: String): String = configUpdater.update(config) | |||
|
|||
companion object { | |||
val randomizedNamespaceRegex = Regex("test(\\d{8})[A-Za-z]{4}") | |||
val randomizedNamespaceRegex = Regex("test(\\d{8})[A-Za-z]{4}.*") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, can you explain this change please?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, this was what I mean by
fix the DataCleaner regex - now it correctly matches test20241212abcd_1
in the pr description. I.e. previously the regex only recognized test20241212abcd
, so we weren't deleting any namespaces that ended with a _1
/ _2
suffix 🤦
(... in related news, I deleted about 1K databases from AWS glue today)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look good to me. just one small question
airbyteMetaField: Meta.AirbyteMetaFields?
to EnrichedAirbyteValue (we thought we didn't need it b/c we separated airbyteMetaFields / declaredFields; turns out it's still useful)airbyteMeta
specifically from EnrichedDestinationRecordAirbyteValue, instead of hiding it inside airbyteMetaFieldstest20241212abcd_1