Doctrine_Transaction.html 58.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<html>
    <head>
        <title>Coverage for Doctrine_Transaction</title>
        <style type="text/css">
            .covered{ background: green;}
            .normal{ background: white;}
            .red{ background: red;}
            .orange{ background: #f90;}
       </style>
</head>
<body><h1>Coverage for Doctrine_Transaction</h1><p><a href="index.php">Back to coverage report</a></p><table>
<tr><td>1</td>
<td class="normal">&lt;?php
</td></tr>
<tr><td>2</td>
<td class="normal">/*
</td></tr>
<tr><td>3</td>
meus's avatar
meus committed
19
<td class="normal">&nbsp;*&nbsp;&nbsp;$Id:&nbsp;Transaction.php&nbsp;3184&nbsp;2007-11-18&nbsp;16:42:33Z&nbsp;romanb&nbsp;$
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 105 106 107 108
</td></tr>
<tr><td>4</td>
<td class="normal">&nbsp;*
</td></tr>
<tr><td>5</td>
<td class="normal">&nbsp;*&nbsp;THIS&nbsp;SOFTWARE&nbsp;IS&nbsp;PROVIDED&nbsp;BY&nbsp;THE&nbsp;COPYRIGHT&nbsp;HOLDERS&nbsp;AND&nbsp;CONTRIBUTORS
</td></tr>
<tr><td>6</td>
<td class="normal">&nbsp;*&nbsp;&quot;AS&nbsp;IS&quot;&nbsp;AND&nbsp;ANY&nbsp;EXPRESS&nbsp;OR&nbsp;IMPLIED&nbsp;WARRANTIES,&nbsp;INCLUDING,&nbsp;BUT&nbsp;NOT
</td></tr>
<tr><td>7</td>
<td class="normal">&nbsp;*&nbsp;LIMITED&nbsp;TO,&nbsp;THE&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF&nbsp;MERCHANTABILITY&nbsp;AND&nbsp;FITNESS&nbsp;FOR
</td></tr>
<tr><td>8</td>
<td class="normal">&nbsp;*&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE&nbsp;ARE&nbsp;DISCLAIMED.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;SHALL&nbsp;THE&nbsp;COPYRIGHT
</td></tr>
<tr><td>9</td>
<td class="normal">&nbsp;*&nbsp;OWNER&nbsp;OR&nbsp;CONTRIBUTORS&nbsp;BE&nbsp;LIABLE&nbsp;FOR&nbsp;ANY&nbsp;DIRECT,&nbsp;INDIRECT,&nbsp;INCIDENTAL,
</td></tr>
<tr><td>10</td>
<td class="normal">&nbsp;*&nbsp;SPECIAL,&nbsp;EXEMPLARY,&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;(INCLUDING,&nbsp;BUT&nbsp;NOT
</td></tr>
<tr><td>11</td>
<td class="normal">&nbsp;*&nbsp;LIMITED&nbsp;TO,&nbsp;PROCUREMENT&nbsp;OF&nbsp;SUBSTITUTE&nbsp;GOODS&nbsp;OR&nbsp;SERVICES;&nbsp;LOSS&nbsp;OF&nbsp;USE,
</td></tr>
<tr><td>12</td>
<td class="normal">&nbsp;*&nbsp;DATA,&nbsp;OR&nbsp;PROFITS;&nbsp;OR&nbsp;BUSINESS&nbsp;INTERRUPTION)&nbsp;HOWEVER&nbsp;CAUSED&nbsp;AND&nbsp;ON&nbsp;ANY
</td></tr>
<tr><td>13</td>
<td class="normal">&nbsp;*&nbsp;THEORY&nbsp;OF&nbsp;LIABILITY,&nbsp;WHETHER&nbsp;IN&nbsp;CONTRACT,&nbsp;STRICT&nbsp;LIABILITY,&nbsp;OR&nbsp;TORT
</td></tr>
<tr><td>14</td>
<td class="normal">&nbsp;*&nbsp;(INCLUDING&nbsp;NEGLIGENCE&nbsp;OR&nbsp;OTHERWISE)&nbsp;ARISING&nbsp;IN&nbsp;ANY&nbsp;WAY&nbsp;OUT&nbsp;OF&nbsp;THE&nbsp;USE
</td></tr>
<tr><td>15</td>
<td class="normal">&nbsp;*&nbsp;OF&nbsp;THIS&nbsp;SOFTWARE,&nbsp;EVEN&nbsp;IF&nbsp;ADVISED&nbsp;OF&nbsp;THE&nbsp;POSSIBILITY&nbsp;OF&nbsp;SUCH&nbsp;DAMAGE.
</td></tr>
<tr><td>16</td>
<td class="normal">&nbsp;*
</td></tr>
<tr><td>17</td>
<td class="normal">&nbsp;*&nbsp;This&nbsp;software&nbsp;consists&nbsp;of&nbsp;voluntary&nbsp;contributions&nbsp;made&nbsp;by&nbsp;many&nbsp;individuals
</td></tr>
<tr><td>18</td>
<td class="normal">&nbsp;*&nbsp;and&nbsp;is&nbsp;licensed&nbsp;under&nbsp;the&nbsp;LGPL.&nbsp;For&nbsp;more&nbsp;information,&nbsp;see
</td></tr>
<tr><td>19</td>
<td class="normal">&nbsp;*&nbsp;&lt;http://www.phpdoctrine.com&gt;.
</td></tr>
<tr><td>20</td>
<td class="normal">&nbsp;*/
</td></tr>
<tr><td>21</td>
<td class="covered">Doctrine::autoload('Doctrine_Connection_Module');
</td></tr>
<tr><td>22</td>
<td class="normal">/**
</td></tr>
<tr><td>23</td>
<td class="normal">&nbsp;*&nbsp;Doctrine_Transaction
</td></tr>
<tr><td>24</td>
<td class="normal">&nbsp;*&nbsp;Handles&nbsp;transaction&nbsp;savepoint&nbsp;and&nbsp;isolation&nbsp;abstraction
</td></tr>
<tr><td>25</td>
<td class="normal">&nbsp;*
</td></tr>
<tr><td>26</td>
<td class="normal">&nbsp;*&nbsp;@author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Konsta&nbsp;Vesterinen&nbsp;&lt;kvesteri@cc.hut.fi&gt;
</td></tr>
<tr><td>27</td>
<td class="normal">&nbsp;*&nbsp;@author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lukas&nbsp;Smith&nbsp;&lt;smith@pooteeweet.org&gt;&nbsp;(PEAR&nbsp;MDB2&nbsp;library)
</td></tr>
<tr><td>28</td>
<td class="normal">&nbsp;*&nbsp;@license&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.opensource.org/licenses/lgpl-license.php&nbsp;LGPL
</td></tr>
<tr><td>29</td>
<td class="normal">&nbsp;*&nbsp;@package&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Doctrine
</td></tr>
<tr><td>30</td>
<td class="normal">&nbsp;*&nbsp;@subpackage&nbsp;&nbsp;Transaction
</td></tr>
<tr><td>31</td>
<td class="normal">&nbsp;*&nbsp;@link&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;www.phpdoctrine.com
</td></tr>
<tr><td>32</td>
<td class="normal">&nbsp;*&nbsp;@since&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0
</td></tr>
<tr><td>33</td>
meus's avatar
meus committed
109
<td class="normal">&nbsp;*&nbsp;@version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Revision:&nbsp;3184&nbsp;$
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
</td></tr>
<tr><td>34</td>
<td class="normal">&nbsp;*/
</td></tr>
<tr><td>35</td>
<td class="covered">class&nbsp;Doctrine_Transaction&nbsp;extends&nbsp;Doctrine_Connection_Module
</td></tr>
<tr><td>36</td>
<td class="normal">{
</td></tr>
<tr><td>37</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
<tr><td>38</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Doctrine_Transaction&nbsp;is&nbsp;in&nbsp;sleep&nbsp;state&nbsp;when&nbsp;it&nbsp;has&nbsp;no&nbsp;active&nbsp;transactions
</td></tr>
<tr><td>39</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
<tr><td>40</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;STATE_SLEEP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0;
</td></tr>
<tr><td>41</td>
133
<td class="normal">
134 135
</td></tr>
<tr><td>42</td>
136
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
137 138
</td></tr>
<tr><td>43</td>
139
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Doctrine_Transaction&nbsp;is&nbsp;in&nbsp;active&nbsp;state&nbsp;when&nbsp;it&nbsp;has&nbsp;one&nbsp;active&nbsp;transaction
140 141
</td></tr>
<tr><td>44</td>
142
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
143 144
</td></tr>
<tr><td>45</td>
145
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;STATE_ACTIVE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;1;
146 147
</td></tr>
<tr><td>46</td>
148
<td class="normal">
149 150
</td></tr>
<tr><td>47</td>
151
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
152 153
</td></tr>
<tr><td>48</td>
154
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Doctrine_Transaction&nbsp;is&nbsp;in&nbsp;busy&nbsp;state&nbsp;when&nbsp;it&nbsp;has&nbsp;multiple&nbsp;active&nbsp;transactions
155 156
</td></tr>
<tr><td>49</td>
157
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
158 159
</td></tr>
<tr><td>50</td>
160
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;STATE_BUSY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;2;
161 162
</td></tr>
<tr><td>51</td>
163
<td class="normal">
164 165
</td></tr>
<tr><td>52</td>
166
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
167 168
</td></tr>
<tr><td>53</td>
169
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;integer&nbsp;$transactionLevel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;nesting&nbsp;level&nbsp;of&nbsp;transactions,&nbsp;used&nbsp;by&nbsp;transaction&nbsp;methods
170 171
</td></tr>
<tr><td>54</td>
172
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
173 174
</td></tr>
<tr><td>55</td>
175
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$transactionLevel&nbsp;&nbsp;=&nbsp;0;
176 177
</td></tr>
<tr><td>56</td>
178
<td class="normal">
179 180 181 182 183
</td></tr>
<tr><td>57</td>
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
</td></tr>
<tr><td>58</td>
184
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;array&nbsp;$invalid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;an&nbsp;array&nbsp;containing&nbsp;all&nbsp;invalid&nbsp;records&nbsp;within&nbsp;this&nbsp;transaction
185 186
</td></tr>
<tr><td>59</td>
meus's avatar
meus committed
187
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@todo&nbsp;What&nbsp;about&nbsp;a&nbsp;more&nbsp;verbose&nbsp;name?&nbsp;$invalidRecords?
188 189
</td></tr>
<tr><td>60</td>
meus's avatar
meus committed
190
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
191 192
</td></tr>
<tr><td>61</td>
meus's avatar
meus committed
193
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$invalid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;array();
194 195
</td></tr>
<tr><td>62</td>
meus's avatar
meus committed
196
<td class="normal">
197 198
</td></tr>
<tr><td>63</td>
meus's avatar
meus committed
199
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
200 201
</td></tr>
<tr><td>64</td>
meus's avatar
meus committed
202
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;array&nbsp;$savepoints&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;an&nbsp;array&nbsp;containing&nbsp;all&nbsp;savepoints
203 204
</td></tr>
<tr><td>65</td>
meus's avatar
meus committed
205
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
206 207
</td></tr>
<tr><td>66</td>
meus's avatar
meus committed
208
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$savePoints&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;array();
209 210
</td></tr>
<tr><td>67</td>
meus's avatar
meus committed
211
<td class="normal">
212 213
</td></tr>
<tr><td>68</td>
meus's avatar
meus committed
214
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
215 216
</td></tr>
<tr><td>69</td>
meus's avatar
meus committed
217
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@var&nbsp;array&nbsp;$_collections&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;an&nbsp;array&nbsp;of&nbsp;Doctrine_Collection&nbsp;objects&nbsp;that&nbsp;were&nbsp;affected&nbsp;during&nbsp;the&nbsp;Transaction
218 219
</td></tr>
<tr><td>70</td>
meus's avatar
meus committed
220
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
221 222
</td></tr>
<tr><td>71</td>
meus's avatar
meus committed
223
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;$_collections&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;array();
224 225
</td></tr>
<tr><td>72</td>
meus's avatar
meus committed
226
<td class="normal">
227 228
</td></tr>
<tr><td>73</td>
meus's avatar
meus committed
229
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
230 231
</td></tr>
<tr><td>74</td>
meus's avatar
meus committed
232
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;addCollection
233 234
</td></tr>
<tr><td>75</td>
meus's avatar
meus committed
235
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;adds&nbsp;a&nbsp;collection&nbsp;in&nbsp;the&nbsp;internal&nbsp;array&nbsp;of&nbsp;collections
236 237
</td></tr>
<tr><td>76</td>
meus's avatar
meus committed
238
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
239 240
</td></tr>
<tr><td>77</td>
meus's avatar
meus committed
241
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;each&nbsp;commit&nbsp;this&nbsp;array&nbsp;is&nbsp;looped&nbsp;over&nbsp;and
242 243
</td></tr>
<tr><td>78</td>
meus's avatar
meus committed
244
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;of&nbsp;every&nbsp;collection&nbsp;Doctrine&nbsp;then&nbsp;takes&nbsp;a&nbsp;snapshot&nbsp;in&nbsp;order
245 246
</td></tr>
<tr><td>79</td>
meus's avatar
meus committed
247
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;to&nbsp;keep&nbsp;the&nbsp;collections&nbsp;up&nbsp;to&nbsp;date&nbsp;with&nbsp;the&nbsp;database
248 249
</td></tr>
<tr><td>80</td>
meus's avatar
meus committed
250
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
251 252
</td></tr>
<tr><td>81</td>
meus's avatar
meus committed
253
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;Doctrine_Collection&nbsp;$coll&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;collection&nbsp;to&nbsp;be&nbsp;added
254 255
</td></tr>
<tr><td>82</td>
meus's avatar
meus committed
256
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Transaction&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;object
257 258
</td></tr>
<tr><td>83</td>
meus's avatar
meus committed
259
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
260 261
</td></tr>
<tr><td>84</td>
meus's avatar
meus committed
262
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;addCollection(Doctrine_Collection&nbsp;$coll)
263 264
</td></tr>
<tr><td>85</td>
meus's avatar
meus committed
265
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
266 267
</td></tr>
<tr><td>86</td>
meus's avatar
meus committed
268
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;_collections[]&nbsp;=&nbsp;$coll;
269 270
</td></tr>
<tr><td>87</td>
meus's avatar
meus committed
271
<td class="normal">
272 273
</td></tr>
<tr><td>88</td>
meus's avatar
meus committed
274
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this;
275 276
</td></tr>
<tr><td>89</td>
meus's avatar
meus committed
277
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
278 279
</td></tr>
<tr><td>90</td>
meus's avatar
meus committed
280
<td class="normal">
281 282
</td></tr>
<tr><td>91</td>
meus's avatar
meus committed
283
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
284 285
</td></tr>
<tr><td>92</td>
meus's avatar
meus committed
286
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getState
287 288
</td></tr>
<tr><td>93</td>
meus's avatar
meus committed
289
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;returns&nbsp;the&nbsp;state&nbsp;of&nbsp;this&nbsp;connection
290 291
</td></tr>
<tr><td>94</td>
meus's avatar
meus committed
292
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
293 294
</td></tr>
<tr><td>95</td>
meus's avatar
meus committed
295
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@see&nbsp;Doctrine_Connection_Transaction::STATE_*&nbsp;constants
296 297
</td></tr>
<tr><td>96</td>
meus's avatar
meus committed
298
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;connection&nbsp;state
299 300
</td></tr>
<tr><td>97</td>
meus's avatar
meus committed
301
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
302 303
</td></tr>
<tr><td>98</td>
meus's avatar
meus committed
304
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getState()
305 306
</td></tr>
<tr><td>99</td>
meus's avatar
meus committed
307
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
308 309
</td></tr>
<tr><td>100</td>
meus's avatar
meus committed
310
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch&nbsp;($this-&gt;transactionLevel)&nbsp;{
311 312
</td></tr>
<tr><td>101</td>
meus's avatar
meus committed
313
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;0:
314 315
</td></tr>
<tr><td>102</td>
meus's avatar
meus committed
316
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Doctrine_Transaction::STATE_SLEEP;
317 318
</td></tr>
<tr><td>103</td>
meus's avatar
meus committed
319
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
320 321
</td></tr>
<tr><td>104</td>
meus's avatar
meus committed
322
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;1:
323 324
</td></tr>
<tr><td>105</td>
meus's avatar
meus committed
325
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Doctrine_Transaction::STATE_ACTIVE;
326 327
</td></tr>
<tr><td>106</td>
meus's avatar
meus committed
328
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
329 330
</td></tr>
<tr><td>107</td>
meus's avatar
meus committed
331
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:
332 333
</td></tr>
<tr><td>108</td>
meus's avatar
meus committed
334
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Doctrine_Transaction::STATE_BUSY;
335 336
</td></tr>
<tr><td>109</td>
meus's avatar
meus committed
337
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
338 339
</td></tr>
<tr><td>110</td>
meus's avatar
meus committed
340
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
341 342
</td></tr>
<tr><td>111</td>
meus's avatar
meus committed
343
<td class="normal">
344 345
</td></tr>
<tr><td>112</td>
meus's avatar
meus committed
346
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
347 348
</td></tr>
<tr><td>113</td>
meus's avatar
meus committed
349
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;addInvalid
350 351
</td></tr>
<tr><td>114</td>
meus's avatar
meus committed
352
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;adds&nbsp;record&nbsp;into&nbsp;invalid&nbsp;records&nbsp;list
353 354
</td></tr>
<tr><td>115</td>
meus's avatar
meus committed
355
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
356 357
</td></tr>
<tr><td>116</td>
meus's avatar
meus committed
358
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;Doctrine_Record&nbsp;$record
359 360
</td></tr>
<tr><td>117</td>
meus's avatar
meus committed
361
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;boolean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;false&nbsp;if&nbsp;record&nbsp;already&nbsp;existed&nbsp;in&nbsp;invalid&nbsp;records&nbsp;list,
362 363
</td></tr>
<tr><td>118</td>
meus's avatar
meus committed
364
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;otherwise&nbsp;true
365 366
</td></tr>
<tr><td>119</td>
meus's avatar
meus committed
367
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
368 369
</td></tr>
<tr><td>120</td>
meus's avatar
meus committed
370
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;addInvalid(Doctrine_Record&nbsp;$record)
371 372
</td></tr>
<tr><td>121</td>
meus's avatar
meus committed
373
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
374 375
</td></tr>
<tr><td>122</td>
meus's avatar
meus committed
376
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(in_array($record,&nbsp;$this-&gt;invalid,&nbsp;true))&nbsp;{
377 378
</td></tr>
<tr><td>123</td>
meus's avatar
meus committed
379
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;
380 381
</td></tr>
<tr><td>124</td>
meus's avatar
meus committed
382
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
383 384
</td></tr>
<tr><td>125</td>
meus's avatar
meus committed
385
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;invalid[]&nbsp;=&nbsp;$record;
386 387
</td></tr>
<tr><td>126</td>
meus's avatar
meus committed
388
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;
389 390
</td></tr>
<tr><td>127</td>
meus's avatar
meus committed
391
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
392 393
</td></tr>
<tr><td>128</td>
394
<td class="normal">
395 396
</td></tr>
<tr><td>129</td>
meus's avatar
meus committed
397
<td class="normal">
398 399
</td></tr>
<tr><td>130</td>
meus's avatar
meus committed
400
<td class="normal">&nbsp;&nbsp;&nbsp;/**
401 402
</td></tr>
<tr><td>131</td>
meus's avatar
meus committed
403
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Return&nbsp;the&nbsp;invalid&nbsp;records
404 405
</td></tr>
<tr><td>132</td>
meus's avatar
meus committed
406
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;*
407 408
</td></tr>
<tr><td>133</td>
meus's avatar
meus committed
409
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array&nbsp;An&nbsp;array&nbsp;of&nbsp;invalid&nbsp;records
410 411
</td></tr>
<tr><td>134</td>
meus's avatar
meus committed
412
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;
413 414
</td></tr>
<tr><td>135</td>
meus's avatar
meus committed
415
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getInvalid(){
416 417
</td></tr>
<tr><td>136</td>
meus's avatar
meus committed
418
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;invalid;
419 420
</td></tr>
<tr><td>137</td>
meus's avatar
meus committed
421
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
422 423
</td></tr>
<tr><td>138</td>
meus's avatar
meus committed
424
<td class="normal">
425 426
</td></tr>
<tr><td>139</td>
meus's avatar
meus committed
427
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
428 429
</td></tr>
<tr><td>140</td>
meus's avatar
meus committed
430
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getTransactionLevel
431 432
</td></tr>
<tr><td>141</td>
meus's avatar
meus committed
433
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;get&nbsp;the&nbsp;current&nbsp;transaction&nbsp;nesting&nbsp;level
434 435
</td></tr>
<tr><td>142</td>
meus's avatar
meus committed
436
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
437 438
</td></tr>
<tr><td>143</td>
meus's avatar
meus committed
439
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;integer
440 441
</td></tr>
<tr><td>144</td>
meus's avatar
meus committed
442
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
443 444
</td></tr>
<tr><td>145</td>
meus's avatar
meus committed
445
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getTransactionLevel()
446 447
</td></tr>
<tr><td>146</td>
meus's avatar
meus committed
448
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
449 450
</td></tr>
<tr><td>147</td>
meus's avatar
meus committed
451
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;transactionLevel;
452 453
</td></tr>
<tr><td>148</td>
meus's avatar
meus committed
454
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
455 456
</td></tr>
<tr><td>149</td>
meus's avatar
meus committed
457
<td class="normal">
458 459
</td></tr>
<tr><td>150</td>
meus's avatar
meus committed
460
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
461 462
</td></tr>
<tr><td>151</td>
meus's avatar
meus committed
463
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getTransactionLevel
464 465
</td></tr>
<tr><td>152</td>
meus's avatar
meus committed
466
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;set&nbsp;the&nbsp;current&nbsp;transaction&nbsp;nesting&nbsp;level
467 468
</td></tr>
<tr><td>153</td>
meus's avatar
meus committed
469
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
470 471
</td></tr>
<tr><td>154</td>
meus's avatar
meus committed
472
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;Doctrine_Transaction&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;object
473 474
</td></tr>
<tr><td>155</td>
meus's avatar
meus committed
475
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
476 477
</td></tr>
<tr><td>156</td>
meus's avatar
meus committed
478
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;setTransactionLevel($level)
479 480
</td></tr>
<tr><td>157</td>
meus's avatar
meus committed
481
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
482 483
</td></tr>
<tr><td>158</td>
meus's avatar
meus committed
484
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;transactionLevel&nbsp;=&nbsp;$level;
485 486
</td></tr>
<tr><td>159</td>
meus's avatar
meus committed
487
<td class="normal">
488 489
</td></tr>
<tr><td>160</td>
meus's avatar
meus committed
490
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this;
491 492
</td></tr>
<tr><td>161</td>
meus's avatar
meus committed
493
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
494 495
</td></tr>
<tr><td>162</td>
meus's avatar
meus committed
496
<td class="normal">
497 498
</td></tr>
<tr><td>163</td>
meus's avatar
meus committed
499
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
500 501
</td></tr>
<tr><td>164</td>
meus's avatar
meus committed
502
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;beginTransaction
503 504
</td></tr>
<tr><td>165</td>
meus's avatar
meus committed
505
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Start&nbsp;a&nbsp;transaction&nbsp;or&nbsp;set&nbsp;a&nbsp;savepoint.
506 507
</td></tr>
<tr><td>166</td>
meus's avatar
meus committed
508
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
509 510
</td></tr>
<tr><td>167</td>
meus's avatar
meus committed
511
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;if&nbsp;trying&nbsp;to&nbsp;set&nbsp;a&nbsp;savepoint&nbsp;and&nbsp;there&nbsp;is&nbsp;no&nbsp;active&nbsp;transaction
512 513
</td></tr>
<tr><td>168</td>
meus's avatar
meus committed
514
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;a&nbsp;new&nbsp;transaction&nbsp;is&nbsp;being&nbsp;started
515 516
</td></tr>
<tr><td>169</td>
meus's avatar
meus committed
517
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
518 519
</td></tr>
<tr><td>170</td>
meus's avatar
meus committed
520
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Listeners:&nbsp;onPreTransactionBegin,&nbsp;onTransactionBegin
521 522
</td></tr>
<tr><td>171</td>
meus's avatar
meus committed
523
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
524 525
</td></tr>
<tr><td>172</td>
meus's avatar
meus committed
526
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$savepoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;of&nbsp;a&nbsp;savepoint&nbsp;to&nbsp;set
527 528
</td></tr>
<tr><td>173</td>
meus's avatar
meus committed
529
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Doctrine_Transaction_Exception&nbsp;&nbsp;&nbsp;if&nbsp;the&nbsp;transaction&nbsp;fails&nbsp;at&nbsp;database&nbsp;level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
530 531
</td></tr>
<tr><td>174</td>
meus's avatar
meus committed
532
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current&nbsp;transaction&nbsp;nesting&nbsp;level
533 534
</td></tr>
<tr><td>175</td>
meus's avatar
meus committed
535
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
536 537
</td></tr>
<tr><td>176</td>
meus's avatar
meus committed
538
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;beginTransaction($savepoint&nbsp;=&nbsp;null)
539 540
</td></tr>
<tr><td>177</td>
meus's avatar
meus committed
541
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
542 543
</td></tr>
<tr><td>178</td>
meus's avatar
meus committed
544
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;conn-&gt;connect();
545 546
</td></tr>
<tr><td>179</td>
meus's avatar
meus committed
547
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
548 549
</td></tr>
<tr><td>180</td>
meus's avatar
meus committed
550
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener&nbsp;=&nbsp;$this-&gt;conn-&gt;getAttribute(Doctrine::ATTR_LISTENER);
551 552
</td></tr>
<tr><td>181</td>
meus's avatar
meus committed
553
<td class="normal">
554 555
</td></tr>
<tr><td>182</td>
meus's avatar
meus committed
556
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;is_null($savepoint))&nbsp;{
557 558
</td></tr>
<tr><td>183</td>
meus's avatar
meus committed
559
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;savePoints[]&nbsp;=&nbsp;$savepoint;
560 561
</td></tr>
<tr><td>184</td>
meus's avatar
meus committed
562
<td class="normal">
563 564
</td></tr>
<tr><td>185</td>
meus's avatar
meus committed
565
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$event&nbsp;=&nbsp;new&nbsp;Doctrine_Event($this,&nbsp;Doctrine_Event::SAVEPOINT_CREATE);
566 567
</td></tr>
<tr><td>186</td>
meus's avatar
meus committed
568
<td class="normal">
569 570
</td></tr>
<tr><td>187</td>
meus's avatar
meus committed
571
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;preSavepointCreate($event);
572 573
</td></tr>
<tr><td>188</td>
meus's avatar
meus committed
574
<td class="normal">
575 576
</td></tr>
<tr><td>189</td>
meus's avatar
meus committed
577
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;$event-&gt;skipOperation)&nbsp;{
578 579
</td></tr>
<tr><td>190</td>
meus's avatar
meus committed
580
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;createSavePoint($savepoint);
581 582
</td></tr>
<tr><td>191</td>
meus's avatar
meus committed
583
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
584 585
</td></tr>
<tr><td>192</td>
meus's avatar
meus committed
586
<td class="normal">
587 588
</td></tr>
<tr><td>193</td>
meus's avatar
meus committed
589
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;postSavepointCreate($event);
590 591
</td></tr>
<tr><td>194</td>
meus's avatar
meus committed
592
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
593 594
</td></tr>
<tr><td>195</td>
meus's avatar
meus committed
595
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($this-&gt;transactionLevel&nbsp;==&nbsp;0)&nbsp;{
596 597
</td></tr>
<tr><td>196</td>
meus's avatar
meus committed
598
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$event&nbsp;=&nbsp;new&nbsp;Doctrine_Event($this,&nbsp;Doctrine_Event::TX_BEGIN);
599 600
</td></tr>
<tr><td>197</td>
meus's avatar
meus committed
601
<td class="normal">
602 603
</td></tr>
<tr><td>198</td>
meus's avatar
meus committed
604
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;preTransactionBegin($event);
605 606
</td></tr>
<tr><td>199</td>
meus's avatar
meus committed
607
<td class="normal">
608 609
</td></tr>
<tr><td>200</td>
meus's avatar
meus committed
610
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;$event-&gt;skipOperation)&nbsp;{
611 612
</td></tr>
<tr><td>201</td>
meus's avatar
meus committed
613
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{
614 615
</td></tr>
<tr><td>202</td>
meus's avatar
meus committed
616
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;conn-&gt;getDbh()-&gt;beginTransaction();
617 618
</td></tr>
<tr><td>203</td>
meus's avatar
meus committed
619
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch(Exception&nbsp;$e)&nbsp;{
620 621
</td></tr>
<tr><td>204</td>
meus's avatar
meus committed
622
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Doctrine_Transaction_Exception($e-&gt;getMessage());
623 624
</td></tr>
<tr><td>205</td>
meus's avatar
meus committed
625
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
626 627
</td></tr>
<tr><td>206</td>
meus's avatar
meus committed
628
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
629 630
</td></tr>
<tr><td>207</td>
meus's avatar
meus committed
631
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;postTransactionBegin($event);
632 633
</td></tr>
<tr><td>208</td>
meus's avatar
meus committed
634
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
635 636
</td></tr>
<tr><td>209</td>
meus's avatar
meus committed
637
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
638 639
</td></tr>
<tr><td>210</td>
meus's avatar
meus committed
640
<td class="normal">
641 642
</td></tr>
<tr><td>211</td>
meus's avatar
meus committed
643
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$level&nbsp;=&nbsp;++$this-&gt;transactionLevel;
644 645
</td></tr>
<tr><td>212</td>
meus's avatar
meus committed
646
<td class="normal">
647 648
</td></tr>
<tr><td>213</td>
meus's avatar
meus committed
649
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$level;
650 651
</td></tr>
<tr><td>214</td>
meus's avatar
meus committed
652
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
653 654
</td></tr>
<tr><td>215</td>
meus's avatar
meus committed
655
<td class="normal">
656 657
</td></tr>
<tr><td>216</td>
meus's avatar
meus committed
658
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
659 660
</td></tr>
<tr><td>217</td>
meus's avatar
meus committed
661
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;commit
662 663
</td></tr>
<tr><td>218</td>
meus's avatar
meus committed
664
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Commit&nbsp;the&nbsp;database&nbsp;changes&nbsp;done&nbsp;during&nbsp;a&nbsp;transaction&nbsp;that&nbsp;is&nbsp;in
665 666
</td></tr>
<tr><td>219</td>
meus's avatar
meus committed
667
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;progress&nbsp;or&nbsp;release&nbsp;a&nbsp;savepoint.&nbsp;This&nbsp;function&nbsp;may&nbsp;only&nbsp;be&nbsp;called&nbsp;when
668 669
</td></tr>
<tr><td>220</td>
meus's avatar
meus committed
670
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;auto-committing&nbsp;is&nbsp;disabled,&nbsp;otherwise&nbsp;it&nbsp;will&nbsp;fail.
671 672
</td></tr>
<tr><td>221</td>
meus's avatar
meus committed
673
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
674 675
</td></tr>
<tr><td>222</td>
meus's avatar
meus committed
676
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Listeners:&nbsp;preTransactionCommit,&nbsp;postTransactionCommit
677 678
</td></tr>
<tr><td>223</td>
meus's avatar
meus committed
679
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
680 681
</td></tr>
<tr><td>224</td>
meus's avatar
meus committed
682
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$savepoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;of&nbsp;a&nbsp;savepoint&nbsp;to&nbsp;release
683 684
</td></tr>
<tr><td>225</td>
meus's avatar
meus committed
685
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Doctrine_Transaction_Exception&nbsp;&nbsp;&nbsp;if&nbsp;the&nbsp;transaction&nbsp;fails&nbsp;at&nbsp;database&nbsp;level
686 687
</td></tr>
<tr><td>226</td>
meus's avatar
meus committed
688
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Doctrine_Validator_Exception&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;the&nbsp;transaction&nbsp;fails&nbsp;due&nbsp;to&nbsp;record&nbsp;validations
689 690
</td></tr>
<tr><td>227</td>
meus's avatar
meus committed
691
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;boolean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;false&nbsp;if&nbsp;commit&nbsp;couldn't&nbsp;be&nbsp;performed,&nbsp;true&nbsp;otherwise
692 693
</td></tr>
<tr><td>228</td>
meus's avatar
meus committed
694
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
695 696
</td></tr>
<tr><td>229</td>
meus's avatar
meus committed
697
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;commit($savepoint&nbsp;=&nbsp;null)
698 699
</td></tr>
<tr><td>230</td>
meus's avatar
meus committed
700
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
701 702
</td></tr>
<tr><td>231</td>
meus's avatar
meus committed
703
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;conn-&gt;connect();
704 705
</td></tr>
<tr><td>232</td>
meus's avatar
meus committed
706
<td class="normal">
707 708
</td></tr>
<tr><td>233</td>
meus's avatar
meus committed
709
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($this-&gt;transactionLevel&nbsp;==&nbsp;0)&nbsp;{
710 711
</td></tr>
<tr><td>234</td>
meus's avatar
meus committed
712
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;
713 714
</td></tr>
<tr><td>235</td>
meus's avatar
meus committed
715
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
716 717
</td></tr>
<tr><td>236</td>
meus's avatar
meus committed
718
<td class="normal">
719 720
</td></tr>
<tr><td>237</td>
meus's avatar
meus committed
721
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener&nbsp;=&nbsp;$this-&gt;conn-&gt;getAttribute(Doctrine::ATTR_LISTENER);
722 723
</td></tr>
<tr><td>238</td>
meus's avatar
meus committed
724
<td class="normal">
725 726
</td></tr>
<tr><td>239</td>
meus's avatar
meus committed
727
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;is_null($savepoint))&nbsp;{
728 729
</td></tr>
<tr><td>240</td>
meus's avatar
meus committed
730
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;transactionLevel&nbsp;-=&nbsp;$this-&gt;removeSavePoints($savepoint);
731 732
</td></tr>
<tr><td>241</td>
meus's avatar
meus committed
733
<td class="normal">
734 735
</td></tr>
<tr><td>242</td>
meus's avatar
meus committed
736
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$event&nbsp;=&nbsp;new&nbsp;Doctrine_Event($this,&nbsp;Doctrine_Event::SAVEPOINT_COMMIT);
737 738
</td></tr>
<tr><td>243</td>
meus's avatar
meus committed
739
<td class="normal">
740 741
</td></tr>
<tr><td>244</td>
meus's avatar
meus committed
742
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;preSavepointCommit($event);
743 744
</td></tr>
<tr><td>245</td>
meus's avatar
meus committed
745
<td class="normal">
746 747
</td></tr>
<tr><td>246</td>
meus's avatar
meus committed
748
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;$event-&gt;skipOperation)&nbsp;{
749 750
</td></tr>
<tr><td>247</td>
meus's avatar
meus committed
751
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;releaseSavePoint($savepoint);
752 753
</td></tr>
<tr><td>248</td>
meus's avatar
meus committed
754
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
755 756
</td></tr>
<tr><td>249</td>
meus's avatar
meus committed
757
<td class="normal">
758 759
</td></tr>
<tr><td>250</td>
meus's avatar
meus committed
760
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;postSavepointCommit($event);
761 762
</td></tr>
<tr><td>251</td>
meus's avatar
meus committed
763
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
764 765
</td></tr>
<tr><td>252</td>
meus's avatar
meus committed
766
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($this-&gt;transactionLevel&nbsp;==&nbsp;1)&nbsp;{
767 768
</td></tr>
<tr><td>253</td>
769
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;empty($this-&gt;invalid))&nbsp;{
770 771
</td></tr>
<tr><td>254</td>
772
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;rollback();
773 774
</td></tr>
<tr><td>255</td>
meus's avatar
meus committed
775
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmp&nbsp;=&nbsp;$this-&gt;invalid;
776 777
</td></tr>
<tr><td>256</td>
meus's avatar
meus committed
778
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;invalid&nbsp;=&nbsp;array();
779 780
</td></tr>
<tr><td>257</td>
meus's avatar
meus committed
781
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Doctrine_Validator_Exception($tmp);
782 783
</td></tr>
<tr><td>258</td>
meus's avatar
meus committed
784
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
785 786
</td></tr>
<tr><td>259</td>
meus's avatar
meus committed
787
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;take&nbsp;snapshots&nbsp;of&nbsp;all&nbsp;collections&nbsp;used&nbsp;within&nbsp;this&nbsp;transaction
788 789
</td></tr>
<tr><td>260</td>
meus's avatar
meus committed
790
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;_collections&nbsp;as&nbsp;$coll)&nbsp;{
791 792
</td></tr>
<tr><td>261</td>
meus's avatar
meus committed
793
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$coll-&gt;takeSnapshot();
794 795
</td></tr>
<tr><td>262</td>
meus's avatar
meus committed
796
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
797 798
</td></tr>
<tr><td>263</td>
meus's avatar
meus committed
799
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;_collections&nbsp;=&nbsp;array();
800 801
</td></tr>
<tr><td>264</td>
meus's avatar
meus committed
802
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
803 804
</td></tr>
<tr><td>265</td>
meus's avatar
meus committed
805
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$event&nbsp;=&nbsp;new&nbsp;Doctrine_Event($this,&nbsp;Doctrine_Event::TX_COMMIT);
806 807
</td></tr>
<tr><td>266</td>
meus's avatar
meus committed
808
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
809 810
</td></tr>
<tr><td>267</td>
meus's avatar
meus committed
811
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;preTransactionCommit($event);
812 813
</td></tr>
<tr><td>268</td>
meus's avatar
meus committed
814
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;$event-&gt;skipOperation)&nbsp;{
815 816
</td></tr>
<tr><td>269</td>
meus's avatar
meus committed
817
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;conn-&gt;getDbh()-&gt;commit();
818 819
</td></tr>
<tr><td>270</td>
meus's avatar
meus committed
820
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
821 822
</td></tr>
<tr><td>271</td>
meus's avatar
meus committed
823
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;postTransactionCommit($event);
824 825
</td></tr>
<tr><td>272</td>
meus's avatar
meus committed
826
<td class="normal">
827 828
</td></tr>
<tr><td>273</td>
meus's avatar
meus committed
829
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
830 831
</td></tr>
<tr><td>274</td>
meus's avatar
meus committed
832
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
833 834
</td></tr>
<tr><td>275</td>
meus's avatar
meus committed
835
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;transactionLevel--;
836 837
</td></tr>
<tr><td>276</td>
meus's avatar
meus committed
838
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
839 840
</td></tr>
<tr><td>277</td>
meus's avatar
meus committed
841
<td class="normal">
842 843
</td></tr>
<tr><td>278</td>
meus's avatar
meus committed
844
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;
845 846
</td></tr>
<tr><td>279</td>
meus's avatar
meus committed
847
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
848 849
</td></tr>
<tr><td>280</td>
850
<td class="normal">
851 852
</td></tr>
<tr><td>281</td>
meus's avatar
meus committed
853
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
854 855
</td></tr>
<tr><td>282</td>
meus's avatar
meus committed
856
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;rollback
857 858
</td></tr>
<tr><td>283</td>
meus's avatar
meus committed
859
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Cancel&nbsp;any&nbsp;database&nbsp;changes&nbsp;done&nbsp;during&nbsp;a&nbsp;transaction&nbsp;or&nbsp;since&nbsp;a&nbsp;specific
860 861
</td></tr>
<tr><td>284</td>
meus's avatar
meus committed
862
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;savepoint&nbsp;that&nbsp;is&nbsp;in&nbsp;progress.&nbsp;This&nbsp;function&nbsp;may&nbsp;only&nbsp;be&nbsp;called&nbsp;when
863 864
</td></tr>
<tr><td>285</td>
meus's avatar
meus committed
865
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;auto-committing&nbsp;is&nbsp;disabled,&nbsp;otherwise&nbsp;it&nbsp;will&nbsp;fail.&nbsp;Therefore,&nbsp;a&nbsp;new
866 867
</td></tr>
<tr><td>286</td>
meus's avatar
meus committed
868
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;transaction&nbsp;is&nbsp;implicitly&nbsp;started&nbsp;after&nbsp;canceling&nbsp;the&nbsp;pending&nbsp;changes.
869 870
</td></tr>
<tr><td>287</td>
meus's avatar
meus committed
871
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
872 873
</td></tr>
<tr><td>288</td>
meus's avatar
meus committed
874
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;this&nbsp;method&nbsp;can&nbsp;be&nbsp;listened&nbsp;with&nbsp;onPreTransactionRollback&nbsp;and&nbsp;onTransactionRollback
875 876
</td></tr>
<tr><td>289</td>
meus's avatar
meus committed
877
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;eventlistener&nbsp;methods
878 879
</td></tr>
<tr><td>290</td>
880
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
881 882
</td></tr>
<tr><td>291</td>
meus's avatar
meus committed
883
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$savepoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;of&nbsp;a&nbsp;savepoint&nbsp;to&nbsp;rollback&nbsp;to&nbsp;&nbsp;&nbsp;
884 885
</td></tr>
<tr><td>292</td>
meus's avatar
meus committed
886
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Doctrine_Transaction_Exception&nbsp;&nbsp;&nbsp;if&nbsp;the&nbsp;rollback&nbsp;operation&nbsp;fails&nbsp;at&nbsp;database&nbsp;level
887 888
</td></tr>
<tr><td>293</td>
meus's avatar
meus committed
889
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;boolean&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;false&nbsp;if&nbsp;rollback&nbsp;couldn't&nbsp;be&nbsp;performed,&nbsp;true&nbsp;otherwise
890 891
</td></tr>
<tr><td>294</td>
meus's avatar
meus committed
892
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@todo&nbsp;Shouldnt&nbsp;this&nbsp;method&nbsp;only&nbsp;commit&nbsp;a&nbsp;rollback&nbsp;if&nbsp;the&nbsp;transactionLevel&nbsp;is&nbsp;1
893 894
</td></tr>
<tr><td>295</td>
meus's avatar
meus committed
895
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(STATE_ACTIVE)?&nbsp;Explanation:&nbsp;Otherwise&nbsp;a&nbsp;rollback&nbsp;that&nbsp;is&nbsp;triggered&nbsp;from&nbsp;inside&nbsp;doctrine
896 897
</td></tr>
<tr><td>296</td>
meus's avatar
meus committed
898
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;an&nbsp;(emulated)&nbsp;nested&nbsp;transaction&nbsp;would&nbsp;lead&nbsp;to&nbsp;a&nbsp;complete&nbsp;database&nbsp;level
899 900
</td></tr>
<tr><td>297</td>
meus's avatar
meus committed
901
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rollback&nbsp;even&nbsp;though&nbsp;the&nbsp;client&nbsp;code&nbsp;did&nbsp;not&nbsp;yet&nbsp;want&nbsp;to&nbsp;do&nbsp;that.
902 903
</td></tr>
<tr><td>298</td>
meus's avatar
meus committed
904
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In&nbsp;other&nbsp;words:&nbsp;if&nbsp;the&nbsp;user&nbsp;starts&nbsp;a&nbsp;transaction&nbsp;doctrine&nbsp;shouldnt&nbsp;roll&nbsp;it&nbsp;back.
905 906
</td></tr>
<tr><td>299</td>
meus's avatar
meus committed
907
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Doctrine&nbsp;should&nbsp;only&nbsp;roll&nbsp;back&nbsp;transactions&nbsp;started&nbsp;by&nbsp;doctrine.&nbsp;Thoughts?
908 909
</td></tr>
<tr><td>300</td>
meus's avatar
meus committed
910
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
911 912
</td></tr>
<tr><td>301</td>
meus's avatar
meus committed
913
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;rollback($savepoint&nbsp;=&nbsp;null)
914 915
</td></tr>
<tr><td>302</td>
meus's avatar
meus committed
916
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
917 918
</td></tr>
<tr><td>303</td>
meus's avatar
meus committed
919
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;conn-&gt;connect();
920 921
</td></tr>
<tr><td>304</td>
meus's avatar
meus committed
922
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$currentState&nbsp;=&nbsp;$this-&gt;getState();
923 924
</td></tr>
<tr><td>305</td>
meus's avatar
meus committed
925
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
926 927
</td></tr>
<tr><td>306</td>
meus's avatar
meus committed
928
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($currentState&nbsp;!=&nbsp;self::STATE_ACTIVE&nbsp;&amp;&amp;&nbsp;$currentState&nbsp;!=&nbsp;self::STATE_BUSY)&nbsp;{
929
</td></tr>
930
<tr><td>307</td>
meus's avatar
meus committed
931
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;
932
</td></tr>
933
<tr><td>308</td>
meus's avatar
meus committed
934
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
935
</td></tr>
936
<tr><td>309</td>
meus's avatar
meus committed
937
<td class="normal">
938
</td></tr>
939
<tr><td>310</td>
meus's avatar
meus committed
940
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener&nbsp;=&nbsp;$this-&gt;conn-&gt;getAttribute(Doctrine::ATTR_LISTENER);
941
</td></tr>
942
<tr><td>311</td>
meus's avatar
meus committed
943
<td class="normal">
944
</td></tr>
945
<tr><td>312</td>
meus's avatar
meus committed
946
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;is_null($savepoint))&nbsp;{
947
</td></tr>
948
<tr><td>313</td>
meus's avatar
meus committed
949
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;transactionLevel&nbsp;-=&nbsp;$this-&gt;removeSavePoints($savepoint);
950
</td></tr>
951
<tr><td>314</td>
meus's avatar
meus committed
952
<td class="normal">
953
</td></tr>
954
<tr><td>315</td>
meus's avatar
meus committed
955
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$event&nbsp;=&nbsp;new&nbsp;Doctrine_Event($this,&nbsp;Doctrine_Event::SAVEPOINT_ROLLBACK);
956
</td></tr>
957
<tr><td>316</td>
meus's avatar
meus committed
958
<td class="normal">
959
</td></tr>
960
<tr><td>317</td>
meus's avatar
meus committed
961
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;preSavepointRollback($event);
962
</td></tr>
963
<tr><td>318</td>
meus's avatar
meus committed
964
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
965
</td></tr>
966
<tr><td>319</td>
meus's avatar
meus committed
967 968 969 970 971 972 973 974 975 976 977 978
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;$event-&gt;skipOperation)&nbsp;{
</td></tr>
<tr><td>320</td>
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;rollbackSavePoint($savepoint);
</td></tr>
<tr><td>321</td>
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
<tr><td>322</td>
<td class="normal">
</td></tr>
<tr><td>323</td>
979
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;postSavepointRollback($event);
980
</td></tr>
meus's avatar
meus committed
981
<tr><td>324</td>
982
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
983
</td></tr>
meus's avatar
meus committed
984
<tr><td>325</td>
985
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$event&nbsp;=&nbsp;new&nbsp;Doctrine_Event($this,&nbsp;Doctrine_Event::TX_ROLLBACK);
986
</td></tr>
meus's avatar
meus committed
987
<tr><td>326</td>
988
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;
989
</td></tr>
meus's avatar
meus committed
990
<tr><td>327</td>
991
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;preTransactionRollback($event);
992
</td></tr>
meus's avatar
meus committed
993
<tr><td>328</td>
994
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
995
</td></tr>
meus's avatar
meus committed
996
<tr><td>329</td>
997
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;$event-&gt;skipOperation)&nbsp;{
998
</td></tr>
meus's avatar
meus committed
999
<tr><td>330</td>
1000
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;transactionLevel&nbsp;=&nbsp;0;
1001
</td></tr>
meus's avatar
meus committed
1002
<tr><td>331</td>
1003
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{
1004
</td></tr>
meus's avatar
meus committed
1005
<tr><td>332</td>
1006
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;conn-&gt;getDbh()-&gt;rollback();
1007
</td></tr>
meus's avatar
meus committed
1008
<tr><td>333</td>
1009
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(Exception&nbsp;$e)&nbsp;{
1010
</td></tr>
meus's avatar
meus committed
1011
<tr><td>334</td>
1012
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Doctrine_Transaction_Exception($e-&gt;getMessage());
1013
</td></tr>
meus's avatar
meus committed
1014
<tr><td>335</td>
1015
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1016
</td></tr>
meus's avatar
meus committed
1017
<tr><td>336</td>
1018
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1019
</td></tr>
meus's avatar
meus committed
1020
<tr><td>337</td>
1021
<td class="normal">
1022
</td></tr>
meus's avatar
meus committed
1023
<tr><td>338</td>
1024
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$listener-&gt;postTransactionRollback($event);
1025
</td></tr>
meus's avatar
meus committed
1026
<tr><td>339</td>
1027
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1028
</td></tr>
meus's avatar
meus committed
1029
<tr><td>340</td>
1030
<td class="normal">
1031
</td></tr>
meus's avatar
meus committed
1032
<tr><td>341</td>
1033
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;
1034
</td></tr>
meus's avatar
meus committed
1035
<tr><td>342</td>
1036
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1037
</td></tr>
meus's avatar
meus committed
1038
<tr><td>343</td>
1039
<td class="normal">
1040
</td></tr>
meus's avatar
meus committed
1041
<tr><td>344</td>
1042
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1043
</td></tr>
meus's avatar
meus committed
1044
<tr><td>345</td>
1045
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;releaseSavePoint
1046
</td></tr>
meus's avatar
meus committed
1047
<tr><td>346</td>
1048
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;creates&nbsp;a&nbsp;new&nbsp;savepoint
1049
</td></tr>
meus's avatar
meus committed
1050
<tr><td>347</td>
1051
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1052
</td></tr>
meus's avatar
meus committed
1053
<tr><td>348</td>
1054
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$savepoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;of&nbsp;a&nbsp;savepoint&nbsp;to&nbsp;create
1055
</td></tr>
meus's avatar
meus committed
1056
<tr><td>349</td>
1057
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;void
1058
</td></tr>
meus's avatar
meus committed
1059
<tr><td>350</td>
1060
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1061
</td></tr>
meus's avatar
meus committed
1062
<tr><td>351</td>
1063
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;function&nbsp;createSavePoint($savepoint)
1064
</td></tr>
meus's avatar
meus committed
1065
<tr><td>352</td>
1066
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1067
</td></tr>
meus's avatar
meus committed
1068
<tr><td>353</td>
1069
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Doctrine_Transaction_Exception('Savepoints&nbsp;not&nbsp;supported&nbsp;by&nbsp;this&nbsp;driver.');
1070
</td></tr>
meus's avatar
meus committed
1071
<tr><td>354</td>
1072
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1073
</td></tr>
meus's avatar
meus committed
1074
<tr><td>355</td>
1075
<td class="normal">
1076
</td></tr>
meus's avatar
meus committed
1077
<tr><td>356</td>
1078
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1079
</td></tr>
meus's avatar
meus committed
1080
<tr><td>357</td>
1081
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;releaseSavePoint
1082
</td></tr>
meus's avatar
meus committed
1083
<tr><td>358</td>
1084
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;releases&nbsp;given&nbsp;savepoint
1085
</td></tr>
meus's avatar
meus committed
1086
<tr><td>359</td>
1087
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1088
</td></tr>
meus's avatar
meus committed
1089
<tr><td>360</td>
1090
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$savepoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;of&nbsp;a&nbsp;savepoint&nbsp;to&nbsp;release
1091
</td></tr>
meus's avatar
meus committed
1092
<tr><td>361</td>
1093
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;void
1094
</td></tr>
meus's avatar
meus committed
1095
<tr><td>362</td>
1096
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1097
</td></tr>
meus's avatar
meus committed
1098
<tr><td>363</td>
1099
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;function&nbsp;releaseSavePoint($savepoint)
1100
</td></tr>
meus's avatar
meus committed
1101
<tr><td>364</td>
1102
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1103
</td></tr>
meus's avatar
meus committed
1104
<tr><td>365</td>
1105
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Doctrine_Transaction_Exception('Savepoints&nbsp;not&nbsp;supported&nbsp;by&nbsp;this&nbsp;driver.');
1106
</td></tr>
meus's avatar
meus committed
1107
<tr><td>366</td>
1108
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1109
</td></tr>
meus's avatar
meus committed
1110
<tr><td>367</td>
1111
<td class="normal">
1112
</td></tr>
meus's avatar
meus committed
1113
<tr><td>368</td>
1114
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1115
</td></tr>
meus's avatar
meus committed
1116
<tr><td>369</td>
1117
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;rollbackSavePoint
1118
</td></tr>
meus's avatar
meus committed
1119
<tr><td>370</td>
1120
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;releases&nbsp;given&nbsp;savepoint
1121
</td></tr>
meus's avatar
meus committed
1122
<tr><td>371</td>
1123
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1124
</td></tr>
meus's avatar
meus committed
1125
<tr><td>372</td>
1126
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;string&nbsp;$savepoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;of&nbsp;a&nbsp;savepoint&nbsp;to&nbsp;rollback&nbsp;to
1127
</td></tr>
meus's avatar
meus committed
1128
<tr><td>373</td>
1129
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;void
1130
</td></tr>
meus's avatar
meus committed
1131
<tr><td>374</td>
1132
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1133
</td></tr>
meus's avatar
meus committed
1134
<tr><td>375</td>
1135
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;function&nbsp;rollbackSavePoint($savepoint)
1136
</td></tr>
meus's avatar
meus committed
1137
<tr><td>376</td>
1138
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1139
</td></tr>
meus's avatar
meus committed
1140
<tr><td>377</td>
1141
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Doctrine_Transaction_Exception('Savepoints&nbsp;not&nbsp;supported&nbsp;by&nbsp;this&nbsp;driver.');
1142
</td></tr>
meus's avatar
meus committed
1143
<tr><td>378</td>
1144
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1145
</td></tr>
meus's avatar
meus committed
1146
<tr><td>379</td>
1147
<td class="normal">
1148
</td></tr>
meus's avatar
meus committed
1149
<tr><td>380</td>
1150
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1151
</td></tr>
meus's avatar
meus committed
1152
<tr><td>381</td>
1153
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;removeSavePoints
1154
</td></tr>
meus's avatar
meus committed
1155
<tr><td>382</td>
1156
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;removes&nbsp;a&nbsp;savepoint&nbsp;from&nbsp;the&nbsp;internal&nbsp;savePoints&nbsp;array&nbsp;of&nbsp;this&nbsp;transaction&nbsp;object
1157
</td></tr>
meus's avatar
meus committed
1158
<tr><td>383</td>
1159
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;and&nbsp;all&nbsp;its&nbsp;children&nbsp;savepoints
1160
</td></tr>
meus's avatar
meus committed
1161
<tr><td>384</td>
1162
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1163
</td></tr>
meus's avatar
meus committed
1164
<tr><td>385</td>
1165
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;sring&nbsp;$savepoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;of&nbsp;the&nbsp;savepoint&nbsp;to&nbsp;remove
1166
</td></tr>
meus's avatar
meus committed
1167
<tr><td>386</td>
1168
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;removed&nbsp;savepoints
1169
</td></tr>
meus's avatar
meus committed
1170
<tr><td>387</td>
1171
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1172
</td></tr>
meus's avatar
meus committed
1173
<tr><td>388</td>
1174
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;removeSavePoints($savepoint)
1175
</td></tr>
meus's avatar
meus committed
1176
<tr><td>389</td>
1177
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1178
</td></tr>
meus's avatar
meus committed
1179
<tr><td>390</td>
1180
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;savePoints&nbsp;=&nbsp;array_values($this-&gt;savePoints);
1181
</td></tr>
meus's avatar
meus committed
1182
<tr><td>391</td>
1183
<td class="normal">
1184
</td></tr>
meus's avatar
meus committed
1185
<tr><td>392</td>
1186
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$found&nbsp;=&nbsp;false;
1187
</td></tr>
meus's avatar
meus committed
1188
<tr><td>393</td>
1189
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$i&nbsp;=&nbsp;0;
1190
</td></tr>
meus's avatar
meus committed
1191
<tr><td>394</td>
1192
<td class="normal">
1193
</td></tr>
meus's avatar
meus committed
1194
<tr><td>395</td>
1195
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($this-&gt;savePoints&nbsp;as&nbsp;$key&nbsp;=&gt;&nbsp;$sp)&nbsp;{
1196
</td></tr>
meus's avatar
meus committed
1197
<tr><td>396</td>
1198
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!&nbsp;$found)&nbsp;{
1199
</td></tr>
meus's avatar
meus committed
1200
<tr><td>397</td>
1201
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($sp&nbsp;===&nbsp;$savepoint)&nbsp;{
1202
</td></tr>
meus's avatar
meus committed
1203
<tr><td>398</td>
1204
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$found&nbsp;=&nbsp;true;
1205
</td></tr>
meus's avatar
meus committed
1206
<tr><td>399</td>
1207
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1208
</td></tr>
meus's avatar
meus committed
1209
<tr><td>400</td>
1210
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1211
</td></tr>
meus's avatar
meus committed
1212
<tr><td>401</td>
1213
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($found)&nbsp;{
1214
</td></tr>
meus's avatar
meus committed
1215
<tr><td>402</td>
1216
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$i++;
1217
</td></tr>
meus's avatar
meus committed
1218
<tr><td>403</td>
1219
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset($this-&gt;savePoints[$key]);
1220
</td></tr>
meus's avatar
meus committed
1221
<tr><td>404</td>
1222
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1223
</td></tr>
meus's avatar
meus committed
1224
<tr><td>405</td>
1225
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
1226
</td></tr>
meus's avatar
meus committed
1227
<tr><td>406</td>
1228
<td class="normal">
1229
</td></tr>
meus's avatar
meus committed
1230
<tr><td>407</td>
1231
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$i;
1232
</td></tr>
meus's avatar
meus committed
1233
<tr><td>408</td>
1234
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1235
</td></tr>
meus's avatar
meus committed
1236
<tr><td>409</td>
1237
<td class="normal">
1238
</td></tr>
meus's avatar
meus committed
1239
<tr><td>410</td>
1240
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1241
</td></tr>
meus's avatar
meus committed
1242
<tr><td>411</td>
1243
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;setIsolation
1244
</td></tr>
meus's avatar
meus committed
1245
<tr><td>412</td>
1246
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1247
</td></tr>
meus's avatar
meus committed
1248
<tr><td>413</td>
1249
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Set&nbsp;the&nbsp;transacton&nbsp;isolation&nbsp;level.
1250
</td></tr>
meus's avatar
meus committed
1251
<tr><td>414</td>
1252
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;(implemented&nbsp;by&nbsp;the&nbsp;connection&nbsp;drivers)
1253
</td></tr>
meus's avatar
meus committed
1254
<tr><td>415</td>
1255
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1256
</td></tr>
meus's avatar
meus committed
1257
<tr><td>416</td>
1258
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;example:
1259
</td></tr>
meus's avatar
meus committed
1260
<tr><td>417</td>
1261 1262
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
</td></tr>
meus's avatar
meus committed
1263
<tr><td>418</td>
1264
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&lt;code&gt;
1265
</td></tr>
meus's avatar
meus committed
1266
<tr><td>419</td>
1267
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;$tx-&gt;setIsolation('READ&nbsp;UNCOMMITTED');
1268
</td></tr>
meus's avatar
meus committed
1269
<tr><td>420</td>
1270
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&lt;/code&gt;
1271
</td></tr>
meus's avatar
meus committed
1272
<tr><td>421</td>
1273
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1274
</td></tr>
meus's avatar
meus committed
1275
<tr><td>422</td>
1276
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;standard&nbsp;isolation&nbsp;level
1277
</td></tr>
meus's avatar
meus committed
1278
<tr><td>423</td>
1279
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;READ&nbsp;UNCOMMITTED&nbsp;(allows&nbsp;dirty&nbsp;reads)
1280
</td></tr>
meus's avatar
meus committed
1281
<tr><td>424</td>
1282
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;READ&nbsp;COMMITTED&nbsp;(prevents&nbsp;dirty&nbsp;reads)
1283
</td></tr>
meus's avatar
meus committed
1284
<tr><td>425</td>
1285
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REPEATABLE&nbsp;READ&nbsp;(prevents&nbsp;nonrepeatable&nbsp;reads)
1286
</td></tr>
meus's avatar
meus committed
1287
<tr><td>426</td>
1288
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERIALIZABLE&nbsp;(prevents&nbsp;phantom&nbsp;reads)
1289
</td></tr>
meus's avatar
meus committed
1290
<tr><td>427</td>
1291
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1292
</td></tr>
meus's avatar
meus committed
1293
<tr><td>428</td>
1294
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Doctrine_Transaction_Exception&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;the&nbsp;feature&nbsp;is&nbsp;not&nbsp;supported&nbsp;by&nbsp;the&nbsp;driver
1295
</td></tr>
meus's avatar
meus committed
1296
<tr><td>429</td>
1297
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;PDOException&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;something&nbsp;fails&nbsp;at&nbsp;the&nbsp;PDO&nbsp;level
1298
</td></tr>
meus's avatar
meus committed
1299
<tr><td>430</td>
1300
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;void
1301
</td></tr>
meus's avatar
meus committed
1302
<tr><td>431</td>
1303
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
1304
</td></tr>
meus's avatar
meus committed
1305
<tr><td>432</td>
1306
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;setIsolation($isolation)
1307
</td></tr>
meus's avatar
meus committed
1308
<tr><td>433</td>
1309
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
1310
</td></tr>
meus's avatar
meus committed
1311
<tr><td>434</td>
1312
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Doctrine_Transaction_Exception('Transaction&nbsp;isolation&nbsp;levels&nbsp;not&nbsp;supported&nbsp;by&nbsp;this&nbsp;driver.');
1313
</td></tr>
meus's avatar
meus committed
1314
<tr><td>435</td>
1315
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
1316
</td></tr>
meus's avatar
meus committed
1317
<tr><td>436</td>
1318
<td class="normal">
1319
</td></tr>
meus's avatar
meus committed
1320
<tr><td>437</td>
1321
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;/**
1322
</td></tr>
meus's avatar
meus committed
1323
<tr><td>438</td>
1324
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;getTransactionIsolation
1325
</td></tr>
meus's avatar
meus committed
1326
<tr><td>439</td>
1327
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1328
</td></tr>
meus's avatar
meus committed
1329
<tr><td>440</td>
1330
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;fetches&nbsp;the&nbsp;current&nbsp;session&nbsp;transaction&nbsp;isolation&nbsp;level
1331
</td></tr>
meus's avatar
meus committed
1332
<tr><td>441</td>
1333
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
1334
</td></tr>
meus's avatar
meus committed
1335
<tr><td>442</td>
1336
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;note:&nbsp;some&nbsp;drivers&nbsp;may&nbsp;support&nbsp;setting&nbsp;the&nbsp;transaction&nbsp;isolation&nbsp;level
1337
</td></tr>
meus's avatar
meus committed
1338
<tr><td>443</td>
1339 1340
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;but&nbsp;not&nbsp;fetching&nbsp;it
</td></tr>
meus's avatar
meus committed
1341
<tr><td>444</td>
1342 1343
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*
</td></tr>
meus's avatar
meus committed
1344
<tr><td>445</td>
1345 1346
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Doctrine_Transaction_Exception&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;the&nbsp;feature&nbsp;is&nbsp;not&nbsp;supported&nbsp;by&nbsp;the&nbsp;driver
</td></tr>
meus's avatar
meus committed
1347
<tr><td>446</td>
1348 1349
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;PDOException&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;something&nbsp;fails&nbsp;at&nbsp;the&nbsp;PDO&nbsp;level
</td></tr>
meus's avatar
meus committed
1350
<tr><td>447</td>
1351 1352
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns&nbsp;the&nbsp;current&nbsp;session&nbsp;transaction&nbsp;isolation&nbsp;level
</td></tr>
meus's avatar
meus committed
1353
<tr><td>448</td>
1354 1355
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/
</td></tr>
meus's avatar
meus committed
1356
<tr><td>449</td>
1357 1358
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;getIsolation()
</td></tr>
meus's avatar
meus committed
1359
<tr><td>450</td>
1360 1361
<td class="normal">&nbsp;&nbsp;&nbsp;&nbsp;{
</td></tr>
meus's avatar
meus committed
1362
<tr><td>451</td>
1363 1364
<td class="covered">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Doctrine_Transaction_Exception('Fetching&nbsp;transaction&nbsp;isolation&nbsp;level&nbsp;not&nbsp;supported&nbsp;by&nbsp;this&nbsp;driver.');
</td></tr>
meus's avatar
meus committed
1365
<tr><td>452</td>
1366 1367
<td class="orange">&nbsp;&nbsp;&nbsp;&nbsp;}
</td></tr>
meus's avatar
meus committed
1368
<tr><td>453</td>
1369 1370
<td class="normal">}
</td></tr>
1371
</table></body></html>