forked from googleapis/python-spanner-django
/
exceptions.py
104 lines (69 loc) · 1.96 KB
/
exceptions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Copyright 2020 Google LLC
#
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd
"""Spanner DB API exceptions."""
class Warning(Exception):
"""Important DB API warning."""
pass
class Error(Exception):
"""The base class for all the DB API exceptions.
Does not include :class:`Warning`.
"""
pass
class InterfaceError(Error):
"""
Error related to the database interface
rather than the database itself.
"""
pass
class DatabaseError(Error):
"""Error related to the database."""
pass
class DataError(DatabaseError):
"""
Error due to problems with the processed data like
division by zero, numeric value out of range, etc.
"""
pass
class OperationalError(DatabaseError):
"""
Error related to the database's operation, e.g. an
unexpected disconnect, the data source name is not
found, a transaction could not be processed, a
memory allocation error, etc.
"""
pass
class IntegrityError(DatabaseError):
"""
Error for cases of relational integrity of the database
is affected, e.g. a foreign key check fails.
"""
pass
class InternalError(DatabaseError):
"""
Internal database error, e.g. the cursor is not valid
anymore, the transaction is out of sync, etc.
"""
pass
class ProgrammingError(DatabaseError):
"""
Programming error, e.g. table not found or already
exists, syntax error in the SQL statement, wrong
number of parameters specified, etc.
"""
pass
class NotSupportedError(DatabaseError):
"""
Error for case of a method or database API not
supported by the database was used.
"""
pass
class AbortedRetried(OperationalError):
"""
Error for case of no aborted transaction retry
is available, because of underlying data being
changed during a retry.
"""
pass