question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

YellowBricks: optional Transaction Isolation Level

See original GitHub issue

Steps 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:closed
  • Created 5 years ago
  • Comments:7 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
rojicommented, Nov 7, 2018

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.

0reactions
rojicommented, Dec 2, 2018

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.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found