Open
Description
From #405 (comment)
In my head the logic should be:
- On
cursor.close()
- Cancel any already executing queries if they exist
- Perform implicit ROLLBACK if within a transaction
- Set some boolean so that calling any method of the
cursor
leads toError
We don't do steps 2 and 3 here (both required by DB-API).
- On
cursor.cancel()
- this is not a DB-API specified method so the behaviour is up to us to specify
- Cancel any already executing queries
- If query already finished, return False
- If query is running and was cancelled successfully, return True
- If no query was executed at all (how to differentiate between this and already finished? - presence of query on the cursor?) then raise Exception