@@ -12,23 +12,23 @@ pip install postgresql-lock
12
12
13
13
### Supported database interfaces
14
14
15
- - ** asyncpg**
16
- - asynchronous
17
- - ** psycopg2**
18
- - synchronous
19
- - ** psycopg3**
20
- - asynchronous
21
- - synchronous
22
- - ** sqlalchemy** (supports version 1 & 2; can use any underlying database interface)
23
- - asynchronous
24
- - synchronous
15
+ - ** asyncpg**
16
+ - asynchronous
17
+ - ** psycopg2**
18
+ - synchronous
19
+ - ** psycopg3**
20
+ - asynchronous
21
+ - synchronous
22
+ - ** sqlalchemy** (supports version 1 & 2; can use any underlying database interface)
23
+ - asynchronous
24
+ - synchronous
25
25
26
26
### Why would I use this?
27
27
28
- - PostgreSQL table locks aren't sufficient for your use-case
29
- - PostgreSQL row locks don't work on ` INSERT `
30
- - You want to prevent race conditions between ` INSERT ` and ` UPDATE ` on the same primary key
31
- - None of the aforementioned details fit your use-case, but you have PostgreSQL installed and need to prevent race conditions in a distributed system
28
+ - PostgreSQL table locks aren't sufficient for your use-case
29
+ - PostgreSQL row locks don't work on ` INSERT `
30
+ - You want to prevent race conditions between ` INSERT ` and ` UPDATE ` on the same primary key
31
+ - None of the aforementioned details fit your use-case, but you have PostgreSQL installed and need to prevent race conditions in a distributed system
32
32
33
33
### Default operation
34
34
@@ -175,24 +175,26 @@ lock = Lock(conn, "shared-identifier", rollback_on_error=False)
175
175
176
176
### Changelog
177
177
178
- - ** 0.1.9**
179
- - Fix: release_async() bug for sqlalchemy connections
180
- - ** 0.1.8**
181
- - Add logger() function
182
- - Use "postgresql_lock" logger name
183
- - ** 0.1.7**
184
- - Add logging statements
185
- - ** 0.1.6**
186
- - Use int.from_bytes() to convert lock key into integer
187
- - Fix: psycopg3 close() not being awaited bug
188
- - ** 0.1.5**
189
- - Rename package from postgres-lock to postgresql-lock
190
- - ** 0.1.4**
191
- - Add py.typed for mypy
192
- - ** 0.1.3**
193
- - Key can be any object
194
- - ** 0.1.2**
195
- - Add Lock.rollback_on_error (default true)
196
- - Add Lock.handle_error() & Lock.handle_error_async()
197
- - ** 0.1.1**
198
- - Key can be str or int
178
+ - ** 0.2.1**
179
+ - Moved public Lock fields to properties
180
+ - ** 0.1.9**
181
+ - Fix: release_async() bug for sqlalchemy connections
182
+ - ** 0.1.8**
183
+ - Add logger() function
184
+ - Use "postgresql_lock" logger name
185
+ - ** 0.1.7**
186
+ - Add logging statements
187
+ - ** 0.1.6**
188
+ - Use int.from_bytes() to convert lock key into integer
189
+ - Fix: psycopg3 close() not being awaited bug
190
+ - ** 0.1.5**
191
+ - Rename package from postgres-lock to postgresql-lock
192
+ - ** 0.1.4**
193
+ - Add py.typed for mypy
194
+ - ** 0.1.3**
195
+ - Key can be any object
196
+ - ** 0.1.2**
197
+ - Add Lock.rollback_on_error (default true)
198
+ - Add Lock.handle_error() & Lock.handle_error_async()
199
+ - ** 0.1.1**
200
+ - Key can be str or int
0 commit comments