{"repo":"avito-tech/go-transaction-manager","free":true,"listed":false,"github":"https://github.com/avito-tech/go-transaction-manager","clone":"git clone https://github.com/avito-tech/go-transaction-manager.git","description":"Transaction manager for GoLang","language":"Go","stars":413,"topics":["golang","golang-library","transaction","transaction-manager","database","go","nested-transactions","trm","sql","sqlx"],"license":"MIT","category":"databases-storage","readme_excerpt":"Go transaction manager Transaction manager is an abstraction to coordinate database transaction boundaries. Easiest way to get the perfect repository. Supported implementations database/sql, docs ( Go 1.13) jmoiron/sqlx, docs ( Go 1.13) gorm, docs ( Go 1.18) mongo-go-driver, docs ( Go 1.13) go-redis/redis, docs ( Go 1.17) pgx v4, docs ( Go 1.16) pgx v5, docs ( Go 1.19) [!WARNING] The pgx v4 and pgx v5 transactions are not safe for concurrent use : pgx.Tx does not support running commands from multiple goroutines simultaneously (jackc/pgx#2332). Never run a query concurrently with Commit / Rollback on the same transaction. Context cancellation does not roll back the transaction from a background goroutine — with the manager the rollback runs after your function returns; standalone callers must call Rollback explicitly. Installation To install some support database use go get github.com/avito-tech/go-transaction-manager/drivers/{name} . For example go get github.com/avito-tech/go-transaction-manager/drivers/sqlx/v2 . Backwards Compatibility The library is compatible with the most recent two versions of Go. Compatibility beyond that is not guaranteed. The critical bugs are firstly solved for the most recent two Golang versions and then for older ones if it is simple. [!CAUTION] Disclaimer: Keep your dependencies up to date, even indirect ones. go get -u && go mod tidy helps you. Note : The go-transaction-manager uses some old dependencies to support backwards compatibility for o","default_branch":null,"files":null,"tree":[],"storefront":"/r/avito-tech","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/avito-tech/go-transaction-manager/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}