storj/private/dbutil
paul cannon 6231842422 private/dbutil: add WithTx transaction helpers
These helpers will work similar to the WithTx method we have added to
our dbx.DB instances, but it will use crdb.ExecuteTx or crdb.ExecuteInTx
when the backend is CockroachDB, so that transactions are retried
correctly.

Anything that uses transactions and might need to work against
CockroachDB needs to handle "RetriableError" from cockroachdb by
restarting the transaction. This will probably be a large pain if not
using these helpers or something very like them.

Subsequent changes will undertake transforming all db-transaction uses
in satellite code so that they are cockroach-safe.

Change-Id: I648b8de2168612c67b9d6eb8402bccf8286249a9
2020-01-06 20:06:45 +00:00
..
cockroachutil satellite/satellitedb/dbx: add cockroach driver type 2020-01-06 18:01:03 +00:00
dbschema private: rename internal to private (#3573) 2019-11-14 21:46:15 +02:00
pgutil common: separate repository 2019-12-27 14:11:15 +02:00
sqliteutil common: separate repository 2019-12-27 14:11:15 +02:00
tempdb private,satellite: unite all the "temp db schema" things 2019-12-05 15:36:59 +00:00
txutil private/dbutil: add WithTx transaction helpers 2020-01-06 20:06:45 +00:00
utccheck storagenodedb: reenable utccheck in tests 2019-12-10 23:17:14 +00:00
dbimplementation.go satellite/satellitedb/dbx: add cockroach driver type 2020-01-06 18:01:03 +00:00
defaults.go private: rename internal to private (#3573) 2019-11-14 21:46:15 +02:00
nulltime.go private: rename internal to private (#3573) 2019-11-14 21:46:15 +02:00
split.go private/dbutil: register "cockroach" as sql.DB driver 2019-12-16 19:10:00 +00:00
tempdbtype.go private,satellite: unite all the "temp db schema" things 2019-12-05 15:36:59 +00:00
uuid_test.go common: separate repository 2019-12-27 14:11:15 +02:00
uuid.go storagenode/notifications: db created (#3707) 2019-12-16 19:59:01 +02:00