YellowBricks: optional Transaction Isolation Level
See original GitHub issueSteps to reproduce
Create a connection to the data platform Yellowbrick, which is based on postgres.
The issue
When creating a connection, npgsql attempts to fetch types for mapping purposes.
Yellowbrick don’t support using the transaction_isolation level in the “begin transaction” part of
PostgresDatabaseInfoFactory.GenerateTypesQuery
Would it be possible to turn on and off transaction_isolation in the sql based on a property of the connection (much like ServerCompatibilityMode = ServerCompatibilityMode.NoTypeLoading
in the connection / connection builder.
Thanks
Issue Analytics
- State:
- Created 5 years ago
- Comments:7 (4 by maintainers)
Top Results From Across the Web
Locking in the Yellowbrick Interface
These transactions are serializable, but higher concurrency is possible than with the serializable isolation level.
Read more >Yellowbrick Data Warehouse Architecture
Yellowbrick, being an enterprise-class database, implements full ACID transactions. The isolation level provided universally is READ COMMITTED. Locking is ...
Read more >SET TRANSACTION ISOLATION LEVEL (Transact-SQL)
The isolation level of the transactional support is default to READ UNCOMMITTED. You can change it to READ COMMITTED SNAPSHOT ISOLATION by ...
Read more >Isolation levels
For dynamic SQL statements, the default isolation level is the isolation level that was specified for the package while the statement was prepared....
Read more >PostgreSQL: Documentation: 15: 13.2. Transaction Isolation
The Serializable isolation level provides the strictest transaction isolation. This level emulates serial transaction execution for all committed transactions; ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
FYI we already have some internal support for completely ignoring
BeginTransaction()
for databases which don’t support it. Does Yellowbrick support transactions (just not isolation levels), or does it not support transactions at all?Apart from that, some more detail on this database would be appreciate. Ideally, we’d be able to detect Yellowbrick automatically and suppress transactions (or isolation levels) automatically without any need for the user to specify a connection string parameter; the infrastructure already exists for that, we just need to know how to detect Yellowbrick after connecting to it.
See #2244 - a 2nd unrelated complaint has been raised on the use of a transaction while loading types, so we’ll remove that.
In addition, we plan to implement #2245, which will stop setting the isolation level unless it has changed; this should make it possible to use transactions without ever setting the isolation level.
Am closing this issue as the two others should cover everything for YellowBricks.