You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| 0.41.2 | 2024-07-12 |[\#40567](https://github.com/airbytehq/airbyte/pull/40567)| Fix BaseSqlGenerator test case (generation_id support); update minimum platform version for refreshes support. |
| 0.41.0 | 2024-07-11 |[\#38240](https://github.com/airbytehq/airbyte/pull/38240)| Sources : Changes in CDC interfaces to support WASS algorithm |
179
180
| 0.40.11 | 2024-07-08 |[\#41041](https://github.com/airbytehq/airbyte/pull/41041)| Destinations: Fix truncate refreshes incorrectly discarding data if successful attempt had 0 records |
Copy file name to clipboardexpand all lines: airbyte-cdk/java/airbyte-cdk/typing-deduping/src/main/kotlin/io/airbyte/integrations/base/destination/typing_deduping/CatalogParser.kt
Copy file name to clipboardexpand all lines: airbyte-cdk/java/airbyte-cdk/typing-deduping/src/testFixtures/kotlin/io/airbyte/integrations/base/destination/typing_deduping/BaseSqlGeneratorIntegrationTest.kt
+3
Original file line number
Diff line number
Diff line change
@@ -1814,6 +1814,9 @@ abstract class BaseSqlGeneratorIntegrationTest<DestinationState : MinimumDestina
Copy file name to clipboardexpand all lines: airbyte-integrations/connectors/destination-redshift/src/main/kotlin/io/airbyte/integrations/destination/redshift/RedshiftDestination.kt
+8-1
Original file line number
Diff line number
Diff line change
@@ -184,6 +184,12 @@ class RedshiftDestination : BaseConnector(), Destination {
184
184
hasUnprocessedRecords =true,
185
185
maxProcessedTimestamp =Optional.empty(),
186
186
),
187
+
initialTempRawTableStatus =
188
+
InitialRawTableStatus(
189
+
rawTableExists =false,
190
+
hasUnprocessedRecords =true,
191
+
maxProcessedTimestamp =Optional.empty(),
192
+
),
187
193
isSchemaMismatch =true,
188
194
isFinalTableEmpty =true,
189
195
destinationState =
@@ -284,7 +290,8 @@ class RedshiftDestination : BaseConnector(), Destination {
Copy file name to clipboardexpand all lines: airbyte-integrations/connectors/destination-redshift/src/main/kotlin/io/airbyte/integrations/destination/redshift/operation/RedshiftStagingStorageOperation.kt
Copy file name to clipboardexpand all lines: airbyte-integrations/connectors/destination-redshift/src/main/kotlin/io/airbyte/integrations/destination/redshift/typing_deduping/RedshiftDestinationHandler.kt
+26-6
Original file line number
Diff line number
Diff line change
@@ -84,7 +84,17 @@ class RedshiftDestinationHandler(
84
84
execute(sql, logStatements =true)
85
85
}
86
86
87
-
funexecute(sql:Sql, logStatements:Boolean) {
87
+
/**
88
+
* @param forceCaseSensitiveIdentifier Whether to enable `forceCaseSensitiveIdentifier` on all
89
+
* transactions. This option is most useful for accessing fields within a `SUPER` value; for
90
+
* accessing schemas/tables/columns, quoting the identifier is sufficient to force
91
+
* case-sensitivity, so this option is not necessary.
92
+
*/
93
+
funexecute(
94
+
sql:Sql,
95
+
logStatements:Boolean = true,
96
+
forceCaseSensitiveIdentifier:Boolean = true
97
+
) {
88
98
val transactions = sql.transactions
89
99
val queryId =UUID.randomUUID()
90
100
for (transaction in transactions) {
@@ -103,12 +113,20 @@ class RedshiftDestinationHandler(
103
113
// characters, even after
104
114
// specifying quotes.
105
115
// see https://github.com/airbytehq/airbyte/issues/33900
106
-
modifiedStatements.add("SET enable_case_sensitive_identifier to TRUE;\n")
116
+
if (forceCaseSensitiveIdentifier) {
117
+
modifiedStatements.add("SET enable_case_sensitive_identifier to TRUE;\n")
118
+
}
107
119
modifiedStatements.addAll(transaction)
108
-
jdbcDatabase.executeWithinTransaction(
109
-
modifiedStatements,
110
-
logStatements = logStatements
111
-
)
120
+
if (modifiedStatements.size !=1) {
121
+
jdbcDatabase.executeWithinTransaction(
122
+
modifiedStatements,
123
+
logStatements = logStatements
124
+
)
125
+
} else {
126
+
// Redshift doesn't allow some statements to run in a transaction at all,
0 commit comments