@@ -1001,12 +1001,12 @@ ERROR: could not serialize access due to read/write dependencies among transact
1001
1001
</term>
1002
1002
<listitem>
1003
1003
<para>
1004
- Conflicts with locks of all modes ( <literal>ACCESS
1004
+ Conflicts with locks of <literal>ACCESS
1005
1005
SHARE</literal>, <literal>ROW SHARE</literal>, <literal>ROW
1006
1006
EXCLUSIVE</literal>, <literal>SHARE UPDATE
1007
1007
EXCLUSIVE</literal>, <literal>SHARE</literal>, <literal>SHARE
1008
1008
ROW EXCLUSIVE</literal>, <literal>EXCLUSIVE</literal>, and
1009
- <literal>ACCESS EXCLUSIVE</literal>) .
1009
+ <literal>ACCESS EXCLUSIVE</literal> mode .
1010
1010
This mode guarantees that the
1011
1011
holder is the only transaction accessing the table in any way.
1012
1012
</para>
@@ -1034,6 +1034,40 @@ ERROR: could not serialize access due to read/write dependencies among transact
1034
1034
</para>
1035
1035
</tip>
1036
1036
1037
+ <para>
1038
+ Besides, there are two additional lock modes designed to support
1039
+ <application>1C Enterprise</application>. These modes do not conflict
1040
+ with any other lock modes described above. They use is possible, but not
1041
+ encouraged, as <link linkend="advisory-locks">advisory locks</link> provide
1042
+ the same functionality.
1043
+ </para>
1044
+
1045
+ <variablelist>
1046
+ <varlistentry>
1047
+ <term>
1048
+ <literal>APPLICATION SHARE</literal>
1049
+ </term>
1050
+ <listitem>
1051
+ <para>
1052
+ Conflicts with the <literal>APPLICATION EXCLUSIVE</literal> lock
1053
+ mode only.
1054
+ </para>
1055
+ </listitem>
1056
+ </varlistentry>
1057
+
1058
+ <varlistentry>
1059
+ <term>
1060
+ <literal>APPLICATION EXCLUSIVE</literal>
1061
+ </term>
1062
+ <listitem>
1063
+ <para>
1064
+ Conflicts with the <literal>APPLICATION SHARE</literal> and
1065
+ <literal>APPLICATION EXCLUSIVE</literal> lock modes.
1066
+ </para>
1067
+ </listitem>
1068
+ </varlistentry>
1069
+ </variablelist>
1070
+
1037
1071
<para>
1038
1072
Once acquired, a lock is normally held till end of transaction. But if a
1039
1073
lock is acquired after establishing a savepoint, the lock is released
@@ -1048,9 +1082,9 @@ ERROR: could not serialize access due to read/write dependencies among transact
1048
1082
1049
1083
<table tocentry="1" id="table-lock-compatibility">
1050
1084
<title> Conflicting Lock Modes</title>
1051
- <tgroup cols="9 ">
1085
+ <tgroup cols="11 ">
1052
1086
<colspec colnum="2" colname="lockst">
1053
- <colspec colnum="9 " colname="lockend">
1087
+ <colspec colnum="11 " colname="lockend">
1054
1088
<spanspec namest="lockst" nameend="lockend" spanname="lockreq">
1055
1089
<thead>
1056
1090
<row>
@@ -1066,6 +1100,8 @@ ERROR: could not serialize access due to read/write dependencies among transact
1066
1100
<entry>SHARE ROW EXCLUSIVE</entry>
1067
1101
<entry>EXCLUSIVE</entry>
1068
1102
<entry>ACCESS EXCLUSIVE</entry>
1103
+ <entry>APPLICATION SHARE</entry>
1104
+ <entry>APPLICATION EXCLUSIVE</entry>
1069
1105
</row>
1070
1106
</thead>
1071
1107
<tbody>
@@ -1079,6 +1115,8 @@ ERROR: could not serialize access due to read/write dependencies among transact
1079
1115
<entry align="center"></entry>
1080
1116
<entry align="center"></entry>
1081
1117
<entry align="center">X</entry>
1118
+ <entry align="center"></entry>
1119
+ <entry align="center"></entry>
1082
1120
</row>
1083
1121
<row>
1084
1122
<entry>ROW SHARE</entry>
@@ -1090,6 +1128,8 @@ ERROR: could not serialize access due to read/write dependencies among transact
1090
1128
<entry align="center"></entry>
1091
1129
<entry align="center">X</entry>
1092
1130
<entry align="center">X</entry>
1131
+ <entry align="center"></entry>
1132
+ <entry align="center"></entry>
1093
1133
</row>
1094
1134
<row>
1095
1135
<entry>ROW EXCLUSIVE</entry>
@@ -1101,6 +1141,8 @@ ERROR: could not serialize access due to read/write dependencies among transact
1101
1141
<entry align="center">X</entry>
1102
1142
<entry align="center">X</entry>
1103
1143
<entry align="center">X</entry>
1144
+ <entry align="center"></entry>
1145
+ <entry align="center"></entry>
1104
1146
</row>
1105
1147
<row>
1106
1148
<entry>SHARE UPDATE EXCLUSIVE</entry>
@@ -1112,6 +1154,8 @@ ERROR: could not serialize access due to read/write dependencies among transact
1112
1154
<entry align="center">X</entry>
1113
1155
<entry align="center">X</entry>
1114
1156
<entry align="center">X</entry>
1157
+ <entry align="center"></entry>
1158
+ <entry align="center"></entry>
1115
1159
</row>
1116
1160
<row>
1117
1161
<entry>SHARE</entry>
@@ -1123,6 +1167,8 @@ ERROR: could not serialize access due to read/write dependencies among transact
1123
1167
<entry align="center">X</entry>
1124
1168
<entry align="center">X</entry>
1125
1169
<entry align="center">X</entry>
1170
+ <entry align="center"></entry>
1171
+ <entry align="center"></entry>
1126
1172
</row>
1127
1173
<row>
1128
1174
<entry>SHARE ROW EXCLUSIVE</entry>
@@ -1134,6 +1180,8 @@ ERROR: could not serialize access due to read/write dependencies among transact
1134
1180
<entry align="center">X</entry>
1135
1181
<entry align="center">X</entry>
1136
1182
<entry align="center">X</entry>
1183
+ <entry align="center"></entry>
1184
+ <entry align="center"></entry>
1137
1185
</row>
1138
1186
<row>
1139
1187
<entry>EXCLUSIVE</entry>
@@ -1145,6 +1193,8 @@ ERROR: could not serialize access due to read/write dependencies among transact
1145
1193
<entry align="center">X</entry>
1146
1194
<entry align="center">X</entry>
1147
1195
<entry align="center">X</entry>
1196
+ <entry align="center"></entry>
1197
+ <entry align="center"></entry>
1148
1198
</row>
1149
1199
<row>
1150
1200
<entry>ACCESS EXCLUSIVE</entry>
@@ -1156,6 +1206,34 @@ ERROR: could not serialize access due to read/write dependencies among transact
1156
1206
<entry align="center">X</entry>
1157
1207
<entry align="center">X</entry>
1158
1208
<entry align="center">X</entry>
1209
+ <entry align="center"></entry>
1210
+ <entry align="center"></entry>
1211
+ </row>
1212
+ <row>
1213
+ <entry>APPLICATION SHARE</entry>
1214
+ <entry align="center"></entry>
1215
+ <entry align="center"></entry>
1216
+ <entry align="center"></entry>
1217
+ <entry align="center"></entry>
1218
+ <entry align="center"></entry>
1219
+ <entry align="center"></entry>
1220
+ <entry align="center"></entry>
1221
+ <entry align="center"></entry>
1222
+ <entry align="center"></entry>
1223
+ <entry align="center">X</entry>
1224
+ </row>
1225
+ <row>
1226
+ <entry>APPLICATION EXCLUSIVE</entry>
1227
+ <entry align="center"></entry>
1228
+ <entry align="center"></entry>
1229
+ <entry align="center"></entry>
1230
+ <entry align="center"></entry>
1231
+ <entry align="center"></entry>
1232
+ <entry align="center"></entry>
1233
+ <entry align="center"></entry>
1234
+ <entry align="center"></entry>
1235
+ <entry align="center">X</entry>
1236
+ <entry align="center">X</entry>
1159
1237
</row>
1160
1238
</tbody>
1161
1239
</tgroup>
0 commit comments