-
Notifications
You must be signed in to change notification settings - Fork 34
Add TRANSACTION_ISOLATION_LEVEL config in cloudsql-postgres and cloudsql-mysql plugins #672
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
base: release/1.12
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -84,6 +84,20 @@ | |
| "label": "Password", | ||
| "name": "password" | ||
| }, | ||
| { | ||
| "widget-type": "select", | ||
| "label": "Transaction Isolation Level", | ||
| "name": "transactionIsolationLevel", | ||
| "widget-attributes": { | ||
| "values": [ | ||
| "TRANSACTION_READ_UNCOMMITTED", | ||
| "TRANSACTION_READ_COMMITTED", | ||
| "TRANSACTION_SERIALIZABLE", | ||
| "TRANSACTION_REPEATABLE_READ" | ||
| ], | ||
| "default": "TRANSACTION_REPEATABLE_READ" | ||
| } | ||
| }, | ||
|
Comment on lines
+87
to
+100
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
| { | ||
| "widget-type": "keyvalue", | ||
| "label": "Connection Arguments", | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -42,7 +42,13 @@ Can be found in the instance overview page. | |||||||||||||||||||||
|
|
||||||||||||||||||||||
| **Password:** Password to use to connect to the specified database. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| **Transaction Isolation Level:** Transaction isolation level for queries run by this sink. | ||||||||||||||||||||||
| **Transaction Isolation Level** The transaction isolation level of the databse connection | ||||||||||||||||||||||
| - TRANSACTION_READ_COMMITTED: No dirty reads. Non-repeatable reads and phantom reads are possible. | ||||||||||||||||||||||
| - TRANSACTION_SERIALIZABLE: No dirty reads. Non-repeatable and phantom reads are prevented. | ||||||||||||||||||||||
| - TRANSACTION_REPEATABLE_READ: No dirty reads. Prevents non-repeatable reads, but phantom reads are still possible. | ||||||||||||||||||||||
| - Note: PostgreSQL does not implement `TRANSACTION_READ_UNCOMMITTED` as a distinct isolation level. Instead, this mode behaves identically to`TRANSACTION_READ_COMMITTED`, which is why it is not exposed as a separate option. | ||||||||||||||||||||||
|
Comment on lines
+45
to
+49
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix the typo "databse" -> "database" and add a missing space before the backtick in
Suggested change
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| For more details on the Transaction Isolation Levels supported in CloudSQL PostgreSQL, refer to the [CloudSQL PostgreSQL documentation](https://www.postgresql.org/docs/current/transaction-iso.html) | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| **Connection Arguments:** A list of arbitrary string key/value pairs as connection arguments. These arguments | ||||||||||||||||||||||
| will be passed to the JDBC driver as connection arguments for JDBC drivers that may need additional configurations. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -52,6 +52,14 @@ For example, 'SELECT MIN(id),MAX(id) FROM table'. Not required if numSplits is s | |||||||||||||||||||||
|
|
||||||||||||||||||||||
| **Password:** Password to use to connect to the specified database. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| **Transaction Isolation Level** The transaction isolation level of the databse connection | ||||||||||||||||||||||
| - TRANSACTION_READ_COMMITTED: No dirty reads. Non-repeatable reads and phantom reads are possible. | ||||||||||||||||||||||
| - TRANSACTION_SERIALIZABLE: No dirty reads. Non-repeatable and phantom reads are prevented. | ||||||||||||||||||||||
| - TRANSACTION_REPEATABLE_READ: No dirty reads. Prevents non-repeatable reads, but phantom reads are still possible. | ||||||||||||||||||||||
| - Note: PostgreSQL does not implement `TRANSACTION_READ_UNCOMMITTED` as a distinct isolation level. Instead, this mode behaves identically to`TRANSACTION_READ_COMMITTED`, which is why it is not exposed as a separate option. | ||||||||||||||||||||||
|
Comment on lines
+55
to
+59
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix the typo "databse" -> "database" and add a missing space before the backtick in
Suggested change
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| For more details on the Transaction Isolation Levels supported in CloudSQL PostgreSQL, refer to the [CloudSQL PostgreSQL documentation](https://www.postgresql.org/docs/current/transaction-iso.html) | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| **Connection Arguments:** A list of arbitrary string key/value pairs as connection arguments. These arguments | ||||||||||||||||||||||
| will be passed to the JDBC driver as connection arguments for JDBC drivers that may need additional configurations. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -27,6 +27,14 @@ authentication. Optional for databases that do not require authentication. | |||||||||||||||||||||
|
|
||||||||||||||||||||||
| **Password:** Password to use to connect to the specified database. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| **Transaction Isolation Level** The transaction isolation level of the databse connection | ||||||||||||||||||||||
| - TRANSACTION_READ_COMMITTED: No dirty reads. Non-repeatable reads and phantom reads are possible. | ||||||||||||||||||||||
| - TRANSACTION_SERIALIZABLE: No dirty reads. Non-repeatable and phantom reads are prevented. | ||||||||||||||||||||||
| - TRANSACTION_REPEATABLE_READ: No dirty reads. Prevents non-repeatable reads, but phantom reads are still possible. | ||||||||||||||||||||||
| - Note: PostgreSQL does not implement `TRANSACTION_READ_UNCOMMITTED` as a distinct isolation level. Instead, this mode behaves identically to`TRANSACTION_READ_COMMITTED`, which is why it is not exposed as a separate option. | ||||||||||||||||||||||
|
Comment on lines
+30
to
+34
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix the typo "databse" -> "database" and add a missing space before the backtick in
Suggested change
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| For more details on the Transaction Isolation Levels supported in CloudSQL PostgreSQL, refer to the [CloudSQL PostgreSQL documentation](https://www.postgresql.org/docs/current/transaction-iso.html) | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| **Connection Arguments:** A list of arbitrary string tag/value pairs as connection arguments. These arguments | ||||||||||||||||||||||
| will be passed to the JDBC driver, as connection arguments, for JDBC drivers that may need additional configurations. | ||||||||||||||||||||||
| This is a semicolon-separated list of key-value pairs, where each pair is separated by a equals '=' and specifies | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -84,6 +84,19 @@ | |
| "label": "Password", | ||
| "name": "password" | ||
| }, | ||
| { | ||
| "widget-type": "select", | ||
| "label": "Transaction Isolation Level", | ||
| "name": "transactionIsolationLevel", | ||
| "widget-attributes": { | ||
| "values": [ | ||
| "TRANSACTION_REPEATABLE_READ", | ||
| "TRANSACTION_SERIALIZABLE", | ||
| "TRANSACTION_READ_COMMITTED" | ||
| ], | ||
| "default": "TRANSACTION_READ_COMMITTED" | ||
| } | ||
| }, | ||
|
Comment on lines
+87
to
+99
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
| { | ||
| "widget-type": "keyvalue", | ||
| "label": "Connection Arguments", | ||
|
|
||
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.
For consistency with other configuration properties in this class (such as
useConnectionandconnection) and withCloudSQLPostgreSQLSourceConfig, thetransactionIsolationLevelfield should be declared asprivateinstead ofpublic.