1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=ISO-8859-1">
6 <title>ActiveMongo Tests
</title>
7 <link rel=
"stylesheet" type=
"text/css" href=
"style.css">
8 <link rel=
"stylesheet" type=
"text/css" href=
"container.css">
9 <script type=
"text/javascript" src=
"yahoo-dom-event.js"></script>
10 <script type=
"text/javascript" src=
"container-min.js"></script>
13 <body class=
"yui-skin-sam">
14 <table width=
"100%" border=
"0" cellspacing=
"0" cellpadding=
"0">
15 <tr><td class=
"title">ActiveMongo Tests
</td></tr>
16 <tr><td class=
"ruler"><img src=
"glass.png" width=
"3" height=
"3" alt=
""></td></tr>
20 <table cellpadding=
"1" border=
"0" width=
"100%">
22 <td class=
"headerItem" width=
"20%">Current file:
</td>
23 <td class=
"headerValue" width=
"80%"><a href=
"index.html">/home/crodas/projects/playground/ActiveMongo
</a>/
<a href=
"lib.html">lib
</a>/
<a href=
"lib_ActiveMongo.php.html">ActiveMongo.php
</a></td>
26 <td class=
"legendItem" width=
"20%">Legend:
</td>
27 <td class=
"legendValue" width=
"80%">
28 <span class=
"legendCov">executed
</span>
29 <span class=
"legendNoCov">not executed
</span>
30 <span class=
"legendDeadCode">dead code
</span>
38 <td class=
"ruler"><img src=
"glass.png" width=
"3" height=
"3" alt=
""></td>
45 <table width=
"90%" cellpadding=
"2" cellspacing=
"1" border=
"0">
47 <td class=
"tableHead" width=
"30%"> </td>
48 <td class=
"tableHead" colspan=
"9">Coverage
</td>
51 <td class=
"tableHead"> </td>
52 <td class=
"tableHead" colspan=
"3">Classes
</td>
53 <td class=
"tableHead" colspan=
"3">Functions / Methods
</td>
54 <td class=
"tableHead" colspan=
"3">Lines
</td>
57 <td class=
"coverItem">Total
</td>
58 <td class=
"coverBar" align=
"center" width=
"100">
59 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
61 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
65 <td class=
"coverPerLo">0.00%
</td>
66 <td class=
"coverNumLo">0 /
1</td>
67 <td class=
"coverBar" align=
"center" width=
"100">
68 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
70 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"75" height=
"10" alt=
"75.41%"><img src=
"snow.png" width=
"25" height=
"10" alt=
"75.41%"></td>
74 <td class=
"coverPerHi">75.41%
</td>
75 <td class=
"coverNumHi">46 /
61</td>
76 <td class=
"coverBar" align=
"center" width=
"100">
77 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
79 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"95" height=
"10" alt=
"95.04%"><img src=
"snow.png" width=
"5" height=
"10" alt=
"95.04%"></td>
83 <td class=
"coverPerHi">95.04%
</td>
84 <td class=
"coverNumHi">748 /
787</td>
88 <td class=
"tableHead" colspan=
"10"> </td>
91 <td class=
"coverItem"><b><a href=
"#76">ActiveMongo
</a></b></td>
92 <td class=
"coverBar" align=
"center" width=
"100">
93 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
95 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
99 <td class=
"coverPerLo">0.00%
</td>
100 <td class=
"coverNumLo">0 /
1</td>
101 <td class=
"coverBar" align=
"center" width=
"100">
102 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
104 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"75" height=
"10" alt=
"75.00%"><img src=
"snow.png" width=
"25" height=
"10" alt=
"75.00%"></td>
108 <td class=
"coverPerHi">75.00%
</td>
109 <td class=
"coverNumHi">45 /
60</td>
110 <td class=
"coverBar" align=
"center" width=
"100">
111 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
113 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"95" height=
"10" alt=
"95.01%"><img src=
"snow.png" width=
"5" height=
"10" alt=
"95.01%"></td>
117 <td class=
"coverPerHi">95.01%
</td>
118 <td class=
"coverNumHi">743 /
782</td>
122 <td class=
"coverFile" colspan=
"4"> <a href=
"#201">final static function setNameSpace($namespace)
</a></td>
123 <td class=
"coverBar" align=
"center" width=
"100">
124 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
126 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
130 <td class=
"coverPerHi">100.00%
</td>
131 <td class=
"coverNumHi">1 /
1</td>
132 <td class=
"coverBar" align=
"center" width=
"100">
133 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
135 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
139 <td class=
"coverPerHi">100.00%
</td>
140 <td class=
"coverNumHi">2 /
2</td>
144 <td class=
"coverFile" colspan=
"4"> <a href=
"#206">final public function collectionName()
</a></td>
145 <td class=
"coverBar" align=
"center" width=
"100">
146 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
148 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
152 <td class=
"coverPerHi">100.00%
</td>
153 <td class=
"coverNumHi">1 /
1</td>
154 <td class=
"coverBar" align=
"center" width=
"100">
155 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
157 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
161 <td class=
"coverPerHi">100.00%
</td>
162 <td class=
"coverNumHi">9 /
9</td>
166 <td class=
"coverFile" colspan=
"4"> <a href=
"#228">protected function getCollectionName()
</a></td>
167 <td class=
"coverBar" align=
"center" width=
"100">
168 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
170 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
174 <td class=
"coverPerHi">100.00%
</td>
175 <td class=
"coverNumHi">1 /
1</td>
176 <td class=
"coverBar" align=
"center" width=
"100">
177 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
179 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
183 <td class=
"coverPerHi">100.00%
</td>
184 <td class=
"coverNumHi">3 /
3</td>
188 <td class=
"coverFile" colspan=
"4"> <a href=
"#245">protected function getDatabaseName()
</a></td>
189 <td class=
"coverBar" align=
"center" width=
"100">
190 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
192 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
196 <td class=
"coverPerLo">0.00%
</td>
197 <td class=
"coverNumLo">0 /
1</td>
198 <td class=
"coverBar" align=
"center" width=
"100">
199 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
201 <td class=
"coverBarOutline"><img src=
"butter.png" width=
"66" height=
"10" alt=
"66.67%"><img src=
"snow.png" width=
"34" height=
"10" alt=
"66.67%"></td>
205 <td class=
"coverPerMed">66.67%
</td>
206 <td class=
"coverNumMed">2 /
3</td>
210 <td class=
"coverFile" colspan=
"4"> <a href=
"#263">final public static function install()
</a></td>
211 <td class=
"coverBar" align=
"center" width=
"100">
212 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
214 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
218 <td class=
"coverPerHi">100.00%
</td>
219 <td class=
"coverNumHi">1 /
1</td>
220 <td class=
"coverBar" align=
"center" width=
"100">
221 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
223 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
227 <td class=
"coverPerHi">100.00%
</td>
228 <td class=
"coverNumHi">10 /
10</td>
232 <td class=
"coverFile" colspan=
"4"> <a href=
"#293">final public static function connect($db, $host='localhost', $user = NULL, $pwd=NULL)
</a></td>
233 <td class=
"coverBar" align=
"center" width=
"100">
234 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
236 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
240 <td class=
"coverPerHi">100.00%
</td>
241 <td class=
"coverNumHi">1 /
1</td>
242 <td class=
"coverBar" align=
"center" width=
"100">
243 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
245 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
249 <td class=
"coverPerHi">100.00%
</td>
250 <td class=
"coverNumHi">5 /
5</td>
254 <td class=
"coverFile" colspan=
"4"> <a href=
"#310">final protected function _getConnection()
</a></td>
255 <td class=
"coverBar" align=
"center" width=
"100">
256 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
258 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
262 <td class=
"coverPerLo">0.00%
</td>
263 <td class=
"coverNumLo">0 /
1</td>
264 <td class=
"coverBar" align=
"center" width=
"100">
265 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
267 <td class=
"coverBarOutline"><img src=
"butter.png" width=
"52" height=
"10" alt=
"52.94%"><img src=
"snow.png" width=
"48" height=
"10" alt=
"52.94%"></td>
271 <td class=
"coverPerMed">52.94%
</td>
272 <td class=
"coverNumMed">9 /
17</td>
276 <td class=
"coverFile" colspan=
"4"> <a href=
"#343">final protected function _getCollection()
</a></td>
277 <td class=
"coverBar" align=
"center" width=
"100">
278 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
280 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
284 <td class=
"coverPerHi">100.00%
</td>
285 <td class=
"coverNumHi">1 /
1</td>
286 <td class=
"coverBar" align=
"center" width=
"100">
287 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
289 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
293 <td class=
"coverPerHi">100.00%
</td>
294 <td class=
"coverNumHi">8 /
8</td>
298 <td class=
"coverFile" colspan=
"4"> <a href=
"#368">final protected function getDocumentVars()
</a></td>
299 <td class=
"coverBar" align=
"center" width=
"100">
300 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
302 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
306 <td class=
"coverPerHi">100.00%
</td>
307 <td class=
"coverNumHi">1 /
1</td>
308 <td class=
"coverBar" align=
"center" width=
"100">
309 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
311 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
315 <td class=
"coverPerHi">100.00%
</td>
316 <td class=
"coverNumHi">7 /
7</td>
320 <td class=
"coverFile" colspan=
"4"> <a href=
"#396">final function getCurrentSubDocument(&$document, $parent_key, Array $values, Array $past_values)
</a></td>
321 <td class=
"coverBar" align=
"center" width=
"100">
322 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
324 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
328 <td class=
"coverPerLo">0.00%
</td>
329 <td class=
"coverNumLo">0 /
1</td>
330 <td class=
"coverBar" align=
"center" width=
"100">
331 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
333 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"94" height=
"10" alt=
"94.44%"><img src=
"snow.png" width=
"6" height=
"10" alt=
"94.44%"></td>
337 <td class=
"coverPerHi">94.44%
</td>
338 <td class=
"coverNumHi">17 /
18</td>
342 <td class=
"coverFile" colspan=
"4"> <a href=
"#458">final protected function getCurrentDocument($update=FALSE, $current=FALSE)
</a></td>
343 <td class=
"coverBar" align=
"center" width=
"100">
344 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
346 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
350 <td class=
"coverPerLo">0.00%
</td>
351 <td class=
"coverNumLo">0 /
1</td>
352 <td class=
"coverBar" align=
"center" width=
"100">
353 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
355 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"97" height=
"10" alt=
"97.37%"><img src=
"snow.png" width=
"3" height=
"10" alt=
"97.37%"></td>
359 <td class=
"coverPerHi">97.37%
</td>
360 <td class=
"coverNumHi">37 /
38</td>
364 <td class=
"coverFile" colspan=
"4"> <a href=
"#545">final static function addEvent($action, $callback)
</a></td>
365 <td class=
"coverBar" align=
"center" width=
"100">
366 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
368 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
372 <td class=
"coverPerHi">100.00%
</td>
373 <td class=
"coverNumHi">1 /
1</td>
374 <td class=
"coverBar" align=
"center" width=
"100">
375 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
377 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
381 <td class=
"coverPerHi">100.00%
</td>
382 <td class=
"coverNumHi">12 /
12</td>
386 <td class=
"coverFile" colspan=
"4"> <a href=
"#566">final function triggerEvent($event, Array $events_params = array(), $context=NULL)
</a></td>
387 <td class=
"coverBar" align=
"center" width=
"100">
388 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
390 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
394 <td class=
"coverPerLo">0.00%
</td>
395 <td class=
"coverNumLo">0 /
1</td>
396 <td class=
"coverBar" align=
"center" width=
"100">
397 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
399 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"92" height=
"10" alt=
"92.68%"><img src=
"snow.png" width=
"8" height=
"10" alt=
"92.68%"></td>
403 <td class=
"coverPerHi">92.68%
</td>
404 <td class=
"coverNumHi">38 /
41</td>
408 <td class=
"coverFile" colspan=
"4"> <a href=
"#631">protected function runFilter($key, &$value, $past_value)
</a></td>
409 <td class=
"coverBar" align=
"center" width=
"100">
410 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
412 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
416 <td class=
"coverPerHi">100.00%
</td>
417 <td class=
"coverNumHi">1 /
1</td>
418 <td class=
"coverBar" align=
"center" width=
"100">
419 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
421 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
425 <td class=
"coverPerHi">100.00%
</td>
426 <td class=
"coverNumHi">8 /
8</td>
430 <td class=
"coverFile" colspan=
"4"> <a href=
"#657">final protected function setCursor(MongoCursor $obj)
</a></td>
431 <td class=
"coverBar" align=
"center" width=
"100">
432 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
434 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
438 <td class=
"coverPerHi">100.00%
</td>
439 <td class=
"coverNumHi">1 /
1</td>
440 <td class=
"coverBar" align=
"center" width=
"100">
441 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
443 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
447 <td class=
"coverPerHi">100.00%
</td>
448 <td class=
"coverNumHi">4 /
4</td>
452 <td class=
"coverFile" colspan=
"4"> <a href=
"#676">final protected function setResult($obj)
</a></td>
453 <td class=
"coverBar" align=
"center" width=
"100">
454 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
456 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
460 <td class=
"coverPerLo">0.00%
</td>
461 <td class=
"coverNumLo">0 /
1</td>
462 <td class=
"coverBar" align=
"center" width=
"100">
463 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
465 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"90" height=
"10" alt=
"90.91%"><img src=
"snow.png" width=
"10" height=
"10" alt=
"90.91%"></td>
469 <td class=
"coverPerHi">90.91%
</td>
470 <td class=
"coverNumHi">10 /
11</td>
474 <td class=
"coverFile" colspan=
"4"> <a href=
"#706">final function find($_id = NULL)
</a></td>
475 <td class=
"coverBar" align=
"center" width=
"100">
476 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
478 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
482 <td class=
"coverPerHi">100.00%
</td>
483 <td class=
"coverNumHi">1 /
1</td>
484 <td class=
"coverBar" align=
"center" width=
"100">
485 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
487 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
491 <td class=
"coverPerHi">100.00%
</td>
492 <td class=
"coverNumHi">20 /
20</td>
496 <td class=
"coverFile" colspan=
"4"> <a href=
"#747">final function save($async=TRUE)
</a></td>
497 <td class=
"coverBar" align=
"center" width=
"100">
498 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
500 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
504 <td class=
"coverPerHi">100.00%
</td>
505 <td class=
"coverNumHi">1 /
1</td>
506 <td class=
"coverBar" align=
"center" width=
"100">
507 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
509 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
513 <td class=
"coverPerHi">100.00%
</td>
514 <td class=
"coverNumHi">53 /
53</td>
518 <td class=
"coverFile" colspan=
"4"> <a href=
"#822">final function delete()
</a></td>
519 <td class=
"coverBar" align=
"center" width=
"100">
520 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
522 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
526 <td class=
"coverPerHi">100.00%
</td>
527 <td class=
"coverNumHi">1 /
1</td>
528 <td class=
"coverBar" align=
"center" width=
"100">
529 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
531 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
535 <td class=
"coverPerHi">100.00%
</td>
536 <td class=
"coverNumHi">13 /
13</td>
540 <td class=
"coverFile" colspan=
"4"> <a href=
"#867">function update(Array $value, $safe=TRUE)
</a></td>
541 <td class=
"coverBar" align=
"center" width=
"100">
542 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
544 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
548 <td class=
"coverPerHi">100.00%
</td>
549 <td class=
"coverNumHi">1 /
1</td>
550 <td class=
"coverBar" align=
"center" width=
"100">
551 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
553 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
557 <td class=
"coverPerHi">100.00%
</td>
558 <td class=
"coverNumHi">7 /
7</td>
562 <td class=
"coverFile" colspan=
"4"> <a href=
"#891">final static function drop()
</a></td>
563 <td class=
"coverBar" align=
"center" width=
"100">
564 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
566 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
570 <td class=
"coverPerHi">100.00%
</td>
571 <td class=
"coverNumHi">1 /
1</td>
572 <td class=
"coverBar" align=
"center" width=
"100">
573 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
575 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
579 <td class=
"coverPerHi">100.00%
</td>
580 <td class=
"coverNumHi">10 /
10</td>
584 <td class=
"coverFile" colspan=
"4"> <a href=
"#916">final function count()
</a></td>
585 <td class=
"coverBar" align=
"center" width=
"100">
586 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
588 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
592 <td class=
"coverPerHi">100.00%
</td>
593 <td class=
"coverNumHi">1 /
1</td>
594 <td class=
"coverBar" align=
"center" width=
"100">
595 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
597 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
601 <td class=
"coverPerHi">100.00%
</td>
602 <td class=
"coverNumHi">3 /
3</td>
606 <td class=
"coverFile" colspan=
"4"> <a href=
"#931">function setup()
</a></td>
607 <td class=
"coverBar" align=
"center" width=
"100">
608 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
610 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
614 <td class=
"coverPerHi">100.00%
</td>
615 <td class=
"coverNumHi">1 /
1</td>
616 <td class=
"coverBar" align=
"center" width=
"100">
617 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
619 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
623 <td class=
"coverPerHi">100.00%
</td>
624 <td class=
"coverNumHi">1 /
1</td>
628 <td class=
"coverFile" colspan=
"4"> <a href=
"#946">final public static function batchInsert(Array $documents, $safe=TRUE, $on_error_continue=TRUE)
</a></td>
629 <td class=
"coverBar" align=
"center" width=
"100">
630 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
632 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
636 <td class=
"coverPerHi">100.00%
</td>
637 <td class=
"coverNumHi">1 /
1</td>
638 <td class=
"coverBar" align=
"center" width=
"100">
639 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
641 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
645 <td class=
"coverPerHi">100.00%
</td>
646 <td class=
"coverNumHi">22 /
22</td>
650 <td class=
"coverFile" colspan=
"4"> <a href=
"#991">final function addIndex($columns, $options=array())
</a></td>
651 <td class=
"coverBar" align=
"center" width=
"100">
652 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
654 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
658 <td class=
"coverPerHi">100.00%
</td>
659 <td class=
"coverNumHi">1 /
1</td>
660 <td class=
"coverBar" align=
"center" width=
"100">
661 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
663 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
667 <td class=
"coverPerHi">100.00%
</td>
668 <td class=
"coverNumHi">18 /
18</td>
672 <td class=
"coverFile" colspan=
"4"> <a href=
"#1026">final static function getIndexes()
</a></td>
673 <td class=
"coverBar" align=
"center" width=
"100">
674 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
676 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
680 <td class=
"coverPerHi">100.00%
</td>
681 <td class=
"coverNumHi">1 /
1</td>
682 <td class=
"coverBar" align=
"center" width=
"100">
683 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
685 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
689 <td class=
"coverPerHi">100.00%
</td>
690 <td class=
"coverNumHi">1 /
1</td>
694 <td class=
"coverFile" colspan=
"4"> <a href=
"#1041">function __toString()
</a></td>
695 <td class=
"coverBar" align=
"center" width=
"100">
696 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
698 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
702 <td class=
"coverPerHi">100.00%
</td>
703 <td class=
"coverNumHi">1 /
1</td>
704 <td class=
"coverBar" align=
"center" width=
"100">
705 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
707 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
711 <td class=
"coverPerHi">100.00%
</td>
712 <td class=
"coverNumHi">1 /
1</td>
716 <td class=
"coverFile" colspan=
"4"> <a href=
"#1056">final protected function sendCmd($cmd)
</a></td>
717 <td class=
"coverBar" align=
"center" width=
"100">
718 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
720 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
724 <td class=
"coverPerHi">100.00%
</td>
725 <td class=
"coverNumHi">1 /
1</td>
726 <td class=
"coverBar" align=
"center" width=
"100">
727 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
729 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
733 <td class=
"coverPerHi">100.00%
</td>
734 <td class=
"coverNumHi">1 /
1</td>
738 <td class=
"coverFile" colspan=
"4"> <a href=
"#1071">final function getArray()
</a></td>
739 <td class=
"coverBar" align=
"center" width=
"100">
740 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
742 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
746 <td class=
"coverPerHi">100.00%
</td>
747 <td class=
"coverNumHi">1 /
1</td>
748 <td class=
"coverBar" align=
"center" width=
"100">
749 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
751 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
755 <td class=
"coverPerHi">100.00%
</td>
756 <td class=
"coverNumHi">1 /
1</td>
760 <td class=
"coverFile" colspan=
"4"> <a href=
"#1084">final function reset()
</a></td>
761 <td class=
"coverBar" align=
"center" width=
"100">
762 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
764 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
768 <td class=
"coverPerHi">100.00%
</td>
769 <td class=
"coverNumHi">1 /
1</td>
770 <td class=
"coverBar" align=
"center" width=
"100">
771 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
773 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
777 <td class=
"coverPerHi">100.00%
</td>
778 <td class=
"coverNumHi">11 /
11</td>
782 <td class=
"coverFile" colspan=
"4"> <a href=
"#1108">final function valid()
</a></td>
783 <td class=
"coverBar" align=
"center" width=
"100">
784 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
786 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
790 <td class=
"coverPerLo">0.00%
</td>
791 <td class=
"coverNumLo">0 /
1</td>
792 <td class=
"coverBar" align=
"center" width=
"100">
793 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
795 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"88" height=
"10" alt=
"88.89%"><img src=
"snow.png" width=
"12" height=
"10" alt=
"88.89%"></td>
799 <td class=
"coverPerHi">88.89%
</td>
800 <td class=
"coverNumHi">16 /
18</td>
804 <td class=
"coverFile" colspan=
"4"> <a href=
"#1139">final function next()
</a></td>
805 <td class=
"coverBar" align=
"center" width=
"100">
806 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
808 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
812 <td class=
"coverPerLo">0.00%
</td>
813 <td class=
"coverNumLo">0 /
1</td>
814 <td class=
"coverBar" align=
"center" width=
"100">
815 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
817 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"85" height=
"10" alt=
"85.71%"><img src=
"snow.png" width=
"15" height=
"10" alt=
"85.71%"></td>
821 <td class=
"coverPerHi">85.71%
</td>
822 <td class=
"coverNumHi">12 /
14</td>
826 <td class=
"coverFile" colspan=
"4"> <a href=
"#1167">final function current()
</a></td>
827 <td class=
"coverBar" align=
"center" width=
"100">
828 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
830 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
834 <td class=
"coverPerLo">0.00%
</td>
835 <td class=
"coverNumLo">0 /
1</td>
836 <td class=
"coverBar" align=
"center" width=
"100">
837 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
839 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"71" height=
"10" alt=
"71.43%"><img src=
"snow.png" width=
"29" height=
"10" alt=
"71.43%"></td>
843 <td class=
"coverPerHi">71.43%
</td>
844 <td class=
"coverNumHi">10 /
14</td>
848 <td class=
"coverFile" colspan=
"4"> <a href=
"#1191">final function rewind()
</a></td>
849 <td class=
"coverBar" align=
"center" width=
"100">
850 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
852 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
856 <td class=
"coverPerLo">0.00%
</td>
857 <td class=
"coverNumLo">0 /
1</td>
858 <td class=
"coverBar" align=
"center" width=
"100">
859 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
861 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"88" height=
"10" alt=
"88.24%"><img src=
"snow.png" width=
"12" height=
"10" alt=
"88.24%"></td>
865 <td class=
"coverPerHi">88.24%
</td>
866 <td class=
"coverNumHi">15 /
17</td>
870 <td class=
"coverFile" colspan=
"4"> <a href=
"#1219">final function offsetExists($offset)
</a></td>
871 <td class=
"coverBar" align=
"center" width=
"100">
872 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
874 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
878 <td class=
"coverPerHi">100.00%
</td>
879 <td class=
"coverNumHi">1 /
1</td>
880 <td class=
"coverBar" align=
"center" width=
"100">
881 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
883 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
887 <td class=
"coverPerHi">100.00%
</td>
888 <td class=
"coverNumHi">1 /
1</td>
892 <td class=
"coverFile" colspan=
"4"> <a href=
"#1224">final function offsetGet($offset)
</a></td>
893 <td class=
"coverBar" align=
"center" width=
"100">
894 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
896 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
900 <td class=
"coverPerHi">100.00%
</td>
901 <td class=
"coverNumHi">1 /
1</td>
902 <td class=
"coverBar" align=
"center" width=
"100">
903 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
905 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
909 <td class=
"coverPerHi">100.00%
</td>
910 <td class=
"coverNumHi">1 /
1</td>
914 <td class=
"coverFile" colspan=
"4"> <a href=
"#1229">final function offsetSet($offset, $value)
</a></td>
915 <td class=
"coverBar" align=
"center" width=
"100">
916 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
918 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
922 <td class=
"coverPerHi">100.00%
</td>
923 <td class=
"coverNumHi">1 /
1</td>
924 <td class=
"coverBar" align=
"center" width=
"100">
925 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
927 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
931 <td class=
"coverPerHi">100.00%
</td>
932 <td class=
"coverNumHi">2 /
2</td>
936 <td class=
"coverFile" colspan=
"4"> <a href=
"#1234">final function offsetUnset($offset)
</a></td>
937 <td class=
"coverBar" align=
"center" width=
"100">
938 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
940 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
944 <td class=
"coverPerHi">100.00%
</td>
945 <td class=
"coverNumHi">1 /
1</td>
946 <td class=
"coverBar" align=
"center" width=
"100">
947 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
949 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
953 <td class=
"coverPerHi">100.00%
</td>
954 <td class=
"coverNumHi">2 /
2</td>
958 <td class=
"coverFile" colspan=
"4"> <a href=
"#1254">final function getReference($dynamic=FALSE)
</a></td>
959 <td class=
"coverBar" align=
"center" width=
"100">
960 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
962 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
966 <td class=
"coverPerLo">0.00%
</td>
967 <td class=
"coverNumLo">0 /
1</td>
968 <td class=
"coverBar" align=
"center" width=
"100">
969 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
971 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"95" height=
"10" alt=
"95.65%"><img src=
"snow.png" width=
"5" height=
"10" alt=
"95.65%"></td>
975 <td class=
"coverPerHi">95.65%
</td>
976 <td class=
"coverNumHi">22 /
23</td>
980 <td class=
"coverFile" colspan=
"4"> <a href=
"#1303">final protected function getDocumentReferences($document, &$refs, $parent_key=NULL)
</a></td>
981 <td class=
"coverBar" align=
"center" width=
"100">
982 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
984 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
988 <td class=
"coverPerHi">100.00%
</td>
989 <td class=
"coverNumHi">1 /
1</td>
990 <td class=
"coverBar" align=
"center" width=
"100">
991 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
993 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
997 <td class=
"coverPerHi">100.00%
</td>
998 <td class=
"coverNumHi">13 /
13</td>
1002 <td class=
"coverFile" colspan=
"4"> <a href=
"#1332">private function _deferencingCreateObject($class)
</a></td>
1003 <td class=
"coverBar" align=
"center" width=
"100">
1004 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1006 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
1010 <td class=
"coverPerLo">0.00%
</td>
1011 <td class=
"coverNumLo">0 /
1</td>
1012 <td class=
"coverBar" align=
"center" width=
"100">
1013 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1015 <td class=
"coverBarOutline"><img src=
"butter.png" width=
"66" height=
"10" alt=
"66.67%"><img src=
"snow.png" width=
"34" height=
"10" alt=
"66.67%"></td>
1019 <td class=
"coverPerMed">66.67%
</td>
1020 <td class=
"coverNumMed">2 /
3</td>
1024 <td class=
"coverFile" colspan=
"4"> <a href=
"#1354">private function _deferencingRestoreProperty(&$document, $keys, $req)
</a></td>
1025 <td class=
"coverBar" align=
"center" width=
"100">
1026 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1028 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1032 <td class=
"coverPerHi">100.00%
</td>
1033 <td class=
"coverNumHi">1 /
1</td>
1034 <td class=
"coverBar" align=
"center" width=
"100">
1035 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1037 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1041 <td class=
"coverPerHi">100.00%
</td>
1042 <td class=
"coverNumHi">7 /
7</td>
1046 <td class=
"coverFile" colspan=
"4"> <a href=
"#1381">private function _deferencingQuery($request)
</a></td>
1047 <td class=
"coverBar" align=
"center" width=
"100">
1048 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1050 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1054 <td class=
"coverPerHi">100.00%
</td>
1055 <td class=
"coverNumHi">1 /
1</td>
1056 <td class=
"coverBar" align=
"center" width=
"100">
1057 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1059 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1063 <td class=
"coverPerHi">100.00%
</td>
1064 <td class=
"coverNumHi">10 /
10</td>
1068 <td class=
"coverFile" colspan=
"4"> <a href=
"#1411">final function doDeferencing($refs=array())
</a></td>
1069 <td class=
"coverBar" align=
"center" width=
"100">
1070 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1072 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1076 <td class=
"coverPerHi">100.00%
</td>
1077 <td class=
"coverNumHi">1 /
1</td>
1078 <td class=
"coverBar" align=
"center" width=
"100">
1079 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1081 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1085 <td class=
"coverPerHi">100.00%
</td>
1086 <td class=
"coverNumHi">47 /
47</td>
1090 <td class=
"coverFile" colspan=
"4"> <a href=
"#1528">final function getColumnDeference(&$document, $property, ActiveMongo $obj)
</a></td>
1091 <td class=
"coverBar" align=
"center" width=
"100">
1092 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1094 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1098 <td class=
"coverPerHi">100.00%
</td>
1099 <td class=
"coverNumHi">1 /
1</td>
1100 <td class=
"coverBar" align=
"center" width=
"100">
1101 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1103 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1107 <td class=
"coverPerHi">100.00%
</td>
1108 <td class=
"coverNumHi">2 /
2</td>
1112 <td class=
"coverFile" colspan=
"4"> <a href=
"#1541">final function findReferences(&$document)
</a></td>
1113 <td class=
"coverBar" align=
"center" width=
"100">
1114 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1116 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
1120 <td class=
"coverPerLo">0.00%
</td>
1121 <td class=
"coverNumLo">0 /
1</td>
1122 <td class=
"coverBar" align=
"center" width=
"100">
1123 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1125 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"85" height=
"10" alt=
"85.71%"><img src=
"snow.png" width=
"15" height=
"10" alt=
"85.71%"></td>
1129 <td class=
"coverPerHi">85.71%
</td>
1130 <td class=
"coverNumHi">18 /
21</td>
1134 <td class=
"coverFile" colspan=
"4"> <a href=
"#1583">final function __clone()
</a></td>
1135 <td class=
"coverBar" align=
"center" width=
"100">
1136 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1138 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1142 <td class=
"coverPerHi">100.00%
</td>
1143 <td class=
"coverNumHi">1 /
1</td>
1144 <td class=
"coverBar" align=
"center" width=
"100">
1145 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1147 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1151 <td class=
"coverPerHi">100.00%
</td>
1152 <td class=
"coverNumHi">5 /
5</td>
1156 <td class=
"coverFile" colspan=
"4"> <a href=
"#1604">final public function getID()
</a></td>
1157 <td class=
"coverBar" align=
"center" width=
"100">
1158 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1160 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1164 <td class=
"coverPerHi">100.00%
</td>
1165 <td class=
"coverNumHi">1 /
1</td>
1166 <td class=
"coverBar" align=
"center" width=
"100">
1167 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1169 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1173 <td class=
"coverPerHi">100.00%
</td>
1174 <td class=
"coverNumHi">3 /
3</td>
1178 <td class=
"coverFile" colspan=
"4"> <a href=
"#1619">final function key()
</a></td>
1179 <td class=
"coverBar" align=
"center" width=
"100">
1180 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1182 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1186 <td class=
"coverPerHi">100.00%
</td>
1187 <td class=
"coverNumHi">1 /
1</td>
1188 <td class=
"coverBar" align=
"center" width=
"100">
1189 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1191 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1195 <td class=
"coverPerHi">100.00%
</td>
1196 <td class=
"coverNumHi">1 /
1</td>
1200 <td class=
"coverFile" colspan=
"4"> <a href=
"#1637">final private function _assertNotInQuery()
</a></td>
1201 <td class=
"coverBar" align=
"center" width=
"100">
1202 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1204 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1208 <td class=
"coverPerHi">100.00%
</td>
1209 <td class=
"coverNumHi">1 /
1</td>
1210 <td class=
"coverBar" align=
"center" width=
"100">
1211 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1213 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1217 <td class=
"coverPerHi">100.00%
</td>
1218 <td class=
"coverNumHi">3 /
3</td>
1222 <td class=
"coverFile" colspan=
"4"> <a href=
"#1653">final function servedFromCache()
</a></td>
1223 <td class=
"coverBar" align=
"center" width=
"100">
1224 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1226 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1230 <td class=
"coverPerHi">100.00%
</td>
1231 <td class=
"coverNumHi">1 /
1</td>
1232 <td class=
"coverBar" align=
"center" width=
"100">
1233 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1235 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1239 <td class=
"coverPerHi">100.00%
</td>
1240 <td class=
"coverNumHi">1 /
1</td>
1244 <td class=
"coverFile" colspan=
"4"> <a href=
"#1665">final function doQuery($use_cache=TRUE)
</a></td>
1245 <td class=
"coverBar" align=
"center" width=
"100">
1246 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1248 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
1252 <td class=
"coverPerLo">0.00%
</td>
1253 <td class=
"coverNumLo">0 /
1</td>
1254 <td class=
"coverBar" align=
"center" width=
"100">
1255 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1257 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"82" height=
"10" alt=
"82.05%"><img src=
"snow.png" width=
"18" height=
"10" alt=
"82.05%"></td>
1261 <td class=
"coverPerHi">82.05%
</td>
1262 <td class=
"coverNumHi">32 /
39</td>
1266 <td class=
"coverFile" colspan=
"4"> <a href=
"#1731">final function properties($props)
</a></td>
1267 <td class=
"coverBar" align=
"center" width=
"100">
1268 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1270 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1274 <td class=
"coverPerHi">100.00%
</td>
1275 <td class=
"coverNumHi">1 /
1</td>
1276 <td class=
"coverBar" align=
"center" width=
"100">
1277 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1279 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1283 <td class=
"coverPerHi">100.00%
</td>
1284 <td class=
"coverNumHi">13 /
13</td>
1288 <td class=
"coverFile" colspan=
"4"> <a href=
"#1757">final function columns($properties)
</a></td>
1289 <td class=
"coverBar" align=
"center" width=
"100">
1290 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1292 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1296 <td class=
"coverPerHi">100.00%
</td>
1297 <td class=
"coverNumHi">1 /
1</td>
1298 <td class=
"coverBar" align=
"center" width=
"100">
1299 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1301 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1305 <td class=
"coverPerHi">100.00%
</td>
1306 <td class=
"coverNumHi">1 /
1</td>
1310 <td class=
"coverFile" colspan=
"4"> <a href=
"#1768">final function where($property_str, $value=NULL)
</a></td>
1311 <td class=
"coverBar" align=
"center" width=
"100">
1312 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1314 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1318 <td class=
"coverPerHi">100.00%
</td>
1319 <td class=
"coverNumHi">1 /
1</td>
1320 <td class=
"coverBar" align=
"center" width=
"100">
1321 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1323 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1327 <td class=
"coverPerHi">100.00%
</td>
1328 <td class=
"coverNumHi">110 /
110</td>
1332 <td class=
"coverFile" colspan=
"4"> <a href=
"#1925">final function sort($sort_str)
</a></td>
1333 <td class=
"coverBar" align=
"center" width=
"100">
1334 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1336 <td class=
"coverBarOutline"><img src=
"scarlet_red.png" width=
"0" height=
"10" alt=
"0.00%"><img src=
"snow.png" width=
"100" height=
"10" alt=
"0.00%"></td>
1340 <td class=
"coverPerLo">0.00%
</td>
1341 <td class=
"coverNumLo">0 /
1</td>
1342 <td class=
"coverBar" align=
"center" width=
"100">
1343 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1345 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"92" height=
"10" alt=
"92.86%"><img src=
"snow.png" width=
"8" height=
"10" alt=
"92.86%"></td>
1349 <td class=
"coverPerHi">92.86%
</td>
1350 <td class=
"coverNumHi">26 /
28</td>
1354 <td class=
"coverFile" colspan=
"4"> <a href=
"#1973">final function limit($limit=
0, $skip=
0)
</a></td>
1355 <td class=
"coverBar" align=
"center" width=
"100">
1356 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1358 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1362 <td class=
"coverPerHi">100.00%
</td>
1363 <td class=
"coverNumHi">1 /
1</td>
1364 <td class=
"coverBar" align=
"center" width=
"100">
1365 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1367 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1371 <td class=
"coverPerHi">100.00%
</td>
1372 <td class=
"coverNumHi">6 /
6</td>
1376 <td class=
"coverFile" colspan=
"4"> <a href=
"#1993">final function findAndModify($document)
</a></td>
1377 <td class=
"coverBar" align=
"center" width=
"100">
1378 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1380 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1384 <td class=
"coverPerHi">100.00%
</td>
1385 <td class=
"coverNumHi">1 /
1</td>
1386 <td class=
"coverBar" align=
"center" width=
"100">
1387 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1389 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1393 <td class=
"coverPerHi">100.00%
</td>
1394 <td class=
"coverNumHi">6 /
6</td>
1398 <td class=
"coverFile" colspan=
"4"> <a href=
"#2007">private function _execFindAndModify()
</a></td>
1399 <td class=
"coverBar" align=
"center" width=
"100">
1400 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1402 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1406 <td class=
"coverPerHi">100.00%
</td>
1407 <td class=
"coverNumHi">1 /
1</td>
1408 <td class=
"coverBar" align=
"center" width=
"100">
1409 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1411 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1415 <td class=
"coverPerHi">100.00%
</td>
1416 <td class=
"coverNumHi">12 /
12</td>
1420 <td class=
"coverFile" colspan=
"4"> <a href=
"#2035">function __sleep()
</a></td>
1421 <td class=
"coverBar" align=
"center" width=
"100">
1422 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1424 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1428 <td class=
"coverPerHi">100.00%
</td>
1429 <td class=
"coverNumHi">1 /
1</td>
1430 <td class=
"coverBar" align=
"center" width=
"100">
1431 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1433 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1437 <td class=
"coverPerHi">100.00%
</td>
1438 <td class=
"coverNumHi">1 /
1</td>
1442 <td class=
"coverItem">Functions
</td>
1443 <td class=
"coverBar" align=
"center" width=
"100">
1444 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1446 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
" "><img src=
"snow.png" width=
"0" height=
"10" alt=
" "></td>
1450 <td class=
"coverPerNone"> </td>
1451 <td class=
"coverNumNone"> </td>
1452 <td class=
"coverBar" align=
"center" width=
"100">
1453 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1455 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1459 <td class=
"coverPerHi">100.00%
</td>
1460 <td class=
"coverNumHi">1 /
1</td>
1461 <td class=
"coverBar" align=
"center" width=
"100">
1462 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1464 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1468 <td class=
"coverPerHi">100.00%
</td>
1469 <td class=
"coverNumHi">0 /
0</td>
1473 <td class=
"coverFile" colspan=
"4"> <a href=
"#47">function get_document_vars($obj, $include_id=TRUE)
</a></td>
1474 <td class=
"coverBar" align=
"center" width=
"100">
1475 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1477 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1481 <td class=
"coverPerHi">100.00%
</td>
1482 <td class=
"coverNumHi">1 /
1</td>
1483 <td class=
"coverBar" align=
"center" width=
"100">
1484 <table border=
"0" cellspacing=
"0" cellpadding=
"1">
1486 <td class=
"coverBarOutline"><img src=
"chameleon.png" width=
"100" height=
"10" alt=
"100.00%"><img src=
"snow.png" width=
"0" height=
"10" alt=
"100.00%"></td>
1490 <td class=
"coverPerHi">100.00%
</td>
1491 <td class=
"coverNumHi">5 /
5</td>
1500 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
1506 <pre class=
"source">
1507 <span class=
"lineNum" id=
"container1"><a name=
"1"></a><a href=
"#1" id=
"line1"> 1</a> </span> :
<?php
1508 <span class=
"lineNum" id=
"container2"><a name=
"2"></a><a href=
"#2" id=
"line2"> 2</a> </span> : /*
1509 <span class=
"lineNum" id=
"container3"><a name=
"3"></a><a href=
"#3" id=
"line3"> 3</a> </span> : +---------------------------------------------------------------------------------+
1510 <span class=
"lineNum" id=
"container4"><a name=
"4"></a><a href=
"#4" id=
"line4"> 4</a> </span> : | Copyright (c)
2010 ActiveMongo |
1511 <span class=
"lineNum" id=
"container5"><a name=
"5"></a><a href=
"#5" id=
"line5"> 5</a> </span> : +---------------------------------------------------------------------------------+
1512 <span class=
"lineNum" id=
"container6"><a name=
"6"></a><a href=
"#6" id=
"line6"> 6</a> </span> : | Redistribution and use in source and binary forms, with or without |
1513 <span class=
"lineNum" id=
"container7"><a name=
"7"></a><a href=
"#7" id=
"line7"> 7</a> </span> : | modification, are permitted provided that the following conditions are met: |
1514 <span class=
"lineNum" id=
"container8"><a name=
"8"></a><a href=
"#8" id=
"line8"> 8</a> </span> : |
1. Redistributions of source code must retain the above copyright |
1515 <span class=
"lineNum" id=
"container9"><a name=
"9"></a><a href=
"#9" id=
"line9"> 9</a> </span> : | notice, this list of conditions and the following disclaimer. |
1516 <span class=
"lineNum" id=
"container10"><a name=
"10"></a><a href=
"#10" id=
"line10"> 10</a> </span> : | |
1517 <span class=
"lineNum" id=
"container11"><a name=
"11"></a><a href=
"#11" id=
"line11"> 11</a> </span> : |
2. Redistributions in binary form must reproduce the above copyright |
1518 <span class=
"lineNum" id=
"container12"><a name=
"12"></a><a href=
"#12" id=
"line12"> 12</a> </span> : | notice, this list of conditions and the following disclaimer in the |
1519 <span class=
"lineNum" id=
"container13"><a name=
"13"></a><a href=
"#13" id=
"line13"> 13</a> </span> : | documentation and/or other materials provided with the distribution. |
1520 <span class=
"lineNum" id=
"container14"><a name=
"14"></a><a href=
"#14" id=
"line14"> 14</a> </span> : | |
1521 <span class=
"lineNum" id=
"container15"><a name=
"15"></a><a href=
"#15" id=
"line15"> 15</a> </span> : |
3. All advertising materials mentioning features or use of this software |
1522 <span class=
"lineNum" id=
"container16"><a name=
"16"></a><a href=
"#16" id=
"line16"> 16</a> </span> : | must display the following acknowledgement: |
1523 <span class=
"lineNum" id=
"container17"><a name=
"17"></a><a href=
"#17" id=
"line17"> 17</a> </span> : | This product includes software developed by César D. Rodas. |
1524 <span class=
"lineNum" id=
"container18"><a name=
"18"></a><a href=
"#18" id=
"line18"> 18</a> </span> : | |
1525 <span class=
"lineNum" id=
"container19"><a name=
"19"></a><a href=
"#19" id=
"line19"> 19</a> </span> : |
4. Neither the name of the César D. Rodas nor the |
1526 <span class=
"lineNum" id=
"container20"><a name=
"20"></a><a href=
"#20" id=
"line20"> 20</a> </span> : | names of its contributors may be used to endorse or promote products |
1527 <span class=
"lineNum" id=
"container21"><a name=
"21"></a><a href=
"#21" id=
"line21"> 21</a> </span> : | derived from this software without specific prior written permission. |
1528 <span class=
"lineNum" id=
"container22"><a name=
"22"></a><a href=
"#22" id=
"line22"> 22</a> </span> : | |
1529 <span class=
"lineNum" id=
"container23"><a name=
"23"></a><a href=
"#23" id=
"line23"> 23</a> </span> : | THIS SOFTWARE IS PROVIDED BY CÉSAR D. RODAS ''AS IS'' AND ANY |
1530 <span class=
"lineNum" id=
"container24"><a name=
"24"></a><a href=
"#24" id=
"line24"> 24</a> </span> : | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
1531 <span class=
"lineNum" id=
"container25"><a name=
"25"></a><a href=
"#25" id=
"line25"> 25</a> </span> : | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
1532 <span class=
"lineNum" id=
"container26"><a name=
"26"></a><a href=
"#26" id=
"line26"> 26</a> </span> : | DISCLAIMED. IN NO EVENT SHALL CÉSAR D. RODAS BE LIABLE FOR ANY |
1533 <span class=
"lineNum" id=
"container27"><a name=
"27"></a><a href=
"#27" id=
"line27"> 27</a> </span> : | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
1534 <span class=
"lineNum" id=
"container28"><a name=
"28"></a><a href=
"#28" id=
"line28"> 28</a> </span> : | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
1535 <span class=
"lineNum" id=
"container29"><a name=
"29"></a><a href=
"#29" id=
"line29"> 29</a> </span> : | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
1536 <span class=
"lineNum" id=
"container30"><a name=
"30"></a><a href=
"#30" id=
"line30"> 30</a> </span> : | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
1537 <span class=
"lineNum" id=
"container31"><a name=
"31"></a><a href=
"#31" id=
"line31"> 31</a> </span> : | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
1538 <span class=
"lineNum" id=
"container32"><a name=
"32"></a><a href=
"#32" id=
"line32"> 32</a> </span> : | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE |
1539 <span class=
"lineNum" id=
"container33"><a name=
"33"></a><a href=
"#33" id=
"line33"> 33</a> </span> : +---------------------------------------------------------------------------------+
1540 <span class=
"lineNum" id=
"container34"><a name=
"34"></a><a href=
"#34" id=
"line34"> 34</a> </span> : | Authors: César Rodas
<crodas@php.net
> |
1541 <span class=
"lineNum" id=
"container35"><a name=
"35"></a><a href=
"#35" id=
"line35"> 35</a> </span> : +---------------------------------------------------------------------------------+
1542 <span class=
"lineNum" id=
"container36"><a name=
"36"></a><a href=
"#36" id=
"line36"> 36</a> </span> : */
1543 <span class=
"lineNum" id=
"container37"><a name=
"37"></a><a href=
"#37" id=
"line37"> 37</a> </span> :
1544 <span class=
"lineNum" id=
"container38"><a name=
"38"></a><a href=
"#38" id=
"line38"> 38</a> </span> : // array get_document_vars(stdobj $obj) {{{
1545 <span class=
"lineNum" id=
"container39"><a name=
"39"></a><a href=
"#39" id=
"line39"> 39</a> </span> : /**
1546 <span class=
"lineNum" id=
"container40"><a name=
"40"></a><a href=
"#40" id=
"line40"> 40</a> </span> : * Simple hack to avoid get private and protected variables
1547 <span class=
"lineNum" id=
"container41"><a name=
"41"></a><a href=
"#41" id=
"line41"> 41</a> </span> : *
1548 <span class=
"lineNum" id=
"container42"><a name=
"42"></a><a href=
"#42" id=
"line42"> 42</a> </span> : * @param object $obj
1549 <span class=
"lineNum" id=
"container43"><a name=
"43"></a><a href=
"#43" id=
"line43"> 43</a> </span> : * @param bool $include_id
1550 <span class=
"lineNum" id=
"container44"><a name=
"44"></a><a href=
"#44" id=
"line44"> 44</a> </span> : *
1551 <span class=
"lineNum" id=
"container45"><a name=
"45"></a><a href=
"#45" id=
"line45"> 45</a> </span> : * @return array
1552 <span class=
"lineNum" id=
"container46"><a name=
"46"></a><a href=
"#46" id=
"line46"> 46</a> </span> : */
1553 <span class=
"lineNum" id=
"container47"><a name=
"47"></a><a href=
"#47" id=
"line47"> 47</a> </span> : function get_document_vars($obj, $include_id=TRUE)
1554 <span class=
"lineNum" id=
"container48"><a name=
"48"></a><a href=
"#48" id=
"line48"> 48</a> </span> : {
1555 <span class=
"lineNum" id=
"container49"><a name=
"49"></a><a href=
"#49" id=
"line49"> 49</a> </span><span class=
"lineCov"> 36 : $document = get_object_vars($obj);
</span>
1556 <span class=
"lineNum" id=
"container50"><a name=
"50"></a><a href=
"#50" id=
"line50"> 50</a> </span><span class=
"lineCov"> 36 : if ($include_id
&& $obj-
>getID()) {
</span>
1557 <span class=
"lineNum" id=
"container51"><a name=
"51"></a><a href=
"#51" id=
"line51"> 51</a> </span><span class=
"lineCov"> 11 : $document['_id'] = $obj-
>getID();
</span>
1558 <span class=
"lineNum" id=
"container52"><a name=
"52"></a><a href=
"#52" id=
"line52"> 52</a> </span><span class=
"lineCov"> 11 : }
</span>
1559 <span class=
"lineNum" id=
"container53"><a name=
"53"></a><a href=
"#53" id=
"line53"> 53</a> </span><span class=
"lineCov"> 36 : return $document;
</span>
1560 <span class=
"lineNum" id=
"container54"><a name=
"54"></a><a href=
"#54" id=
"line54"> 54</a> </span><span class=
"lineDeadCode"> : }
</span>
1561 <span class=
"lineNum" id=
"container55"><a name=
"55"></a><a href=
"#55" id=
"line55"> 55</a> </span> : // }}}
1562 <span class=
"lineNum" id=
"container56"><a name=
"56"></a><a href=
"#56" id=
"line56"> 56</a> </span> :
1563 <span class=
"lineNum" id=
"container57"><a name=
"57"></a><a href=
"#57" id=
"line57"> 57</a> </span> : if (version_compare(PHP_VERSION, '
5.3')
< 0) {
1564 <span class=
"lineNum" id=
"container58"><a name=
"58"></a><a href=
"#58" id=
"line58"> 58</a> </span> : require dirname(__FILE__).
"/Objects_compat.php
";
1565 <span class=
"lineNum" id=
"container59"><a name=
"59"></a><a href=
"#59" id=
"line59"> 59</a> </span> : } else {
1566 <span class=
"lineNum" id=
"container60"><a name=
"60"></a><a href=
"#60" id=
"line60"> 60</a> </span> : require dirname(__FILE__).
"/Objects.php
";
1567 <span class=
"lineNum" id=
"container61"><a name=
"61"></a><a href=
"#61" id=
"line61"> 61</a> </span> : }
1568 <span class=
"lineNum" id=
"container62"><a name=
"62"></a><a href=
"#62" id=
"line62"> 62</a> </span> :
1569 <span class=
"lineNum" id=
"container63"><a name=
"63"></a><a href=
"#63" id=
"line63"> 63</a> </span> : /**
1570 <span class=
"lineNum" id=
"container64"><a name=
"64"></a><a href=
"#64" id=
"line64"> 64</a> </span> : * ActiveMongo
1571 <span class=
"lineNum" id=
"container65"><a name=
"65"></a><a href=
"#65" id=
"line65"> 65</a> </span> : *
1572 <span class=
"lineNum" id=
"container66"><a name=
"66"></a><a href=
"#66" id=
"line66"> 66</a> </span> : * Simple ActiveRecord pattern built on top of MongoDB. This class
1573 <span class=
"lineNum" id=
"container67"><a name=
"67"></a><a href=
"#67" id=
"line67"> 67</a> </span> : * aims to provide easy iteration, data validation before update,
1574 <span class=
"lineNum" id=
"container68"><a name=
"68"></a><a href=
"#68" id=
"line68"> 68</a> </span> : * and efficient update.
1575 <span class=
"lineNum" id=
"container69"><a name=
"69"></a><a href=
"#69" id=
"line69"> 69</a> </span> : *
1576 <span class=
"lineNum" id=
"container70"><a name=
"70"></a><a href=
"#70" id=
"line70"> 70</a> </span> : * @author César D. Rodas
<crodas@php.net
>
1577 <span class=
"lineNum" id=
"container71"><a name=
"71"></a><a href=
"#71" id=
"line71"> 71</a> </span> : * @license BSD License
1578 <span class=
"lineNum" id=
"container72"><a name=
"72"></a><a href=
"#72" id=
"line72"> 72</a> </span> : * @package ActiveMongo
1579 <span class=
"lineNum" id=
"container73"><a name=
"73"></a><a href=
"#73" id=
"line73"> 73</a> </span> : * @version
1.0
1580 <span class=
"lineNum" id=
"container74"><a name=
"74"></a><a href=
"#74" id=
"line74"> 74</a> </span> : *
1581 <span class=
"lineNum" id=
"container75"><a name=
"75"></a><a href=
"#75" id=
"line75"> 75</a> </span> : */
1582 <span class=
"lineNum" id=
"container76"><a name=
"76"></a><a href=
"#76" id=
"line76"> 76</a> </span> : abstract class ActiveMongo implements Iterator, Countable, ArrayAccess
1583 <span class=
"lineNum" id=
"container77"><a name=
"77"></a><a href=
"#77" id=
"line77"> 77</a> </span> : {
1584 <span class=
"lineNum" id=
"container78"><a name=
"78"></a><a href=
"#78" id=
"line78"> 78</a> </span> :
1585 <span class=
"lineNum" id=
"container79"><a name=
"79"></a><a href=
"#79" id=
"line79"> 79</a> </span> : //{{{ Constants
1586 <span class=
"lineNum" id=
"container80"><a name=
"80"></a><a href=
"#80" id=
"line80"> 80</a> </span> : const FIND_AND_MODIFY =
0x001;
1587 <span class=
"lineNum" id=
"container81"><a name=
"81"></a><a href=
"#81" id=
"line81"> 81</a> </span> : // }}}
1588 <span class=
"lineNum" id=
"container82"><a name=
"82"></a><a href=
"#82" id=
"line82"> 82</a> </span> :
1589 <span class=
"lineNum" id=
"container83"><a name=
"83"></a><a href=
"#83" id=
"line83"> 83</a> </span> : // properties {{{
1590 <span class=
"lineNum" id=
"container84"><a name=
"84"></a><a href=
"#84" id=
"line84"> 84</a> </span> : /**
1591 <span class=
"lineNum" id=
"container85"><a name=
"85"></a><a href=
"#85" id=
"line85"> 85</a> </span> : * Current databases objects
1592 <span class=
"lineNum" id=
"container86"><a name=
"86"></a><a href=
"#86" id=
"line86"> 86</a> </span> : *
1593 <span class=
"lineNum" id=
"container87"><a name=
"87"></a><a href=
"#87" id=
"line87"> 87</a> </span> : * @type array
1594 <span class=
"lineNum" id=
"container88"><a name=
"88"></a><a href=
"#88" id=
"line88"> 88</a> </span> : */
1595 <span class=
"lineNum" id=
"container89"><a name=
"89"></a><a href=
"#89" id=
"line89"> 89</a> </span> : private static $_dbs;
1596 <span class=
"lineNum" id=
"container90"><a name=
"90"></a><a href=
"#90" id=
"line90"> 90</a> </span> : /**
1597 <span class=
"lineNum" id=
"container91"><a name=
"91"></a><a href=
"#91" id=
"line91"> 91</a> </span> : * Current namespace
1598 <span class=
"lineNum" id=
"container92"><a name=
"92"></a><a href=
"#92" id=
"line92"> 92</a> </span> : *
1599 <span class=
"lineNum" id=
"container93"><a name=
"93"></a><a href=
"#93" id=
"line93"> 93</a> </span> : * @type string
1600 <span class=
"lineNum" id=
"container94"><a name=
"94"></a><a href=
"#94" id=
"line94"> 94</a> </span> : */
1601 <span class=
"lineNum" id=
"container95"><a name=
"95"></a><a href=
"#95" id=
"line95"> 95</a> </span> : private static $_namespace = NULL;
1602 <span class=
"lineNum" id=
"container96"><a name=
"96"></a><a href=
"#96" id=
"line96"> 96</a> </span> : /**
1603 <span class=
"lineNum" id=
"container97"><a name=
"97"></a><a href=
"#97" id=
"line97"> 97</a> </span> : * Current collections objects
1604 <span class=
"lineNum" id=
"container98"><a name=
"98"></a><a href=
"#98" id=
"line98"> 98</a> </span> : *
1605 <span class=
"lineNum" id=
"container99"><a name=
"99"></a><a href=
"#99" id=
"line99"> 99</a> </span> : * @type array
1606 <span class=
"lineNum" id=
"container100"><a name=
"100"></a><a href=
"#100" id=
"line100"> 100</a> </span> : */
1607 <span class=
"lineNum" id=
"container101"><a name=
"101"></a><a href=
"#101" id=
"line101"> 101</a> </span> : private static $_collections;
1608 <span class=
"lineNum" id=
"container102"><a name=
"102"></a><a href=
"#102" id=
"line102"> 102</a> </span> : /**
1609 <span class=
"lineNum" id=
"container103"><a name=
"103"></a><a href=
"#103" id=
"line103"> 103</a> </span> : * Current connection to MongoDB
1610 <span class=
"lineNum" id=
"container104"><a name=
"104"></a><a href=
"#104" id=
"line104"> 104</a> </span> : *
1611 <span class=
"lineNum" id=
"container105"><a name=
"105"></a><a href=
"#105" id=
"line105"> 105</a> </span> : * @type MongoConnection
1612 <span class=
"lineNum" id=
"container106"><a name=
"106"></a><a href=
"#106" id=
"line106"> 106</a> </span> : */
1613 <span class=
"lineNum" id=
"container107"><a name=
"107"></a><a href=
"#107" id=
"line107"> 107</a> </span> : private static $_conn;
1614 <span class=
"lineNum" id=
"container108"><a name=
"108"></a><a href=
"#108" id=
"line108"> 108</a> </span> : /**
1615 <span class=
"lineNum" id=
"container109"><a name=
"109"></a><a href=
"#109" id=
"line109"> 109</a> </span> : * Database name
1616 <span class=
"lineNum" id=
"container110"><a name=
"110"></a><a href=
"#110" id=
"line110"> 110</a> </span> : *
1617 <span class=
"lineNum" id=
"container111"><a name=
"111"></a><a href=
"#111" id=
"line111"> 111</a> </span> : * @type string
1618 <span class=
"lineNum" id=
"container112"><a name=
"112"></a><a href=
"#112" id=
"line112"> 112</a> </span> : */
1619 <span class=
"lineNum" id=
"container113"><a name=
"113"></a><a href=
"#113" id=
"line113"> 113</a> </span> : private static $_db;
1620 <span class=
"lineNum" id=
"container114"><a name=
"114"></a><a href=
"#114" id=
"line114"> 114</a> </span> : /**
1621 <span class=
"lineNum" id=
"container115"><a name=
"115"></a><a href=
"#115" id=
"line115"> 115</a> </span> : * List of events handlers
1622 <span class=
"lineNum" id=
"container116"><a name=
"116"></a><a href=
"#116" id=
"line116"> 116</a> </span> : *
1623 <span class=
"lineNum" id=
"container117"><a name=
"117"></a><a href=
"#117" id=
"line117"> 117</a> </span> : * @type array
1624 <span class=
"lineNum" id=
"container118"><a name=
"118"></a><a href=
"#118" id=
"line118"> 118</a> </span> : */
1625 <span class=
"lineNum" id=
"container119"><a name=
"119"></a><a href=
"#119" id=
"line119"> 119</a> </span> : static private $_events = array();
1626 <span class=
"lineNum" id=
"container120"><a name=
"120"></a><a href=
"#120" id=
"line120"> 120</a> </span> : /**
1627 <span class=
"lineNum" id=
"container121"><a name=
"121"></a><a href=
"#121" id=
"line121"> 121</a> </span> : * List of global events handlers
1628 <span class=
"lineNum" id=
"container122"><a name=
"122"></a><a href=
"#122" id=
"line122"> 122</a> </span> : *
1629 <span class=
"lineNum" id=
"container123"><a name=
"123"></a><a href=
"#123" id=
"line123"> 123</a> </span> : * @type array
1630 <span class=
"lineNum" id=
"container124"><a name=
"124"></a><a href=
"#124" id=
"line124"> 124</a> </span> : */
1631 <span class=
"lineNum" id=
"container125"><a name=
"125"></a><a href=
"#125" id=
"line125"> 125</a> </span> : static private $_super_events = array();
1632 <span class=
"lineNum" id=
"container126"><a name=
"126"></a><a href=
"#126" id=
"line126"> 126</a> </span> : /**
1633 <span class=
"lineNum" id=
"container127"><a name=
"127"></a><a href=
"#127" id=
"line127"> 127</a> </span> : * Host name
1634 <span class=
"lineNum" id=
"container128"><a name=
"128"></a><a href=
"#128" id=
"line128"> 128</a> </span> : *
1635 <span class=
"lineNum" id=
"container129"><a name=
"129"></a><a href=
"#129" id=
"line129"> 129</a> </span> : * @type string
1636 <span class=
"lineNum" id=
"container130"><a name=
"130"></a><a href=
"#130" id=
"line130"> 130</a> </span> : */
1637 <span class=
"lineNum" id=
"container131"><a name=
"131"></a><a href=
"#131" id=
"line131"> 131</a> </span> : private static $_host;
1638 <span class=
"lineNum" id=
"container132"><a name=
"132"></a><a href=
"#132" id=
"line132"> 132</a> </span> : /**
1639 <span class=
"lineNum" id=
"container133"><a name=
"133"></a><a href=
"#133" id=
"line133"> 133</a> </span> : * User (Auth)
1640 <span class=
"lineNum" id=
"container134"><a name=
"134"></a><a href=
"#134" id=
"line134"> 134</a> </span> : *
1641 <span class=
"lineNum" id=
"container135"><a name=
"135"></a><a href=
"#135" id=
"line135"> 135</a> </span> : * @type string
1642 <span class=
"lineNum" id=
"container136"><a name=
"136"></a><a href=
"#136" id=
"line136"> 136</a> </span> : */
1643 <span class=
"lineNum" id=
"container137"><a name=
"137"></a><a href=
"#137" id=
"line137"> 137</a> </span> : private static $_user;
1644 <span class=
"lineNum" id=
"container138"><a name=
"138"></a><a href=
"#138" id=
"line138"> 138</a> </span> :
1645 <span class=
"lineNum" id=
"container139"><a name=
"139"></a><a href=
"#139" id=
"line139"> 139</a> </span> : /**
1646 <span class=
"lineNum" id=
"container140"><a name=
"140"></a><a href=
"#140" id=
"line140"> 140</a> </span> : * Password (Auth)
1647 <span class=
"lineNum" id=
"container141"><a name=
"141"></a><a href=
"#141" id=
"line141"> 141</a> </span> : *
1648 <span class=
"lineNum" id=
"container142"><a name=
"142"></a><a href=
"#142" id=
"line142"> 142</a> </span> : * @type string
1649 <span class=
"lineNum" id=
"container143"><a name=
"143"></a><a href=
"#143" id=
"line143"> 143</a> </span> : */
1650 <span class=
"lineNum" id=
"container144"><a name=
"144"></a><a href=
"#144" id=
"line144"> 144</a> </span> : private static $_pwd;
1651 <span class=
"lineNum" id=
"container145"><a name=
"145"></a><a href=
"#145" id=
"line145"> 145</a> </span> :
1652 <span class=
"lineNum" id=
"container146"><a name=
"146"></a><a href=
"#146" id=
"line146"> 146</a> </span> : /**
1653 <span class=
"lineNum" id=
"container147"><a name=
"147"></a><a href=
"#147" id=
"line147"> 147</a> </span> : * Current document
1654 <span class=
"lineNum" id=
"container148"><a name=
"148"></a><a href=
"#148" id=
"line148"> 148</a> </span> : *
1655 <span class=
"lineNum" id=
"container149"><a name=
"149"></a><a href=
"#149" id=
"line149"> 149</a> </span> : * @type array
1656 <span class=
"lineNum" id=
"container150"><a name=
"150"></a><a href=
"#150" id=
"line150"> 150</a> </span> : */
1657 <span class=
"lineNum" id=
"container151"><a name=
"151"></a><a href=
"#151" id=
"line151"> 151</a> </span> : private $_current = array();
1658 <span class=
"lineNum" id=
"container152"><a name=
"152"></a><a href=
"#152" id=
"line152"> 152</a> </span> : /**
1659 <span class=
"lineNum" id=
"container153"><a name=
"153"></a><a href=
"#153" id=
"line153"> 153</a> </span> : * Result cursor
1660 <span class=
"lineNum" id=
"container154"><a name=
"154"></a><a href=
"#154" id=
"line154"> 154</a> </span> : *
1661 <span class=
"lineNum" id=
"container155"><a name=
"155"></a><a href=
"#155" id=
"line155"> 155</a> </span> : * @type MongoCursor
1662 <span class=
"lineNum" id=
"container156"><a name=
"156"></a><a href=
"#156" id=
"line156"> 156</a> </span> : */
1663 <span class=
"lineNum" id=
"container157"><a name=
"157"></a><a href=
"#157" id=
"line157"> 157</a> </span> : private $_cursor = NULL;
1664 <span class=
"lineNum" id=
"container158"><a name=
"158"></a><a href=
"#158" id=
"line158"> 158</a> </span> : /**
1665 <span class=
"lineNum" id=
"container159"><a name=
"159"></a><a href=
"#159" id=
"line159"> 159</a> </span> : * Extended result cursor, used for FindAndModify now
1666 <span class=
"lineNum" id=
"container160"><a name=
"160"></a><a href=
"#160" id=
"line160"> 160</a> </span> : *
1667 <span class=
"lineNum" id=
"container161"><a name=
"161"></a><a href=
"#161" id=
"line161"> 161</a> </span> : * @type int
1668 <span class=
"lineNum" id=
"container162"><a name=
"162"></a><a href=
"#162" id=
"line162"> 162</a> </span> : */
1669 <span class=
"lineNum" id=
"container163"><a name=
"163"></a><a href=
"#163" id=
"line163"> 163</a> </span> : private $_cursor_ex = NULL;
1670 <span class=
"lineNum" id=
"container164"><a name=
"164"></a><a href=
"#164" id=
"line164"> 164</a> </span> : private $_cursor_ex_value;
1671 <span class=
"lineNum" id=
"container165"><a name=
"165"></a><a href=
"#165" id=
"line165"> 165</a> </span> : /**
1672 <span class=
"lineNum" id=
"container166"><a name=
"166"></a><a href=
"#166" id=
"line166"> 166</a> </span> : * Count the findandmodify result counts
1673 <span class=
"lineNum" id=
"container167"><a name=
"167"></a><a href=
"#167" id=
"line167"> 167</a> </span> : *
1674 <span class=
"lineNum" id=
"container168"><a name=
"168"></a><a href=
"#168" id=
"line168"> 168</a> </span> : * @tyep array
1675 <span class=
"lineNum" id=
"container169"><a name=
"169"></a><a href=
"#169" id=
"line169"> 169</a> </span> : */
1676 <span class=
"lineNum" id=
"container170"><a name=
"170"></a><a href=
"#170" id=
"line170"> 170</a> </span> : private $_findandmodify_cnt =
0;
1677 <span class=
"lineNum" id=
"container171"><a name=
"171"></a><a href=
"#171" id=
"line171"> 171</a> </span> : /* value to modify */
1678 <span class=
"lineNum" id=
"container172"><a name=
"172"></a><a href=
"#172" id=
"line172"> 172</a> </span> : private $_findandmodify;
1679 <span class=
"lineNum" id=
"container173"><a name=
"173"></a><a href=
"#173" id=
"line173"> 173</a> </span> :
1680 <span class=
"lineNum" id=
"container174"><a name=
"174"></a><a href=
"#174" id=
"line174"> 174</a> </span> : /* {{{ Silly but useful query abstraction */
1681 <span class=
"lineNum" id=
"container175"><a name=
"175"></a><a href=
"#175" id=
"line175"> 175</a> </span> : private $_cached = FALSE;
1682 <span class=
"lineNum" id=
"container176"><a name=
"176"></a><a href=
"#176" id=
"line176"> 176</a> </span> : private $_query = NULL;
1683 <span class=
"lineNum" id=
"container177"><a name=
"177"></a><a href=
"#177" id=
"line177"> 177</a> </span> : private $_sort = NULL;
1684 <span class=
"lineNum" id=
"container178"><a name=
"178"></a><a href=
"#178" id=
"line178"> 178</a> </span> : private $_limit =
0;
1685 <span class=
"lineNum" id=
"container179"><a name=
"179"></a><a href=
"#179" id=
"line179"> 179</a> </span> : private $_skip =
0;
1686 <span class=
"lineNum" id=
"container180"><a name=
"180"></a><a href=
"#180" id=
"line180"> 180</a> </span> : private $_properties = NULL;
1687 <span class=
"lineNum" id=
"container181"><a name=
"181"></a><a href=
"#181" id=
"line181"> 181</a> </span> : /* }}} */
1688 <span class=
"lineNum" id=
"container182"><a name=
"182"></a><a href=
"#182" id=
"line182"> 182</a> </span> :
1689 <span class=
"lineNum" id=
"container183"><a name=
"183"></a><a href=
"#183" id=
"line183"> 183</a> </span> : /**
1690 <span class=
"lineNum" id=
"container184"><a name=
"184"></a><a href=
"#184" id=
"line184"> 184</a> </span> : * Current document ID
1691 <span class=
"lineNum" id=
"container185"><a name=
"185"></a><a href=
"#185" id=
"line185"> 185</a> </span> : *
1692 <span class=
"lineNum" id=
"container186"><a name=
"186"></a><a href=
"#186" id=
"line186"> 186</a> </span> : * @type MongoID
1693 <span class=
"lineNum" id=
"container187"><a name=
"187"></a><a href=
"#187" id=
"line187"> 187</a> </span> : */
1694 <span class=
"lineNum" id=
"container188"><a name=
"188"></a><a href=
"#188" id=
"line188"> 188</a> </span> : private $_id;
1695 <span class=
"lineNum" id=
"container189"><a name=
"189"></a><a href=
"#189" id=
"line189"> 189</a> </span> :
1696 <span class=
"lineNum" id=
"container190"><a name=
"190"></a><a href=
"#190" id=
"line190"> 190</a> </span> : /**
1697 <span class=
"lineNum" id=
"container191"><a name=
"191"></a><a href=
"#191" id=
"line191"> 191</a> </span> : * Tell if the current object
1698 <span class=
"lineNum" id=
"container192"><a name=
"192"></a><a href=
"#192" id=
"line192"> 192</a> </span> : * is cloned or not.
1699 <span class=
"lineNum" id=
"container193"><a name=
"193"></a><a href=
"#193" id=
"line193"> 193</a> </span> : *
1700 <span class=
"lineNum" id=
"container194"><a name=
"194"></a><a href=
"#194" id=
"line194"> 194</a> </span> : * @type bool
1701 <span class=
"lineNum" id=
"container195"><a name=
"195"></a><a href=
"#195" id=
"line195"> 195</a> </span> : */
1702 <span class=
"lineNum" id=
"container196"><a name=
"196"></a><a href=
"#196" id=
"line196"> 196</a> </span> : private $_cloned = FALSE;
1703 <span class=
"lineNum" id=
"container197"><a name=
"197"></a><a href=
"#197" id=
"line197"> 197</a> </span> : // }}}
1704 <span class=
"lineNum" id=
"container198"><a name=
"198"></a><a href=
"#198" id=
"line198"> 198</a> </span> :
1705 <span class=
"lineNum" id=
"container199"><a name=
"199"></a><a href=
"#199" id=
"line199"> 199</a> </span> : // GET CONNECTION CONFIG {{{
1706 <span class=
"lineNum" id=
"container200"><a name=
"200"></a><a href=
"#200" id=
"line200"> 200</a> </span> :
1707 <span class=
"lineNum" id=
"container201"><a name=
"201"></a><a href=
"#201" id=
"line201"> 201</a> </span> : final static function setNameSpace($namespace)
1708 <span class=
"lineNum" id=
"container202"><a name=
"202"></a><a href=
"#202" id=
"line202"> 202</a> </span> : {
1709 <span class=
"lineNum" id=
"container203"><a name=
"203"></a><a href=
"#203" id=
"line203"> 203</a> </span><span class=
"lineCov"> 1 : self::$_namespace = $namespace;
</span>
1710 <span class=
"lineNum" id=
"container204"><a name=
"204"></a><a href=
"#204" id=
"line204"> 204</a> </span><span class=
"lineCov"> 1 : }
</span>
1711 <span class=
"lineNum" id=
"container205"><a name=
"205"></a><a href=
"#205" id=
"line205"> 205</a> </span> :
1712 <span class=
"lineNum" id=
"container206"><a name=
"206"></a><a href=
"#206" id=
"line206"> 206</a> </span> : final public function collectionName()
1713 <span class=
"lineNum" id=
"container207"><a name=
"207"></a><a href=
"#207" id=
"line207"> 207</a> </span> : {
1714 <span class=
"lineNum" id=
"container208"><a name=
"208"></a><a href=
"#208" id=
"line208"> 208</a> </span><span class=
"lineCov"> 42 : $collection = '';
</span>
1715 <span class=
"lineNum" id=
"container209"><a name=
"209"></a><a href=
"#209" id=
"line209"> 209</a> </span><span class=
"lineCov"> 42 : if (self::$_namespace) {
</span>
1716 <span class=
"lineNum" id=
"container210"><a name=
"210"></a><a href=
"#210" id=
"line210"> 210</a> </span><span class=
"lineCov"> 1 : $collection = self::$_namespace.
".
";
</span>
1717 <span class=
"lineNum" id=
"container211"><a name=
"211"></a><a href=
"#211" id=
"line211"> 211</a> </span><span class=
"lineCov"> 1 : }
</span>
1718 <span class=
"lineNum" id=
"container212"><a name=
"212"></a><a href=
"#212" id=
"line212"> 212</a> </span><span class=
"lineCov"> 42 : if (isset($this)) {
</span>
1719 <span class=
"lineNum" id=
"container213"><a name=
"213"></a><a href=
"#213" id=
"line213"> 213</a> </span><span class=
"lineCov"> 41 : $collection .= $this-
>getCollectionName();
</span>
1720 <span class=
"lineNum" id=
"container214"><a name=
"214"></a><a href=
"#214" id=
"line214"> 214</a> </span><span class=
"lineCov"> 41 : } else {
</span>
1721 <span class=
"lineNum" id=
"container215"><a name=
"215"></a><a href=
"#215" id=
"line215"> 215</a> </span><span class=
"lineCov"> 4 : $collection .= self::getCollectionName();
</span>
1722 <span class=
"lineNum" id=
"container216"><a name=
"216"></a><a href=
"#216" id=
"line216"> 216</a> </span> : }
1723 <span class=
"lineNum" id=
"container217"><a name=
"217"></a><a href=
"#217" id=
"line217"> 217</a> </span><span class=
"lineCov"> 42 : return $collection;
</span>
1724 <span class=
"lineNum" id=
"container218"><a name=
"218"></a><a href=
"#218" id=
"line218"> 218</a> </span><span class=
"lineDeadCode"> : }
</span>
1725 <span class=
"lineNum" id=
"container219"><a name=
"219"></a><a href=
"#219" id=
"line219"> 219</a> </span> :
1726 <span class=
"lineNum" id=
"container220"><a name=
"220"></a><a href=
"#220" id=
"line220"> 220</a> </span> : // string getCollectionName() {{{
1727 <span class=
"lineNum" id=
"container221"><a name=
"221"></a><a href=
"#221" id=
"line221"> 221</a> </span> : /**
1728 <span class=
"lineNum" id=
"container222"><a name=
"222"></a><a href=
"#222" id=
"line222"> 222</a> </span> : * Get Collection Name, by default the class name,
1729 <span class=
"lineNum" id=
"container223"><a name=
"223"></a><a href=
"#223" id=
"line223"> 223</a> </span> : * but you it can be override at the class itself to give
1730 <span class=
"lineNum" id=
"container224"><a name=
"224"></a><a href=
"#224" id=
"line224"> 224</a> </span> : * a custom name.
1731 <span class=
"lineNum" id=
"container225"><a name=
"225"></a><a href=
"#225" id=
"line225"> 225</a> </span> : *
1732 <span class=
"lineNum" id=
"container226"><a name=
"226"></a><a href=
"#226" id=
"line226"> 226</a> </span> : * @return string Collection Name
1733 <span class=
"lineNum" id=
"container227"><a name=
"227"></a><a href=
"#227" id=
"line227"> 227</a> </span> : */
1734 <span class=
"lineNum" id=
"container228"><a name=
"228"></a><a href=
"#228" id=
"line228"> 228</a> </span> : protected function getCollectionName()
1735 <span class=
"lineNum" id=
"container229"><a name=
"229"></a><a href=
"#229" id=
"line229"> 229</a> </span> : {
1736 <span class=
"lineNum" id=
"container230"><a name=
"230"></a><a href=
"#230" id=
"line230"> 230</a> </span><span class=
"lineCov"> 42 : if (isset($this)) {
</span>
1737 <span class=
"lineNum" id=
"container231"><a name=
"231"></a><a href=
"#231" id=
"line231"> 231</a> </span><span class=
"lineCov"> 41 : return strtolower(get_class($this));
</span>
1738 <span class=
"lineNum" id=
"container232"><a name=
"232"></a><a href=
"#232" id=
"line232"> 232</a> </span><span class=
"lineDeadCode"> : } else {
</span>
1739 <span class=
"lineNum" id=
"container233"><a name=
"233"></a><a href=
"#233" id=
"line233"> 233</a> </span><span class=
"lineCov"> 4 : return strtolower(get_called_class());
</span>
1740 <span class=
"lineNum" id=
"container234"><a name=
"234"></a><a href=
"#234" id=
"line234"> 234</a> </span> : }
1741 <span class=
"lineNum" id=
"container235"><a name=
"235"></a><a href=
"#235" id=
"line235"> 235</a> </span><span class=
"lineDeadCode"> : }
</span>
1742 <span class=
"lineNum" id=
"container236"><a name=
"236"></a><a href=
"#236" id=
"line236"> 236</a> </span> : // }}}
1743 <span class=
"lineNum" id=
"container237"><a name=
"237"></a><a href=
"#237" id=
"line237"> 237</a> </span> :
1744 <span class=
"lineNum" id=
"container238"><a name=
"238"></a><a href=
"#238" id=
"line238"> 238</a> </span> : // string getDatabaseName() {{{
1745 <span class=
"lineNum" id=
"container239"><a name=
"239"></a><a href=
"#239" id=
"line239"> 239</a> </span> : /**
1746 <span class=
"lineNum" id=
"container240"><a name=
"240"></a><a href=
"#240" id=
"line240"> 240</a> </span> : * Get Database Name, by default it is used
1747 <span class=
"lineNum" id=
"container241"><a name=
"241"></a><a href=
"#241" id=
"line241"> 241</a> </span> : * the db name set by ActiveMong::connect()
1748 <span class=
"lineNum" id=
"container242"><a name=
"242"></a><a href=
"#242" id=
"line242"> 242</a> </span> : *
1749 <span class=
"lineNum" id=
"container243"><a name=
"243"></a><a href=
"#243" id=
"line243"> 243</a> </span> : * @return string DB Name
1750 <span class=
"lineNum" id=
"container244"><a name=
"244"></a><a href=
"#244" id=
"line244"> 244</a> </span> : */
1751 <span class=
"lineNum" id=
"container245"><a name=
"245"></a><a href=
"#245" id=
"line245"> 245</a> </span> : protected function getDatabaseName()
1752 <span class=
"lineNum" id=
"container246"><a name=
"246"></a><a href=
"#246" id=
"line246"> 246</a> </span> : {
1753 <span class=
"lineNum" id=
"container247"><a name=
"247"></a><a href=
"#247" id=
"line247"> 247</a> </span><span class=
"lineCov"> 10 : if (is_NULL(self::$_db)) {
</span>
1754 <span class=
"lineNum" id=
"container248"><a name=
"248"></a><a href=
"#248" id=
"line248"> 248</a> </span><span class=
"lineNoCov"> 0 : throw new ActiveMongo_Exception(
"There is no information about the default DB name
");
</span>
1755 <span class=
"lineNum" id=
"container249"><a name=
"249"></a><a href=
"#249" id=
"line249"> 249</a> </span><span class=
"lineDeadCode"> : }
</span>
1756 <span class=
"lineNum" id=
"container250"><a name=
"250"></a><a href=
"#250" id=
"line250"> 250</a> </span><span class=
"lineCov"> 10 : return self::$_db;
</span>
1757 <span class=
"lineNum" id=
"container251"><a name=
"251"></a><a href=
"#251" id=
"line251"> 251</a> </span><span class=
"lineDeadCode"> : }
</span>
1758 <span class=
"lineNum" id=
"container252"><a name=
"252"></a><a href=
"#252" id=
"line252"> 252</a> </span> : // }}}
1759 <span class=
"lineNum" id=
"container253"><a name=
"253"></a><a href=
"#253" id=
"line253"> 253</a> </span> :
1760 <span class=
"lineNum" id=
"container254"><a name=
"254"></a><a href=
"#254" id=
"line254"> 254</a> </span> : // void install() {{{
1761 <span class=
"lineNum" id=
"container255"><a name=
"255"></a><a href=
"#255" id=
"line255"> 255</a> </span> : /**
1762 <span class=
"lineNum" id=
"container256"><a name=
"256"></a><a href=
"#256" id=
"line256"> 256</a> </span> : * Install.
1763 <span class=
"lineNum" id=
"container257"><a name=
"257"></a><a href=
"#257" id=
"line257"> 257</a> </span> : *
1764 <span class=
"lineNum" id=
"container258"><a name=
"258"></a><a href=
"#258" id=
"line258"> 258</a> </span> : * This static method iterate over the classes lists,
1765 <span class=
"lineNum" id=
"container259"><a name=
"259"></a><a href=
"#259" id=
"line259"> 259</a> </span> : * and execute the setup() method on every ActiveMongo
1766 <span class=
"lineNum" id=
"container260"><a name=
"260"></a><a href=
"#260" id=
"line260"> 260</a> </span> : * subclass. You should do this just once.
1767 <span class=
"lineNum" id=
"container261"><a name=
"261"></a><a href=
"#261" id=
"line261"> 261</a> </span> : *
1768 <span class=
"lineNum" id=
"container262"><a name=
"262"></a><a href=
"#262" id=
"line262"> 262</a> </span> : */
1769 <span class=
"lineNum" id=
"container263"><a name=
"263"></a><a href=
"#263" id=
"line263"> 263</a> </span> : final public static function install()
1770 <span class=
"lineNum" id=
"container264"><a name=
"264"></a><a href=
"#264" id=
"line264"> 264</a> </span> : {
1771 <span class=
"lineNum" id=
"container265"><a name=
"265"></a><a href=
"#265" id=
"line265"> 265</a> </span><span class=
"lineCov"> 1 : $classes = array_reverse(get_declared_classes());
</span>
1772 <span class=
"lineNum" id=
"container266"><a name=
"266"></a><a href=
"#266" id=
"line266"> 266</a> </span><span class=
"lineCov"> 1 : foreach ($classes as $class)
</span>
1773 <span class=
"lineNum" id=
"container267"><a name=
"267"></a><a href=
"#267" id=
"line267"> 267</a> </span> : {
1774 <span class=
"lineNum" id=
"container268"><a name=
"268"></a><a href=
"#268" id=
"line268"> 268</a> </span><span class=
"lineCov"> 1 : if ($class == __CLASS__) {
</span>
1775 <span class=
"lineNum" id=
"container269"><a name=
"269"></a><a href=
"#269" id=
"line269"> 269</a> </span><span class=
"lineCov"> 1 : break;
</span>
1776 <span class=
"lineNum" id=
"container270"><a name=
"270"></a><a href=
"#270" id=
"line270"> 270</a> </span><span class=
"lineDeadCode"> : }
</span>
1777 <span class=
"lineNum" id=
"container271"><a name=
"271"></a><a href=
"#271" id=
"line271"> 271</a> </span><span class=
"lineCov"> 1 : if (is_subclass_of($class, __CLASS__)) {
</span>
1778 <span class=
"lineNum" id=
"container272"><a name=
"272"></a><a href=
"#272" id=
"line272"> 272</a> </span><span class=
"lineCov"> 1 : $obj = new $class;
</span>
1779 <span class=
"lineNum" id=
"container273"><a name=
"273"></a><a href=
"#273" id=
"line273"> 273</a> </span><span class=
"lineCov"> 1 : $obj-
>setup();
</span>
1780 <span class=
"lineNum" id=
"container274"><a name=
"274"></a><a href=
"#274" id=
"line274"> 274</a> </span><span class=
"lineCov"> 1 : }
</span>
1781 <span class=
"lineNum" id=
"container275"><a name=
"275"></a><a href=
"#275" id=
"line275"> 275</a> </span><span class=
"lineCov"> 1 : }
</span>
1782 <span class=
"lineNum" id=
"container276"><a name=
"276"></a><a href=
"#276" id=
"line276"> 276</a> </span><span class=
"lineCov"> 1 : }
</span>
1783 <span class=
"lineNum" id=
"container277"><a name=
"277"></a><a href=
"#277" id=
"line277"> 277</a> </span> : // }}}
1784 <span class=
"lineNum" id=
"container278"><a name=
"278"></a><a href=
"#278" id=
"line278"> 278</a> </span> :
1785 <span class=
"lineNum" id=
"container279"><a name=
"279"></a><a href=
"#279" id=
"line279"> 279</a> </span> : // void connection($db, $host) {{{
1786 <span class=
"lineNum" id=
"container280"><a name=
"280"></a><a href=
"#280" id=
"line280"> 280</a> </span> : /**
1787 <span class=
"lineNum" id=
"container281"><a name=
"281"></a><a href=
"#281" id=
"line281"> 281</a> </span> : * Connect
1788 <span class=
"lineNum" id=
"container282"><a name=
"282"></a><a href=
"#282" id=
"line282"> 282</a> </span> : *
1789 <span class=
"lineNum" id=
"container283"><a name=
"283"></a><a href=
"#283" id=
"line283"> 283</a> </span> : * This method setup parameters to connect to a MongoDB
1790 <span class=
"lineNum" id=
"container284"><a name=
"284"></a><a href=
"#284" id=
"line284"> 284</a> </span> : * database. The connection is done when it is needed.
1791 <span class=
"lineNum" id=
"container285"><a name=
"285"></a><a href=
"#285" id=
"line285"> 285</a> </span> : *
1792 <span class=
"lineNum" id=
"container286"><a name=
"286"></a><a href=
"#286" id=
"line286"> 286</a> </span> : * @param string $db Database name
1793 <span class=
"lineNum" id=
"container287"><a name=
"287"></a><a href=
"#287" id=
"line287"> 287</a> </span> : * @param string $host Host to connect
1794 <span class=
"lineNum" id=
"container288"><a name=
"288"></a><a href=
"#288" id=
"line288"> 288</a> </span> : * @param string $user User (Auth)
1795 <span class=
"lineNum" id=
"container289"><a name=
"289"></a><a href=
"#289" id=
"line289"> 289</a> </span> : * @param string $pwd Password (Auth)
1796 <span class=
"lineNum" id=
"container290"><a name=
"290"></a><a href=
"#290" id=
"line290"> 290</a> </span> : *
1797 <span class=
"lineNum" id=
"container291"><a name=
"291"></a><a href=
"#291" id=
"line291"> 291</a> </span> : * @return void
1798 <span class=
"lineNum" id=
"container292"><a name=
"292"></a><a href=
"#292" id=
"line292"> 292</a> </span> : */
1799 <span class=
"lineNum" id=
"container293"><a name=
"293"></a><a href=
"#293" id=
"line293"> 293</a> </span> : final public static function connect($db, $host='localhost', $user = NULL, $pwd=NULL)
1800 <span class=
"lineNum" id=
"container294"><a name=
"294"></a><a href=
"#294" id=
"line294"> 294</a> </span> : {
1801 <span class=
"lineNum" id=
"container295"><a name=
"295"></a><a href=
"#295" id=
"line295"> 295</a> </span><span class=
"lineCov"> 1 : self::$_host = $host;
</span>
1802 <span class=
"lineNum" id=
"container296"><a name=
"296"></a><a href=
"#296" id=
"line296"> 296</a> </span><span class=
"lineCov"> 1 : self::$_db = $db;
</span>
1803 <span class=
"lineNum" id=
"container297"><a name=
"297"></a><a href=
"#297" id=
"line297"> 297</a> </span><span class=
"lineCov"> 1 : self::$_user = $user;
</span>
1804 <span class=
"lineNum" id=
"container298"><a name=
"298"></a><a href=
"#298" id=
"line298"> 298</a> </span><span class=
"lineCov"> 1 : self::$_pwd = $pwd;
</span>
1805 <span class=
"lineNum" id=
"container299"><a name=
"299"></a><a href=
"#299" id=
"line299"> 299</a> </span><span class=
"lineCov"> 1 : }
</span>
1806 <span class=
"lineNum" id=
"container300"><a name=
"300"></a><a href=
"#300" id=
"line300"> 300</a> </span> : // }}}
1807 <span class=
"lineNum" id=
"container301"><a name=
"301"></a><a href=
"#301" id=
"line301"> 301</a> </span> :
1808 <span class=
"lineNum" id=
"container302"><a name=
"302"></a><a href=
"#302" id=
"line302"> 302</a> </span> : // MongoConnection _getConnection() {{{
1809 <span class=
"lineNum" id=
"container303"><a name=
"303"></a><a href=
"#303" id=
"line303"> 303</a> </span> : /**
1810 <span class=
"lineNum" id=
"container304"><a name=
"304"></a><a href=
"#304" id=
"line304"> 304</a> </span> : * Get Connection
1811 <span class=
"lineNum" id=
"container305"><a name=
"305"></a><a href=
"#305" id=
"line305"> 305</a> </span> : *
1812 <span class=
"lineNum" id=
"container306"><a name=
"306"></a><a href=
"#306" id=
"line306"> 306</a> </span> : * Get a valid database connection
1813 <span class=
"lineNum" id=
"container307"><a name=
"307"></a><a href=
"#307" id=
"line307"> 307</a> </span> : *
1814 <span class=
"lineNum" id=
"container308"><a name=
"308"></a><a href=
"#308" id=
"line308"> 308</a> </span> : * @return MongoConnection
1815 <span class=
"lineNum" id=
"container309"><a name=
"309"></a><a href=
"#309" id=
"line309"> 309</a> </span> : */
1816 <span class=
"lineNum" id=
"container310"><a name=
"310"></a><a href=
"#310" id=
"line310"> 310</a> </span> : final protected function _getConnection()
1817 <span class=
"lineNum" id=
"container311"><a name=
"311"></a><a href=
"#311" id=
"line311"> 311</a> </span> : {
1818 <span class=
"lineNum" id=
"container312"><a name=
"312"></a><a href=
"#312" id=
"line312"> 312</a> </span><span class=
"lineCov"> 6 : if (is_NULL(self::$_conn)) {
</span>
1819 <span class=
"lineNum" id=
"container313"><a name=
"313"></a><a href=
"#313" id=
"line313"> 313</a> </span><span class=
"lineNoCov"> 0 : if (is_NULL(self::$_host)) {
</span>
1820 <span class=
"lineNum" id=
"container314"><a name=
"314"></a><a href=
"#314" id=
"line314"> 314</a> </span><span class=
"lineNoCov"> 0 : self::$_host = 'localhost';
</span>
1821 <span class=
"lineNum" id=
"container315"><a name=
"315"></a><a href=
"#315" id=
"line315"> 315</a> </span><span class=
"lineNoCov"> 0 : }
</span>
1822 <span class=
"lineNum" id=
"container316"><a name=
"316"></a><a href=
"#316" id=
"line316"> 316</a> </span><span class=
"lineNoCov"> 0 : self::$_conn = new Mongo(self::$_host);
</span>
1823 <span class=
"lineNum" id=
"container317"><a name=
"317"></a><a href=
"#317" id=
"line317"> 317</a> </span><span class=
"lineNoCov"> 0 : }
</span>
1824 <span class=
"lineNum" id=
"container318"><a name=
"318"></a><a href=
"#318" id=
"line318"> 318</a> </span><span class=
"lineCov"> 6 : if (isset($this)) {
</span>
1825 <span class=
"lineNum" id=
"container319"><a name=
"319"></a><a href=
"#319" id=
"line319"> 319</a> </span><span class=
"lineCov"> 6 : $dbname = $this-
>getDatabaseName();
</span>
1826 <span class=
"lineNum" id=
"container320"><a name=
"320"></a><a href=
"#320" id=
"line320"> 320</a> </span><span class=
"lineCov"> 6 : } else {
</span>
1827 <span class=
"lineNum" id=
"container321"><a name=
"321"></a><a href=
"#321" id=
"line321"> 321</a> </span><span class=
"lineNoCov"> 0 : $dbname = self::getDatabaseName();
</span>
1828 <span class=
"lineNum" id=
"container322"><a name=
"322"></a><a href=
"#322" id=
"line322"> 322</a> </span> : }
1829 <span class=
"lineNum" id=
"container323"><a name=
"323"></a><a href=
"#323" id=
"line323"> 323</a> </span><span class=
"lineCov"> 6 : if (!isSet(self::$_dbs[$dbname])) {
</span>
1830 <span class=
"lineNum" id=
"container324"><a name=
"324"></a><a href=
"#324" id=
"line324"> 324</a> </span><span class=
"lineCov"> 1 : self::$_dbs[$dbname] = self::$_conn-
>selectDB($dbname);
</span>
1831 <span class=
"lineNum" id=
"container325"><a name=
"325"></a><a href=
"#325" id=
"line325"> 325</a> </span><span class=
"lineCov"> 1 : }
</span>
1832 <span class=
"lineNum" id=
"container326"><a name=
"326"></a><a href=
"#326" id=
"line326"> 326</a> </span><span class=
"lineCov"> 6 : if ( !is_NULL(self::$_user )
&& !is_NULL(self::$_pwd ) ) {
</span>
1833 <span class=
"lineNum" id=
"container327"><a name=
"327"></a><a href=
"#327" id=
"line327"> 327</a> </span><span class=
"lineNoCov"> 0 : self::$_dbs[$dbname]-
>authenticate(self::$_user,self::$_pwd);
</span>
1834 <span class=
"lineNum" id=
"container328"><a name=
"328"></a><a href=
"#328" id=
"line328"> 328</a> </span><span class=
"lineNoCov"> 0 : }
</span>
1835 <span class=
"lineNum" id=
"container329"><a name=
"329"></a><a href=
"#329" id=
"line329"> 329</a> </span> :
1836 <span class=
"lineNum" id=
"container330"><a name=
"330"></a><a href=
"#330" id=
"line330"> 330</a> </span> :
1837 <span class=
"lineNum" id=
"container331"><a name=
"331"></a><a href=
"#331" id=
"line331"> 331</a> </span><span class=
"lineCov"> 6 : return self::$_dbs[$dbname];
</span>
1838 <span class=
"lineNum" id=
"container332"><a name=
"332"></a><a href=
"#332" id=
"line332"> 332</a> </span><span class=
"lineDeadCode"> : }
</span>
1839 <span class=
"lineNum" id=
"container333"><a name=
"333"></a><a href=
"#333" id=
"line333"> 333</a> </span> : // }}}
1840 <span class=
"lineNum" id=
"container334"><a name=
"334"></a><a href=
"#334" id=
"line334"> 334</a> </span> :
1841 <span class=
"lineNum" id=
"container335"><a name=
"335"></a><a href=
"#335" id=
"line335"> 335</a> </span> : // MongoCollection _getCollection() {{{
1842 <span class=
"lineNum" id=
"container336"><a name=
"336"></a><a href=
"#336" id=
"line336"> 336</a> </span> : /**
1843 <span class=
"lineNum" id=
"container337"><a name=
"337"></a><a href=
"#337" id=
"line337"> 337</a> </span> : * Get Collection
1844 <span class=
"lineNum" id=
"container338"><a name=
"338"></a><a href=
"#338" id=
"line338"> 338</a> </span> : *
1845 <span class=
"lineNum" id=
"container339"><a name=
"339"></a><a href=
"#339" id=
"line339"> 339</a> </span> : * Get a collection connection.
1846 <span class=
"lineNum" id=
"container340"><a name=
"340"></a><a href=
"#340" id=
"line340"> 340</a> </span> : *
1847 <span class=
"lineNum" id=
"container341"><a name=
"341"></a><a href=
"#341" id=
"line341"> 341</a> </span> : * @return MongoCollection
1848 <span class=
"lineNum" id=
"container342"><a name=
"342"></a><a href=
"#342" id=
"line342"> 342</a> </span> : */
1849 <span class=
"lineNum" id=
"container343"><a name=
"343"></a><a href=
"#343" id=
"line343"> 343</a> </span> : final protected function _getCollection()
1850 <span class=
"lineNum" id=
"container344"><a name=
"344"></a><a href=
"#344" id=
"line344"> 344</a> </span> : {
1851 <span class=
"lineNum" id=
"container345"><a name=
"345"></a><a href=
"#345" id=
"line345"> 345</a> </span><span class=
"lineCov"> 39 : if (isset($this)) {
</span>
1852 <span class=
"lineNum" id=
"container346"><a name=
"346"></a><a href=
"#346" id=
"line346"> 346</a> </span><span class=
"lineCov"> 38 : $colName = $this-
>CollectionName();
</span>
1853 <span class=
"lineNum" id=
"container347"><a name=
"347"></a><a href=
"#347" id=
"line347"> 347</a> </span><span class=
"lineCov"> 38 : } else {
</span>
1854 <span class=
"lineNum" id=
"container348"><a name=
"348"></a><a href=
"#348" id=
"line348"> 348</a> </span><span class=
"lineCov"> 4 : $colName = self::CollectionName();
</span>
1855 <span class=
"lineNum" id=
"container349"><a name=
"349"></a><a href=
"#349" id=
"line349"> 349</a> </span> : }
1856 <span class=
"lineNum" id=
"container350"><a name=
"350"></a><a href=
"#350" id=
"line350"> 350</a> </span><span class=
"lineCov"> 39 : if (!isset(self::$_collections[$colName])) {
</span>
1857 <span class=
"lineNum" id=
"container351"><a name=
"351"></a><a href=
"#351" id=
"line351"> 351</a> </span><span class=
"lineCov"> 3 : self::$_collections[$colName] = self::_getConnection()-
>selectCollection($colName);
</span>
1858 <span class=
"lineNum" id=
"container352"><a name=
"352"></a><a href=
"#352" id=
"line352"> 352</a> </span><span class=
"lineCov"> 3 : }
</span>
1859 <span class=
"lineNum" id=
"container353"><a name=
"353"></a><a href=
"#353" id=
"line353"> 353</a> </span><span class=
"lineCov"> 39 : return self::$_collections[$colName];
</span>
1860 <span class=
"lineNum" id=
"container354"><a name=
"354"></a><a href=
"#354" id=
"line354"> 354</a> </span><span class=
"lineDeadCode"> : }
</span>
1861 <span class=
"lineNum" id=
"container355"><a name=
"355"></a><a href=
"#355" id=
"line355"> 355</a> </span> : // }}}
1862 <span class=
"lineNum" id=
"container356"><a name=
"356"></a><a href=
"#356" id=
"line356"> 356</a> </span> :
1863 <span class=
"lineNum" id=
"container357"><a name=
"357"></a><a href=
"#357" id=
"line357"> 357</a> </span> : // }}}
1864 <span class=
"lineNum" id=
"container358"><a name=
"358"></a><a href=
"#358" id=
"line358"> 358</a> </span> :
1865 <span class=
"lineNum" id=
"container359"><a name=
"359"></a><a href=
"#359" id=
"line359"> 359</a> </span> : // GET DOCUMENT TO SAVE OR UPDATE {{{
1866 <span class=
"lineNum" id=
"container360"><a name=
"360"></a><a href=
"#360" id=
"line360"> 360</a> </span> :
1867 <span class=
"lineNum" id=
"container361"><a name=
"361"></a><a href=
"#361" id=
"line361"> 361</a> </span> : // getDocumentVars() {{{
1868 <span class=
"lineNum" id=
"container362"><a name=
"362"></a><a href=
"#362" id=
"line362"> 362</a> </span> : /**
1869 <span class=
"lineNum" id=
"container363"><a name=
"363"></a><a href=
"#363" id=
"line363"> 363</a> </span> : * getDocumentVars
1870 <span class=
"lineNum" id=
"container364"><a name=
"364"></a><a href=
"#364" id=
"line364"> 364</a> </span> : *
1871 <span class=
"lineNum" id=
"container365"><a name=
"365"></a><a href=
"#365" id=
"line365"> 365</a> </span> : *
1872 <span class=
"lineNum" id=
"container366"><a name=
"366"></a><a href=
"#366" id=
"line366"> 366</a> </span> : *
1873 <span class=
"lineNum" id=
"container367"><a name=
"367"></a><a href=
"#367" id=
"line367"> 367</a> </span> : */
1874 <span class=
"lineNum" id=
"container368"><a name=
"368"></a><a href=
"#368" id=
"line368"> 368</a> </span> : final protected function getDocumentVars()
1875 <span class=
"lineNum" id=
"container369"><a name=
"369"></a><a href=
"#369" id=
"line369"> 369</a> </span> : {
1876 <span class=
"lineNum" id=
"container370"><a name=
"370"></a><a href=
"#370" id=
"line370"> 370</a> </span><span class=
"lineCov"> 20 : $variables = array();
</span>
1877 <span class=
"lineNum" id=
"container371"><a name=
"371"></a><a href=
"#371" id=
"line371"> 371</a> </span><span class=
"lineCov"> 20 : foreach ((array)$this-
>__sleep() as $var) {
</span>
1878 <span class=
"lineNum" id=
"container372"><a name=
"372"></a><a href=
"#372" id=
"line372"> 372</a> </span><span class=
"lineCov"> 20 : if (!property_exists($this, $var)) {
</span>
1879 <span class=
"lineNum" id=
"container373"><a name=
"373"></a><a href=
"#373" id=
"line373"> 373</a> </span><span class=
"lineCov"> 8 : continue;
</span>
1880 <span class=
"lineNum" id=
"container374"><a name=
"374"></a><a href=
"#374" id=
"line374"> 374</a> </span><span class=
"lineDeadCode"> : }
</span>
1881 <span class=
"lineNum" id=
"container375"><a name=
"375"></a><a href=
"#375" id=
"line375"> 375</a> </span><span class=
"lineCov"> 20 : $variables[$var] = $this-
>$var;
</span>
1882 <span class=
"lineNum" id=
"container376"><a name=
"376"></a><a href=
"#376" id=
"line376"> 376</a> </span><span class=
"lineCov"> 20 : }
</span>
1883 <span class=
"lineNum" id=
"container377"><a name=
"377"></a><a href=
"#377" id=
"line377"> 377</a> </span><span class=
"lineCov"> 20 : return $variables;
</span>
1884 <span class=
"lineNum" id=
"container378"><a name=
"378"></a><a href=
"#378" id=
"line378"> 378</a> </span><span class=
"lineDeadCode"> : }
</span>
1885 <span class=
"lineNum" id=
"container379"><a name=
"379"></a><a href=
"#379" id=
"line379"> 379</a> </span> : // }}}
1886 <span class=
"lineNum" id=
"container380"><a name=
"380"></a><a href=
"#380" id=
"line380"> 380</a> </span> :
1887 <span class=
"lineNum" id=
"container381"><a name=
"381"></a><a href=
"#381" id=
"line381"> 381</a> </span> : // bool getCurrentSubDocument(array
&$document, string $parent_key, array $values, array $past_values) {{{
1888 <span class=
"lineNum" id=
"container382"><a name=
"382"></a><a href=
"#382" id=
"line382"> 382</a> </span> : /**
1889 <span class=
"lineNum" id=
"container383"><a name=
"383"></a><a href=
"#383" id=
"line383"> 383</a> </span> : * Generate Sub-document
1890 <span class=
"lineNum" id=
"container384"><a name=
"384"></a><a href=
"#384" id=
"line384"> 384</a> </span> : *
1891 <span class=
"lineNum" id=
"container385"><a name=
"385"></a><a href=
"#385" id=
"line385"> 385</a> </span> : * This method build the difference between the current sub-document,
1892 <span class=
"lineNum" id=
"container386"><a name=
"386"></a><a href=
"#386" id=
"line386"> 386</a> </span> : * and the origin one. If there is no difference, it would do nothing,
1893 <span class=
"lineNum" id=
"container387"><a name=
"387"></a><a href=
"#387" id=
"line387"> 387</a> </span> : * otherwise it would build a document containing the differences.
1894 <span class=
"lineNum" id=
"container388"><a name=
"388"></a><a href=
"#388" id=
"line388"> 388</a> </span> : *
1895 <span class=
"lineNum" id=
"container389"><a name=
"389"></a><a href=
"#389" id=
"line389"> 389</a> </span> : * @param array
&$document Document target
1896 <span class=
"lineNum" id=
"container390"><a name=
"390"></a><a href=
"#390" id=
"line390"> 390</a> </span> : * @param string $parent_key Parent key name
1897 <span class=
"lineNum" id=
"container391"><a name=
"391"></a><a href=
"#391" id=
"line391"> 391</a> </span> : * @param array $values Current values
1898 <span class=
"lineNum" id=
"container392"><a name=
"392"></a><a href=
"#392" id=
"line392"> 392</a> </span> : * @param array $past_values Original values
1899 <span class=
"lineNum" id=
"container393"><a name=
"393"></a><a href=
"#393" id=
"line393"> 393</a> </span> : *
1900 <span class=
"lineNum" id=
"container394"><a name=
"394"></a><a href=
"#394" id=
"line394"> 394</a> </span> : * @return FALSE
1901 <span class=
"lineNum" id=
"container395"><a name=
"395"></a><a href=
"#395" id=
"line395"> 395</a> </span> : */
1902 <span class=
"lineNum" id=
"container396"><a name=
"396"></a><a href=
"#396" id=
"line396"> 396</a> </span> : final function getCurrentSubDocument(
&$document, $parent_key, Array $values, Array $past_values)
1903 <span class=
"lineNum" id=
"container397"><a name=
"397"></a><a href=
"#397" id=
"line397"> 397</a> </span> : {
1904 <span class=
"lineNum" id=
"container398"><a name=
"398"></a><a href=
"#398" id=
"line398"> 398</a> </span> : /**
1905 <span class=
"lineNum" id=
"container399"><a name=
"399"></a><a href=
"#399" id=
"line399"> 399</a> </span> : * The current property is a embedded-document,
1906 <span class=
"lineNum" id=
"container400"><a name=
"400"></a><a href=
"#400" id=
"line400"> 400</a> </span> : * now we're looking for differences with the
1907 <span class=
"lineNum" id=
"container401"><a name=
"401"></a><a href=
"#401" id=
"line401"> 401</a> </span> : * previous value (because we're on an update).
1908 <span class=
"lineNum" id=
"container402"><a name=
"402"></a><a href=
"#402" id=
"line402"> 402</a> </span> : *
1909 <span class=
"lineNum" id=
"container403"><a name=
"403"></a><a href=
"#403" id=
"line403"> 403</a> </span> : * It behaves exactly as getCurrentDocument,
1910 <span class=
"lineNum" id=
"container404"><a name=
"404"></a><a href=
"#404" id=
"line404"> 404</a> </span> : * but this is simples (it doesn't support
1911 <span class=
"lineNum" id=
"container405"><a name=
"405"></a><a href=
"#405" id=
"line405"> 405</a> </span> : * yet filters)
1912 <span class=
"lineNum" id=
"container406"><a name=
"406"></a><a href=
"#406" id=
"line406"> 406</a> </span> : */
1913 <span class=
"lineNum" id=
"container407"><a name=
"407"></a><a href=
"#407" id=
"line407"> 407</a> </span><span class=
"lineCov"> 3 : foreach ($values as $key =
> $value) {
</span>
1914 <span class=
"lineNum" id=
"container408"><a name=
"408"></a><a href=
"#408" id=
"line408"> 408</a> </span><span class=
"lineCov"> 3 : $super_key =
"{$parent_key}.{$key}
";
</span>
1915 <span class=
"lineNum" id=
"container409"><a name=
"409"></a><a href=
"#409" id=
"line409"> 409</a> </span><span class=
"lineCov"> 3 : if (is_array($value)) {
</span>
1916 <span class=
"lineNum" id=
"container410"><a name=
"410"></a><a href=
"#410" id=
"line410"> 410</a> </span> : /**
1917 <span class=
"lineNum" id=
"container411"><a name=
"411"></a><a href=
"#411" id=
"line411"> 411</a> </span> : * Inner document detected
1918 <span class=
"lineNum" id=
"container412"><a name=
"412"></a><a href=
"#412" id=
"line412"> 412</a> </span> : */
1919 <span class=
"lineNum" id=
"container413"><a name=
"413"></a><a href=
"#413" id=
"line413"> 413</a> </span><span class=
"lineCov"> 2 : if (!array_key_exists($key, $past_values) || !is_array($past_values[$key])) {
</span>
1920 <span class=
"lineNum" id=
"container414"><a name=
"414"></a><a href=
"#414" id=
"line414"> 414</a> </span> : /**
1921 <span class=
"lineNum" id=
"container415"><a name=
"415"></a><a href=
"#415" id=
"line415"> 415</a> </span> : * We're lucky, it is a new sub-document,
1922 <span class=
"lineNum" id=
"container416"><a name=
"416"></a><a href=
"#416" id=
"line416"> 416</a> </span> : * we simple add it
1923 <span class=
"lineNum" id=
"container417"><a name=
"417"></a><a href=
"#417" id=
"line417"> 417</a> </span> : */
1924 <span class=
"lineNum" id=
"container418"><a name=
"418"></a><a href=
"#418" id=
"line418"> 418</a> </span><span class=
"lineCov"> 1 : $document['$set'][$super_key] = $value;
</span>
1925 <span class=
"lineNum" id=
"container419"><a name=
"419"></a><a href=
"#419" id=
"line419"> 419</a> </span><span class=
"lineCov"> 1 : } else {
</span>
1926 <span class=
"lineNum" id=
"container420"><a name=
"420"></a><a href=
"#420" id=
"line420"> 420</a> </span> : /**
1927 <span class=
"lineNum" id=
"container421"><a name=
"421"></a><a href=
"#421" id=
"line421"> 421</a> </span> : * This is a document like this, we need
1928 <span class=
"lineNum" id=
"container422"><a name=
"422"></a><a href=
"#422" id=
"line422"> 422</a> </span> : * to find out the differences to avoid
1929 <span class=
"lineNum" id=
"container423"><a name=
"423"></a><a href=
"#423" id=
"line423"> 423</a> </span> : * network overhead.
1930 <span class=
"lineNum" id=
"container424"><a name=
"424"></a><a href=
"#424" id=
"line424"> 424</a> </span> : */
1931 <span class=
"lineNum" id=
"container425"><a name=
"425"></a><a href=
"#425" id=
"line425"> 425</a> </span><span class=
"lineCov"> 1 : if (!$this-
>getCurrentSubDocument($document, $super_key, $value, $past_values[$key])) {
</span>
1932 <span class=
"lineNum" id=
"container426"><a name=
"426"></a><a href=
"#426" id=
"line426"> 426</a> </span><span class=
"lineNoCov"> 0 : return FALSE;
</span>
1933 <span class=
"lineNum" id=
"container427"><a name=
"427"></a><a href=
"#427" id=
"line427"> 427</a> </span><span class=
"lineDeadCode"> : }
</span>
1934 <span class=
"lineNum" id=
"container428"><a name=
"428"></a><a href=
"#428" id=
"line428"> 428</a> </span> : }
1935 <span class=
"lineNum" id=
"container429"><a name=
"429"></a><a href=
"#429" id=
"line429"> 429</a> </span><span class=
"lineCov"> 2 : continue;
</span>
1936 <span class=
"lineNum" id=
"container430"><a name=
"430"></a><a href=
"#430" id=
"line430"> 430</a> </span><span class=
"lineCov"> 3 : } else if (!array_key_exists($key, $past_values) || $past_values[$key] !== $value) {
</span>
1937 <span class=
"lineNum" id=
"container431"><a name=
"431"></a><a href=
"#431" id=
"line431"> 431</a> </span><span class=
"lineCov"> 2 : $document['$set'][$super_key] = $value;
</span>
1938 <span class=
"lineNum" id=
"container432"><a name=
"432"></a><a href=
"#432" id=
"line432"> 432</a> </span><span class=
"lineCov"> 2 : }
</span>
1939 <span class=
"lineNum" id=
"container433"><a name=
"433"></a><a href=
"#433" id=
"line433"> 433</a> </span><span class=
"lineCov"> 3 : }
</span>
1940 <span class=
"lineNum" id=
"container434"><a name=
"434"></a><a href=
"#434" id=
"line434"> 434</a> </span> :
1941 <span class=
"lineNum" id=
"container435"><a name=
"435"></a><a href=
"#435" id=
"line435"> 435</a> </span><span class=
"lineCov"> 3 : foreach (array_diff(array_keys($past_values), array_keys($values)) as $key) {
</span>
1942 <span class=
"lineNum" id=
"container436"><a name=
"436"></a><a href=
"#436" id=
"line436"> 436</a> </span><span class=
"lineCov"> 2 : $super_key =
"{$parent_key}.{$key}
";
</span>
1943 <span class=
"lineNum" id=
"container437"><a name=
"437"></a><a href=
"#437" id=
"line437"> 437</a> </span><span class=
"lineCov"> 2 : $document['$unset'][$super_key] =
1;
</span>
1944 <span class=
"lineNum" id=
"container438"><a name=
"438"></a><a href=
"#438" id=
"line438"> 438</a> </span><span class=
"lineCov"> 3 : }
</span>
1945 <span class=
"lineNum" id=
"container439"><a name=
"439"></a><a href=
"#439" id=
"line439"> 439</a> </span> :
1946 <span class=
"lineNum" id=
"container440"><a name=
"440"></a><a href=
"#440" id=
"line440"> 440</a> </span><span class=
"lineCov"> 3 : return TRUE;
</span>
1947 <span class=
"lineNum" id=
"container441"><a name=
"441"></a><a href=
"#441" id=
"line441"> 441</a> </span><span class=
"lineDeadCode"> : }
</span>
1948 <span class=
"lineNum" id=
"container442"><a name=
"442"></a><a href=
"#442" id=
"line442"> 442</a> </span> : // }}}
1949 <span class=
"lineNum" id=
"container443"><a name=
"443"></a><a href=
"#443" id=
"line443"> 443</a> </span> :
1950 <span class=
"lineNum" id=
"container444"><a name=
"444"></a><a href=
"#444" id=
"line444"> 444</a> </span> : // array getCurrentDocument(bool $update) {{{
1951 <span class=
"lineNum" id=
"container445"><a name=
"445"></a><a href=
"#445" id=
"line445"> 445</a> </span> : /**
1952 <span class=
"lineNum" id=
"container446"><a name=
"446"></a><a href=
"#446" id=
"line446"> 446</a> </span> : * Get Current Document
1953 <span class=
"lineNum" id=
"container447"><a name=
"447"></a><a href=
"#447" id=
"line447"> 447</a> </span> : *
1954 <span class=
"lineNum" id=
"container448"><a name=
"448"></a><a href=
"#448" id=
"line448"> 448</a> </span> : * Based on this object properties a new document (Array)
1955 <span class=
"lineNum" id=
"container449"><a name=
"449"></a><a href=
"#449" id=
"line449"> 449</a> </span> : * is returned. If we're modifying an document, just the modified
1956 <span class=
"lineNum" id=
"container450"><a name=
"450"></a><a href=
"#450" id=
"line450"> 450</a> </span> : * properties are included in this document, which uses $set,
1957 <span class=
"lineNum" id=
"container451"><a name=
"451"></a><a href=
"#451" id=
"line451"> 451</a> </span> : * $unset, $pushAll and $pullAll.
1958 <span class=
"lineNum" id=
"container452"><a name=
"452"></a><a href=
"#452" id=
"line452"> 452</a> </span> : *
1959 <span class=
"lineNum" id=
"container453"><a name=
"453"></a><a href=
"#453" id=
"line453"> 453</a> </span> : *
1960 <span class=
"lineNum" id=
"container454"><a name=
"454"></a><a href=
"#454" id=
"line454"> 454</a> </span> : * @param bool $update
1961 <span class=
"lineNum" id=
"container455"><a name=
"455"></a><a href=
"#455" id=
"line455"> 455</a> </span> : *
1962 <span class=
"lineNum" id=
"container456"><a name=
"456"></a><a href=
"#456" id=
"line456"> 456</a> </span> : * @return array
1963 <span class=
"lineNum" id=
"container457"><a name=
"457"></a><a href=
"#457" id=
"line457"> 457</a> </span> : */
1964 <span class=
"lineNum" id=
"container458"><a name=
"458"></a><a href=
"#458" id=
"line458"> 458</a> </span> : final protected function getCurrentDocument($update=FALSE, $current=FALSE)
1965 <span class=
"lineNum" id=
"container459"><a name=
"459"></a><a href=
"#459" id=
"line459"> 459</a> </span> : {
1966 <span class=
"lineNum" id=
"container460"><a name=
"460"></a><a href=
"#460" id=
"line460"> 460</a> </span><span class=
"lineCov"> 20 : $document = array();
</span>
1967 <span class=
"lineNum" id=
"container461"><a name=
"461"></a><a href=
"#461" id=
"line461"> 461</a> </span><span class=
"lineCov"> 20 : $object = $this-
>getDocumentVars();
</span>
1968 <span class=
"lineNum" id=
"container462"><a name=
"462"></a><a href=
"#462" id=
"line462"> 462</a> </span> :
1969 <span class=
"lineNum" id=
"container463"><a name=
"463"></a><a href=
"#463" id=
"line463"> 463</a> </span><span class=
"lineCov"> 20 : if (!$current) {
</span>
1970 <span class=
"lineNum" id=
"container464"><a name=
"464"></a><a href=
"#464" id=
"line464"> 464</a> </span><span class=
"lineCov"> 20 : $current = (array)$this-
>_current;
</span>
1971 <span class=
"lineNum" id=
"container465"><a name=
"465"></a><a href=
"#465" id=
"line465"> 465</a> </span><span class=
"lineCov"> 20 : }
</span>
1972 <span class=
"lineNum" id=
"container466"><a name=
"466"></a><a href=
"#466" id=
"line466"> 466</a> </span> :
1973 <span class=
"lineNum" id=
"container467"><a name=
"467"></a><a href=
"#467" id=
"line467"> 467</a> </span> :
1974 <span class=
"lineNum" id=
"container468"><a name=
"468"></a><a href=
"#468" id=
"line468"> 468</a> </span><span class=
"lineCov"> 20 : $this-
>findReferences($object);
</span>
1975 <span class=
"lineNum" id=
"container469"><a name=
"469"></a><a href=
"#469" id=
"line469"> 469</a> </span> :
1976 <span class=
"lineNum" id=
"container470"><a name=
"470"></a><a href=
"#470" id=
"line470"> 470</a> </span><span class=
"lineCov"> 20 : $this-
>triggerEvent('before_validate', array(
&$object, $current));
</span>
1977 <span class=
"lineNum" id=
"container471"><a name=
"471"></a><a href=
"#471" id=
"line471"> 471</a> </span><span class=
"lineCov"> 20 : $this-
>triggerEvent('before_validate_'.($update?'update':'creation'), array(
&$object, $current));
</span>
1978 <span class=
"lineNum" id=
"container472"><a name=
"472"></a><a href=
"#472" id=
"line472"> 472</a> </span> :
1979 <span class=
"lineNum" id=
"container473"><a name=
"473"></a><a href=
"#473" id=
"line473"> 473</a> </span><span class=
"lineCov"> 19 : foreach ($object as $key =
> $value) {
</span>
1980 <span class=
"lineNum" id=
"container474"><a name=
"474"></a><a href=
"#474" id=
"line474"> 474</a> </span><span class=
"lineCov"> 19 : if ($update) {
</span>
1981 <span class=
"lineNum" id=
"container475"><a name=
"475"></a><a href=
"#475" id=
"line475"> 475</a> </span><span class=
"lineCov"> 8 : if (is_array($value)
&& isset($current[$key])) {
</span>
1982 <span class=
"lineNum" id=
"container476"><a name=
"476"></a><a href=
"#476" id=
"line476"> 476</a> </span> : /**
1983 <span class=
"lineNum" id=
"container477"><a name=
"477"></a><a href=
"#477" id=
"line477"> 477</a> </span> : * If the Field to update is an array, it has a different
1984 <span class=
"lineNum" id=
"container478"><a name=
"478"></a><a href=
"#478" id=
"line478"> 478</a> </span> : * behaviour other than $set and $unset. Fist, we need
1985 <span class=
"lineNum" id=
"container479"><a name=
"479"></a><a href=
"#479" id=
"line479"> 479</a> </span> : * need to check if it is an array or document, because
1986 <span class=
"lineNum" id=
"container480"><a name=
"480"></a><a href=
"#480" id=
"line480"> 480</a> </span> : * they can't be mixed.
1987 <span class=
"lineNum" id=
"container481"><a name=
"481"></a><a href=
"#481" id=
"line481"> 481</a> </span> : *
1988 <span class=
"lineNum" id=
"container482"><a name=
"482"></a><a href=
"#482" id=
"line482"> 482</a> </span> : */
1989 <span class=
"lineNum" id=
"container483"><a name=
"483"></a><a href=
"#483" id=
"line483"> 483</a> </span><span class=
"lineCov"> 3 : if (!is_array($current[$key])) {
</span>
1990 <span class=
"lineNum" id=
"container484"><a name=
"484"></a><a href=
"#484" id=
"line484"> 484</a> </span> : /**
1991 <span class=
"lineNum" id=
"container485"><a name=
"485"></a><a href=
"#485" id=
"line485"> 485</a> </span> : * We're lucky, the field wasn't
1992 <span class=
"lineNum" id=
"container486"><a name=
"486"></a><a href=
"#486" id=
"line486"> 486</a> </span> : * an array previously.
1993 <span class=
"lineNum" id=
"container487"><a name=
"487"></a><a href=
"#487" id=
"line487"> 487</a> </span> : */
1994 <span class=
"lineNum" id=
"container488"><a name=
"488"></a><a href=
"#488" id=
"line488"> 488</a> </span><span class=
"lineCov"> 1 : $this-
>runFilter($key, $value, $current[$key]);
</span>
1995 <span class=
"lineNum" id=
"container489"><a name=
"489"></a><a href=
"#489" id=
"line489"> 489</a> </span><span class=
"lineCov"> 1 : $document['$set'][$key] = $value;
</span>
1996 <span class=
"lineNum" id=
"container490"><a name=
"490"></a><a href=
"#490" id=
"line490"> 490</a> </span><span class=
"lineCov"> 1 : continue;
</span>
1997 <span class=
"lineNum" id=
"container491"><a name=
"491"></a><a href=
"#491" id=
"line491"> 491</a> </span><span class=
"lineDeadCode"> : }
</span>
1998 <span class=
"lineNum" id=
"container492"><a name=
"492"></a><a href=
"#492" id=
"line492"> 492</a> </span> :
1999 <span class=
"lineNum" id=
"container493"><a name=
"493"></a><a href=
"#493" id=
"line493"> 493</a> </span><span class=
"lineCov"> 3 : if (!$this-
>getCurrentSubDocument($document, $key, $value, $current[$key])) {
</span>
2000 <span class=
"lineNum" id=
"container494"><a name=
"494"></a><a href=
"#494" id=
"line494"> 494</a> </span><span class=
"lineNoCov"> 0 : throw new Exception(
"{$key}: Array and documents are not compatible
");
</span>
2001 <span class=
"lineNum" id=
"container495"><a name=
"495"></a><a href=
"#495" id=
"line495"> 495</a> </span><span class=
"lineDeadCode"> : }
</span>
2002 <span class=
"lineNum" id=
"container496"><a name=
"496"></a><a href=
"#496" id=
"line496"> 496</a> </span><span class=
"lineCov"> 8 : } else if(!array_key_exists($key, $current) || $value !== $current[$key]) {
</span>
2003 <span class=
"lineNum" id=
"container497"><a name=
"497"></a><a href=
"#497" id=
"line497"> 497</a> </span> : /**
2004 <span class=
"lineNum" id=
"container498"><a name=
"498"></a><a href=
"#498" id=
"line498"> 498</a> </span> : * It is 'linear' field that has changed, or
2005 <span class=
"lineNum" id=
"container499"><a name=
"499"></a><a href=
"#499" id=
"line499"> 499</a> </span> : * has been modified.
2006 <span class=
"lineNum" id=
"container500"><a name=
"500"></a><a href=
"#500" id=
"line500"> 500</a> </span> : */
2007 <span class=
"lineNum" id=
"container501"><a name=
"501"></a><a href=
"#501" id=
"line501"> 501</a> </span><span class=
"lineCov"> 6 : $past_value = isset($current[$key]) ? $current[$key] : NULL;
</span>
2008 <span class=
"lineNum" id=
"container502"><a name=
"502"></a><a href=
"#502" id=
"line502"> 502</a> </span><span class=
"lineCov"> 6 : $this-
>runFilter($key, $value, $past_value);
</span>
2009 <span class=
"lineNum" id=
"container503"><a name=
"503"></a><a href=
"#503" id=
"line503"> 503</a> </span><span class=
"lineCov"> 6 : $document['$set'][$key] = $value;
</span>
2010 <span class=
"lineNum" id=
"container504"><a name=
"504"></a><a href=
"#504" id=
"line504"> 504</a> </span><span class=
"lineCov"> 6 : }
</span>
2011 <span class=
"lineNum" id=
"container505"><a name=
"505"></a><a href=
"#505" id=
"line505"> 505</a> </span><span class=
"lineCov"> 8 : } else {
</span>
2012 <span class=
"lineNum" id=
"container506"><a name=
"506"></a><a href=
"#506" id=
"line506"> 506</a> </span> : /**
2013 <span class=
"lineNum" id=
"container507"><a name=
"507"></a><a href=
"#507" id=
"line507"> 507</a> </span> : * It is a document insertation, so we
2014 <span class=
"lineNum" id=
"container508"><a name=
"508"></a><a href=
"#508" id=
"line508"> 508</a> </span> : * create the document.
2015 <span class=
"lineNum" id=
"container509"><a name=
"509"></a><a href=
"#509" id=
"line509"> 509</a> </span> : */
2016 <span class=
"lineNum" id=
"container510"><a name=
"510"></a><a href=
"#510" id=
"line510"> 510</a> </span><span class=
"lineCov"> 18 : $this-
>runFilter($key, $value, NULL);
</span>
2017 <span class=
"lineNum" id=
"container511"><a name=
"511"></a><a href=
"#511" id=
"line511"> 511</a> </span><span class=
"lineCov"> 18 : $document[$key] = $value;
</span>
2018 <span class=
"lineNum" id=
"container512"><a name=
"512"></a><a href=
"#512" id=
"line512"> 512</a> </span> : }
2019 <span class=
"lineNum" id=
"container513"><a name=
"513"></a><a href=
"#513" id=
"line513"> 513</a> </span><span class=
"lineCov"> 19 : }
</span>
2020 <span class=
"lineNum" id=
"container514"><a name=
"514"></a><a href=
"#514" id=
"line514"> 514</a> </span> :
2021 <span class=
"lineNum" id=
"container515"><a name=
"515"></a><a href=
"#515" id=
"line515"> 515</a> </span> : /* Updated behaves in a diff. way */
2022 <span class=
"lineNum" id=
"container516"><a name=
"516"></a><a href=
"#516" id=
"line516"> 516</a> </span><span class=
"lineCov"> 19 : if ($update) {
</span>
2023 <span class=
"lineNum" id=
"container517"><a name=
"517"></a><a href=
"#517" id=
"line517"> 517</a> </span><span class=
"lineCov"> 8 : foreach (array_diff(array_keys($this-
>_current), array_keys($object)) as $property) {
</span>
2024 <span class=
"lineNum" id=
"container518"><a name=
"518"></a><a href=
"#518" id=
"line518"> 518</a> </span><span class=
"lineCov"> 8 : if ($property == '_id') {
</span>
2025 <span class=
"lineNum" id=
"container519"><a name=
"519"></a><a href=
"#519" id=
"line519"> 519</a> </span><span class=
"lineCov"> 8 : continue;
</span>
2026 <span class=
"lineNum" id=
"container520"><a name=
"520"></a><a href=
"#520" id=
"line520"> 520</a> </span><span class=
"lineDeadCode"> : }
</span>
2027 <span class=
"lineNum" id=
"container521"><a name=
"521"></a><a href=
"#521" id=
"line521"> 521</a> </span><span class=
"lineCov"> 1 : $document['$unset'][$property] =
1;
</span>
2028 <span class=
"lineNum" id=
"container522"><a name=
"522"></a><a href=
"#522" id=
"line522"> 522</a> </span><span class=
"lineCov"> 8 : }
</span>
2029 <span class=
"lineNum" id=
"container523"><a name=
"523"></a><a href=
"#523" id=
"line523"> 523</a> </span><span class=
"lineCov"> 8 : }
</span>
2030 <span class=
"lineNum" id=
"container524"><a name=
"524"></a><a href=
"#524" id=
"line524"> 524</a> </span> :
2031 <span class=
"lineNum" id=
"container525"><a name=
"525"></a><a href=
"#525" id=
"line525"> 525</a> </span><span class=
"lineCov"> 19 : if (count($document) ==
0) {
</span>
2032 <span class=
"lineNum" id=
"container526"><a name=
"526"></a><a href=
"#526" id=
"line526"> 526</a> </span><span class=
"lineCov"> 1 : return array();
</span>
2033 <span class=
"lineNum" id=
"container527"><a name=
"527"></a><a href=
"#527" id=
"line527"> 527</a> </span><span class=
"lineDeadCode"> : }
</span>
2034 <span class=
"lineNum" id=
"container528"><a name=
"528"></a><a href=
"#528" id=
"line528"> 528</a> </span> :
2035 <span class=
"lineNum" id=
"container529"><a name=
"529"></a><a href=
"#529" id=
"line529"> 529</a> </span><span class=
"lineCov"> 19 : $this-
>triggerEvent('after_validate', array(
&$document));
</span>
2036 <span class=
"lineNum" id=
"container530"><a name=
"530"></a><a href=
"#530" id=
"line530"> 530</a> </span><span class=
"lineCov"> 19 : $this-
>triggerEvent('after_validate_'.($update?'update':'creation'), array(
&$object));
</span>
2037 <span class=
"lineNum" id=
"container531"><a name=
"531"></a><a href=
"#531" id=
"line531"> 531</a> </span> :
2038 <span class=
"lineNum" id=
"container532"><a name=
"532"></a><a href=
"#532" id=
"line532"> 532</a> </span><span class=
"lineCov"> 19 : return $document;
</span>
2039 <span class=
"lineNum" id=
"container533"><a name=
"533"></a><a href=
"#533" id=
"line533"> 533</a> </span><span class=
"lineDeadCode"> : }
</span>
2040 <span class=
"lineNum" id=
"container534"><a name=
"534"></a><a href=
"#534" id=
"line534"> 534</a> </span> : // }}}
2041 <span class=
"lineNum" id=
"container535"><a name=
"535"></a><a href=
"#535" id=
"line535"> 535</a> </span> :
2042 <span class=
"lineNum" id=
"container536"><a name=
"536"></a><a href=
"#536" id=
"line536"> 536</a> </span> : // }}}
2043 <span class=
"lineNum" id=
"container537"><a name=
"537"></a><a href=
"#537" id=
"line537"> 537</a> </span> :
2044 <span class=
"lineNum" id=
"container538"><a name=
"538"></a><a href=
"#538" id=
"line538"> 538</a> </span> : // EVENT HANDLERS {{{
2045 <span class=
"lineNum" id=
"container539"><a name=
"539"></a><a href=
"#539" id=
"line539"> 539</a> </span> :
2046 <span class=
"lineNum" id=
"container540"><a name=
"540"></a><a href=
"#540" id=
"line540"> 540</a> </span> : // addEvent($action, $callback) {{{
2047 <span class=
"lineNum" id=
"container541"><a name=
"541"></a><a href=
"#541" id=
"line541"> 541</a> </span> : /**
2048 <span class=
"lineNum" id=
"container542"><a name=
"542"></a><a href=
"#542" id=
"line542"> 542</a> </span> : * addEvent
2049 <span class=
"lineNum" id=
"container543"><a name=
"543"></a><a href=
"#543" id=
"line543"> 543</a> </span> : *
2050 <span class=
"lineNum" id=
"container544"><a name=
"544"></a><a href=
"#544" id=
"line544"> 544</a> </span> : */
2051 <span class=
"lineNum" id=
"container545"><a name=
"545"></a><a href=
"#545" id=
"line545"> 545</a> </span> : final static function addEvent($action, $callback)
2052 <span class=
"lineNum" id=
"container546"><a name=
"546"></a><a href=
"#546" id=
"line546"> 546</a> </span> : {
2053 <span class=
"lineNum" id=
"container547"><a name=
"547"></a><a href=
"#547" id=
"line547"> 547</a> </span><span class=
"lineCov"> 7 : if (!is_callable($callback)) {
</span>
2054 <span class=
"lineNum" id=
"container548"><a name=
"548"></a><a href=
"#548" id=
"line548"> 548</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Invalid callback
");
</span>
2055 <span class=
"lineNum" id=
"container549"><a name=
"549"></a><a href=
"#549" id=
"line549"> 549</a> </span><span class=
"lineDeadCode"> : }
</span>
2056 <span class=
"lineNum" id=
"container550"><a name=
"550"></a><a href=
"#550" id=
"line550"> 550</a> </span> :
2057 <span class=
"lineNum" id=
"container551"><a name=
"551"></a><a href=
"#551" id=
"line551"> 551</a> </span><span class=
"lineCov"> 6 : $class = get_called_class();
</span>
2058 <span class=
"lineNum" id=
"container552"><a name=
"552"></a><a href=
"#552" id=
"line552"> 552</a> </span><span class=
"lineCov"> 6 : if ($class == __CLASS__) {
</span>
2059 <span class=
"lineNum" id=
"container553"><a name=
"553"></a><a href=
"#553" id=
"line553"> 553</a> </span><span class=
"lineCov"> 2 : $events =
& self::$_super_events;
</span>
2060 <span class=
"lineNum" id=
"container554"><a name=
"554"></a><a href=
"#554" id=
"line554"> 554</a> </span><span class=
"lineCov"> 2 : } else {
</span>
2061 <span class=
"lineNum" id=
"container555"><a name=
"555"></a><a href=
"#555" id=
"line555"> 555</a> </span><span class=
"lineCov"> 4 : $events =
& self::$_events[$class];
</span>
2062 <span class=
"lineNum" id=
"container556"><a name=
"556"></a><a href=
"#556" id=
"line556"> 556</a> </span> : }
2063 <span class=
"lineNum" id=
"container557"><a name=
"557"></a><a href=
"#557" id=
"line557"> 557</a> </span><span class=
"lineCov"> 6 : if (!isset($events[$action])) {
</span>
2064 <span class=
"lineNum" id=
"container558"><a name=
"558"></a><a href=
"#558" id=
"line558"> 558</a> </span><span class=
"lineCov"> 6 : $events[$action] = array();
</span>
2065 <span class=
"lineNum" id=
"container559"><a name=
"559"></a><a href=
"#559" id=
"line559"> 559</a> </span><span class=
"lineCov"> 6 : }
</span>
2066 <span class=
"lineNum" id=
"container560"><a name=
"560"></a><a href=
"#560" id=
"line560"> 560</a> </span><span class=
"lineCov"> 6 : $events[$action][] = $callback;
</span>
2067 <span class=
"lineNum" id=
"container561"><a name=
"561"></a><a href=
"#561" id=
"line561"> 561</a> </span><span class=
"lineCov"> 6 : return TRUE;
</span>
2068 <span class=
"lineNum" id=
"container562"><a name=
"562"></a><a href=
"#562" id=
"line562"> 562</a> </span><span class=
"lineDeadCode"> : }
</span>
2069 <span class=
"lineNum" id=
"container563"><a name=
"563"></a><a href=
"#563" id=
"line563"> 563</a> </span> : // }}}
2070 <span class=
"lineNum" id=
"container564"><a name=
"564"></a><a href=
"#564" id=
"line564"> 564</a> </span> :
2071 <span class=
"lineNum" id=
"container565"><a name=
"565"></a><a href=
"#565" id=
"line565"> 565</a> </span> : // triggerEvent(string $event, Array $events_params) {{{
2072 <span class=
"lineNum" id=
"container566"><a name=
"566"></a><a href=
"#566" id=
"line566"> 566</a> </span> : final function triggerEvent($event, Array $events_params = array(), $context=NULL)
2073 <span class=
"lineNum" id=
"container567"><a name=
"567"></a><a href=
"#567" id=
"line567"> 567</a> </span> : {
2074 <span class=
"lineNum" id=
"container568"><a name=
"568"></a><a href=
"#568" id=
"line568"> 568</a> </span><span class=
"lineCov"> 39 : if (!$context){
</span>
2075 <span class=
"lineNum" id=
"container569"><a name=
"569"></a><a href=
"#569" id=
"line569"> 569</a> </span><span class=
"lineCov"> 38 : if (!isset($this)) {
</span>
2076 <span class=
"lineNum" id=
"container570"><a name=
"570"></a><a href=
"#570" id=
"line570"> 570</a> </span><span class=
"lineNoCov"> 0 : $class = get_called_class();
</span>
2077 <span class=
"lineNum" id=
"container571"><a name=
"571"></a><a href=
"#571" id=
"line571"> 571</a> </span><span class=
"lineNoCov"> 0 : $obj = $class;
</span>
2078 <span class=
"lineNum" id=
"container572"><a name=
"572"></a><a href=
"#572" id=
"line572"> 572</a> </span><span class=
"lineNoCov"> 0 : } else {
</span>
2079 <span class=
"lineNum" id=
"container573"><a name=
"573"></a><a href=
"#573" id=
"line573"> 573</a> </span><span class=
"lineCov"> 38 : $class = get_class($this);
</span>
2080 <span class=
"lineNum" id=
"container574"><a name=
"574"></a><a href=
"#574" id=
"line574"> 574</a> </span><span class=
"lineCov"> 38 : $obj = $this;
</span>
2081 <span class=
"lineNum" id=
"container575"><a name=
"575"></a><a href=
"#575" id=
"line575"> 575</a> </span> : }
2082 <span class=
"lineNum" id=
"container576"><a name=
"576"></a><a href=
"#576" id=
"line576"> 576</a> </span><span class=
"lineCov"> 38 : } else {
</span>
2083 <span class=
"lineNum" id=
"container577"><a name=
"577"></a><a href=
"#577" id=
"line577"> 577</a> </span><span class=
"lineCov"> 3 : $class = $context;
</span>
2084 <span class=
"lineNum" id=
"container578"><a name=
"578"></a><a href=
"#578" id=
"line578"> 578</a> </span><span class=
"lineCov"> 3 : $obj = $context;
</span>
2085 <span class=
"lineNum" id=
"container579"><a name=
"579"></a><a href=
"#579" id=
"line579"> 579</a> </span> : }
2086 <span class=
"lineNum" id=
"container580"><a name=
"580"></a><a href=
"#580" id=
"line580"> 580</a> </span><span class=
"lineCov"> 39 : $events =
& self::$_events[$class][$event];
</span>
2087 <span class=
"lineNum" id=
"container581"><a name=
"581"></a><a href=
"#581" id=
"line581"> 581</a> </span><span class=
"lineCov"> 39 : $sevents =
& self::$_super_events[$event];
</span>
2088 <span class=
"lineNum" id=
"container582"><a name=
"582"></a><a href=
"#582" id=
"line582"> 582</a> </span> :
2089 <span class=
"lineNum" id=
"container583"><a name=
"583"></a><a href=
"#583" id=
"line583"> 583</a> </span> : /* Super-Events handler receives the ActiveMongo class name as first param */
2090 <span class=
"lineNum" id=
"container584"><a name=
"584"></a><a href=
"#584" id=
"line584"> 584</a> </span><span class=
"lineCov"> 39 : $sevents_params = array_merge(array($class), $events_params);
</span>
2091 <span class=
"lineNum" id=
"container585"><a name=
"585"></a><a href=
"#585" id=
"line585"> 585</a> </span> :
2092 <span class=
"lineNum" id=
"container586"><a name=
"586"></a><a href=
"#586" id=
"line586"> 586</a> </span><span class=
"lineCov"> 39 : foreach (array('events', 'sevents') as $event_type) {
</span>
2093 <span class=
"lineNum" id=
"container587"><a name=
"587"></a><a href=
"#587" id=
"line587"> 587</a> </span><span class=
"lineCov"> 39 : if (count($$event_type)
> 0) {
</span>
2094 <span class=
"lineNum" id=
"container588"><a name=
"588"></a><a href=
"#588" id=
"line588"> 588</a> </span><span class=
"lineCov"> 24 : $params =
"{$event_type}_params
";
</span>
2095 <span class=
"lineNum" id=
"container589"><a name=
"589"></a><a href=
"#589" id=
"line589"> 589</a> </span><span class=
"lineCov"> 24 : foreach ($$event_type as $fnc) {
</span>
2096 <span class=
"lineNum" id=
"container590"><a name=
"590"></a><a href=
"#590" id=
"line590"> 590</a> </span><span class=
"lineCov"> 24 : if (call_user_func_array($fnc, $$params) === FALSE) {
</span>
2097 <span class=
"lineNum" id=
"container591"><a name=
"591"></a><a href=
"#591" id=
"line591"> 591</a> </span><span class=
"lineCov"> 6 : return;
</span>
2098 <span class=
"lineNum" id=
"container592"><a name=
"592"></a><a href=
"#592" id=
"line592"> 592</a> </span><span class=
"lineDeadCode"> : }
</span>
2099 <span class=
"lineNum" id=
"container593"><a name=
"593"></a><a href=
"#593" id=
"line593"> 593</a> </span><span class=
"lineCov"> 24 : }
</span>
2100 <span class=
"lineNum" id=
"container594"><a name=
"594"></a><a href=
"#594" id=
"line594"> 594</a> </span><span class=
"lineCov"> 24 : }
</span>
2101 <span class=
"lineNum" id=
"container595"><a name=
"595"></a><a href=
"#595" id=
"line595"> 595</a> </span><span class=
"lineCov"> 39 : }
</span>
2102 <span class=
"lineNum" id=
"container596"><a name=
"596"></a><a href=
"#596" id=
"line596"> 596</a> </span> :
2103 <span class=
"lineNum" id=
"container597"><a name=
"597"></a><a href=
"#597" id=
"line597"> 597</a> </span> : switch ($event) {
2104 <span class=
"lineNum" id=
"container598"><a name=
"598"></a><a href=
"#598" id=
"line598"> 598</a> </span><span class=
"lineCov"> 39 : case 'before_create':
</span>
2105 <span class=
"lineNum" id=
"container599"><a name=
"599"></a><a href=
"#599" id=
"line599"> 599</a> </span><span class=
"lineCov"> 39 : case 'before_update':
</span>
2106 <span class=
"lineNum" id=
"container600"><a name=
"600"></a><a href=
"#600" id=
"line600"> 600</a> </span><span class=
"lineCov"> 39 : case 'before_validate':
</span>
2107 <span class=
"lineNum" id=
"container601"><a name=
"601"></a><a href=
"#601" id=
"line601"> 601</a> </span><span class=
"lineCov"> 39 : case 'before_delete':
</span>
2108 <span class=
"lineNum" id=
"container602"><a name=
"602"></a><a href=
"#602" id=
"line602"> 602</a> </span><span class=
"lineCov"> 39 : case 'before_drop':
</span>
2109 <span class=
"lineNum" id=
"container603"><a name=
"603"></a><a href=
"#603" id=
"line603"> 603</a> </span><span class=
"lineCov"> 39 : case 'before_query':
</span>
2110 <span class=
"lineNum" id=
"container604"><a name=
"604"></a><a href=
"#604" id=
"line604"> 604</a> </span><span class=
"lineCov"> 39 : case 'after_create':
</span>
2111 <span class=
"lineNum" id=
"container605"><a name=
"605"></a><a href=
"#605" id=
"line605"> 605</a> </span><span class=
"lineCov"> 39 : case 'after_update':
</span>
2112 <span class=
"lineNum" id=
"container606"><a name=
"606"></a><a href=
"#606" id=
"line606"> 606</a> </span><span class=
"lineCov"> 39 : case 'after_validate':
</span>
2113 <span class=
"lineNum" id=
"container607"><a name=
"607"></a><a href=
"#607" id=
"line607"> 607</a> </span><span class=
"lineCov"> 39 : case 'after_delete':
</span>
2114 <span class=
"lineNum" id=
"container608"><a name=
"608"></a><a href=
"#608" id=
"line608"> 608</a> </span><span class=
"lineCov"> 39 : case 'after_drop':
</span>
2115 <span class=
"lineNum" id=
"container609"><a name=
"609"></a><a href=
"#609" id=
"line609"> 609</a> </span><span class=
"lineCov"> 39 : case 'after_query':
</span>
2116 <span class=
"lineNum" id=
"container610"><a name=
"610"></a><a href=
"#610" id=
"line610"> 610</a> </span><span class=
"lineCov"> 38 : $fnc = array($obj, $event);
</span>
2117 <span class=
"lineNum" id=
"container611"><a name=
"611"></a><a href=
"#611" id=
"line611"> 611</a> </span><span class=
"lineCov"> 38 : $params =
"events_params
";
</span>
2118 <span class=
"lineNum" id=
"container612"><a name=
"612"></a><a href=
"#612" id=
"line612"> 612</a> </span><span class=
"lineCov"> 38 : if (is_callable($fnc)) {
</span>
2119 <span class=
"lineNum" id=
"container613"><a name=
"613"></a><a href=
"#613" id=
"line613"> 613</a> </span><span class=
"lineCov"> 8 : call_user_func_array($fnc, $$params);
</span>
2120 <span class=
"lineNum" id=
"container614"><a name=
"614"></a><a href=
"#614" id=
"line614"> 614</a> </span><span class=
"lineCov"> 8 : }
</span>
2121 <span class=
"lineNum" id=
"container615"><a name=
"615"></a><a href=
"#615" id=
"line615"> 615</a> </span><span class=
"lineCov"> 38 : break;
</span>
2122 <span class=
"lineNum" id=
"container616"><a name=
"616"></a><a href=
"#616" id=
"line616"> 616</a> </span><span class=
"lineDeadCode"> : }
</span>
2123 <span class=
"lineNum" id=
"container617"><a name=
"617"></a><a href=
"#617" id=
"line617"> 617</a> </span><span class=
"lineCov"> 39 : }
</span>
2124 <span class=
"lineNum" id=
"container618"><a name=
"618"></a><a href=
"#618" id=
"line618"> 618</a> </span> : // }}}
2125 <span class=
"lineNum" id=
"container619"><a name=
"619"></a><a href=
"#619" id=
"line619"> 619</a> </span> :
2126 <span class=
"lineNum" id=
"container620"><a name=
"620"></a><a href=
"#620" id=
"line620"> 620</a> </span> : // void runFilter(string $key, mixed
&$value, mixed $past_value) {{{
2127 <span class=
"lineNum" id=
"container621"><a name=
"621"></a><a href=
"#621" id=
"line621"> 621</a> </span> : /**
2128 <span class=
"lineNum" id=
"container622"><a name=
"622"></a><a href=
"#622" id=
"line622"> 622</a> </span> : * *Internal Method*
2129 <span class=
"lineNum" id=
"container623"><a name=
"623"></a><a href=
"#623" id=
"line623"> 623</a> </span> : *
2130 <span class=
"lineNum" id=
"container624"><a name=
"624"></a><a href=
"#624" id=
"line624"> 624</a> </span> : * This method check if the current document property has
2131 <span class=
"lineNum" id=
"container625"><a name=
"625"></a><a href=
"#625" id=
"line625"> 625</a> </span> : * a filter method, if so, call it.
2132 <span class=
"lineNum" id=
"container626"><a name=
"626"></a><a href=
"#626" id=
"line626"> 626</a> </span> : *
2133 <span class=
"lineNum" id=
"container627"><a name=
"627"></a><a href=
"#627" id=
"line627"> 627</a> </span> : * If the filter returns FALSE, throw an Exception.
2134 <span class=
"lineNum" id=
"container628"><a name=
"628"></a><a href=
"#628" id=
"line628"> 628</a> </span> : *
2135 <span class=
"lineNum" id=
"container629"><a name=
"629"></a><a href=
"#629" id=
"line629"> 629</a> </span> : * @return void
2136 <span class=
"lineNum" id=
"container630"><a name=
"630"></a><a href=
"#630" id=
"line630"> 630</a> </span> : */
2137 <span class=
"lineNum" id=
"container631"><a name=
"631"></a><a href=
"#631" id=
"line631"> 631</a> </span> : protected function runFilter($key,
&$value, $past_value)
2138 <span class=
"lineNum" id=
"container632"><a name=
"632"></a><a href=
"#632" id=
"line632"> 632</a> </span> : {
2139 <span class=
"lineNum" id=
"container633"><a name=
"633"></a><a href=
"#633" id=
"line633"> 633</a> </span><span class=
"lineCov"> 19 : $filter = array($this,
"{$key}_filter
");
</span>
2140 <span class=
"lineNum" id=
"container634"><a name=
"634"></a><a href=
"#634" id=
"line634"> 634</a> </span><span class=
"lineCov"> 19 : if (is_callable($filter)) {
</span>
2141 <span class=
"lineNum" id=
"container635"><a name=
"635"></a><a href=
"#635" id=
"line635"> 635</a> </span><span class=
"lineCov"> 1 : $filter = call_user_func_array($filter, array(
&$value, $past_value));
</span>
2142 <span class=
"lineNum" id=
"container636"><a name=
"636"></a><a href=
"#636" id=
"line636"> 636</a> </span><span class=
"lineCov"> 1 : if ($filter===FALSE) {
</span>
2143 <span class=
"lineNum" id=
"container637"><a name=
"637"></a><a href=
"#637" id=
"line637"> 637</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_FilterException(
"{$key} filter failed
");
</span>
2144 <span class=
"lineNum" id=
"container638"><a name=
"638"></a><a href=
"#638" id=
"line638"> 638</a> </span><span class=
"lineDeadCode"> : }
</span>
2145 <span class=
"lineNum" id=
"container639"><a name=
"639"></a><a href=
"#639" id=
"line639"> 639</a> </span><span class=
"lineCov"> 1 : $this-
>$key = $value;
</span>
2146 <span class=
"lineNum" id=
"container640"><a name=
"640"></a><a href=
"#640" id=
"line640"> 640</a> </span><span class=
"lineCov"> 1 : }
</span>
2147 <span class=
"lineNum" id=
"container641"><a name=
"641"></a><a href=
"#641" id=
"line641"> 641</a> </span><span class=
"lineCov"> 19 : }
</span>
2148 <span class=
"lineNum" id=
"container642"><a name=
"642"></a><a href=
"#642" id=
"line642"> 642</a> </span> : // }}}
2149 <span class=
"lineNum" id=
"container643"><a name=
"643"></a><a href=
"#643" id=
"line643"> 643</a> </span> :
2150 <span class=
"lineNum" id=
"container644"><a name=
"644"></a><a href=
"#644" id=
"line644"> 644</a> </span> : // }}}
2151 <span class=
"lineNum" id=
"container645"><a name=
"645"></a><a href=
"#645" id=
"line645"> 645</a> </span> :
2152 <span class=
"lineNum" id=
"container646"><a name=
"646"></a><a href=
"#646" id=
"line646"> 646</a> </span> : // void setCursor(MongoCursor $obj) {{{
2153 <span class=
"lineNum" id=
"container647"><a name=
"647"></a><a href=
"#647" id=
"line647"> 647</a> </span> : /**
2154 <span class=
"lineNum" id=
"container648"><a name=
"648"></a><a href=
"#648" id=
"line648"> 648</a> </span> : * Set Cursor
2155 <span class=
"lineNum" id=
"container649"><a name=
"649"></a><a href=
"#649" id=
"line649"> 649</a> </span> : *
2156 <span class=
"lineNum" id=
"container650"><a name=
"650"></a><a href=
"#650" id=
"line650"> 650</a> </span> : * This method receive a MongoCursor and make
2157 <span class=
"lineNum" id=
"container651"><a name=
"651"></a><a href=
"#651" id=
"line651"> 651</a> </span> : * it iterable.
2158 <span class=
"lineNum" id=
"container652"><a name=
"652"></a><a href=
"#652" id=
"line652"> 652</a> </span> : *
2159 <span class=
"lineNum" id=
"container653"><a name=
"653"></a><a href=
"#653" id=
"line653"> 653</a> </span> : * @param MongoCursor $obj
2160 <span class=
"lineNum" id=
"container654"><a name=
"654"></a><a href=
"#654" id=
"line654"> 654</a> </span> : *
2161 <span class=
"lineNum" id=
"container655"><a name=
"655"></a><a href=
"#655" id=
"line655"> 655</a> </span> : * @return void
2162 <span class=
"lineNum" id=
"container656"><a name=
"656"></a><a href=
"#656" id=
"line656"> 656</a> </span> : */
2163 <span class=
"lineNum" id=
"container657"><a name=
"657"></a><a href=
"#657" id=
"line657"> 657</a> </span> : final protected function setCursor(MongoCursor $obj)
2164 <span class=
"lineNum" id=
"container658"><a name=
"658"></a><a href=
"#658" id=
"line658"> 658</a> </span> : {
2165 <span class=
"lineNum" id=
"container659"><a name=
"659"></a><a href=
"#659" id=
"line659"> 659</a> </span><span class=
"lineCov"> 28 : $this-
>_cursor = $obj;
</span>
2166 <span class=
"lineNum" id=
"container660"><a name=
"660"></a><a href=
"#660" id=
"line660"> 660</a> </span><span class=
"lineCov"> 28 : $obj-
>reset();
</span>
2167 <span class=
"lineNum" id=
"container661"><a name=
"661"></a><a href=
"#661" id=
"line661"> 661</a> </span><span class=
"lineCov"> 28 : $this-
>setResult($obj-
>getNext());
</span>
2168 <span class=
"lineNum" id=
"container662"><a name=
"662"></a><a href=
"#662" id=
"line662"> 662</a> </span><span class=
"lineCov"> 28 : }
</span>
2169 <span class=
"lineNum" id=
"container663"><a name=
"663"></a><a href=
"#663" id=
"line663"> 663</a> </span> : // }}}
2170 <span class=
"lineNum" id=
"container664"><a name=
"664"></a><a href=
"#664" id=
"line664"> 664</a> </span> :
2171 <span class=
"lineNum" id=
"container665"><a name=
"665"></a><a href=
"#665" id=
"line665"> 665</a> </span> : // void setResult(Array $obj) {{{
2172 <span class=
"lineNum" id=
"container666"><a name=
"666"></a><a href=
"#666" id=
"line666"> 666</a> </span> : /**
2173 <span class=
"lineNum" id=
"container667"><a name=
"667"></a><a href=
"#667" id=
"line667"> 667</a> </span> : * Set Result
2174 <span class=
"lineNum" id=
"container668"><a name=
"668"></a><a href=
"#668" id=
"line668"> 668</a> </span> : *
2175 <span class=
"lineNum" id=
"container669"><a name=
"669"></a><a href=
"#669" id=
"line669"> 669</a> </span> : * This method takes an document and copy it
2176 <span class=
"lineNum" id=
"container670"><a name=
"670"></a><a href=
"#670" id=
"line670"> 670</a> </span> : * as properties in this object.
2177 <span class=
"lineNum" id=
"container671"><a name=
"671"></a><a href=
"#671" id=
"line671"> 671</a> </span> : *
2178 <span class=
"lineNum" id=
"container672"><a name=
"672"></a><a href=
"#672" id=
"line672"> 672</a> </span> : * @param Array $obj
2179 <span class=
"lineNum" id=
"container673"><a name=
"673"></a><a href=
"#673" id=
"line673"> 673</a> </span> : *
2180 <span class=
"lineNum" id=
"container674"><a name=
"674"></a><a href=
"#674" id=
"line674"> 674</a> </span> : * @return void
2181 <span class=
"lineNum" id=
"container675"><a name=
"675"></a><a href=
"#675" id=
"line675"> 675</a> </span> : */
2182 <span class=
"lineNum" id=
"container676"><a name=
"676"></a><a href=
"#676" id=
"line676"> 676</a> </span> : final protected function setResult($obj)
2183 <span class=
"lineNum" id=
"container677"><a name=
"677"></a><a href=
"#677" id=
"line677"> 677</a> </span> : {
2184 <span class=
"lineNum" id=
"container678"><a name=
"678"></a><a href=
"#678" id=
"line678"> 678</a> </span> : /* Unsetting previous results, if any */
2185 <span class=
"lineNum" id=
"container679"><a name=
"679"></a><a href=
"#679" id=
"line679"> 679</a> </span><span class=
"lineCov"> 35 : foreach (array_keys(get_document_vars($this, FALSE)) as $key) {
</span>
2186 <span class=
"lineNum" id=
"container680"><a name=
"680"></a><a href=
"#680" id=
"line680"> 680</a> </span><span class=
"lineCov"> 34 : unset($this-
>$key);
</span>
2187 <span class=
"lineNum" id=
"container681"><a name=
"681"></a><a href=
"#681" id=
"line681"> 681</a> </span><span class=
"lineCov"> 35 : }
</span>
2188 <span class=
"lineNum" id=
"container682"><a name=
"682"></a><a href=
"#682" id=
"line682"> 682</a> </span><span class=
"lineCov"> 35 : $this-
>_id = NULL;
</span>
2189 <span class=
"lineNum" id=
"container683"><a name=
"683"></a><a href=
"#683" id=
"line683"> 683</a> </span> :
2190 <span class=
"lineNum" id=
"container684"><a name=
"684"></a><a href=
"#684" id=
"line684"> 684</a> </span> : /* Add our current resultset as our object's property */
2191 <span class=
"lineNum" id=
"container685"><a name=
"685"></a><a href=
"#685" id=
"line685"> 685</a> </span><span class=
"lineCov"> 35 : foreach ((array)$obj as $key =
> $value) {
</span>
2192 <span class=
"lineNum" id=
"container686"><a name=
"686"></a><a href=
"#686" id=
"line686"> 686</a> </span><span class=
"lineCov"> 32 : if ($key[
0] == '$') {
</span>
2193 <span class=
"lineNum" id=
"container687"><a name=
"687"></a><a href=
"#687" id=
"line687"> 687</a> </span><span class=
"lineNoCov"> 0 : continue;
</span>
2194 <span class=
"lineNum" id=
"container688"><a name=
"688"></a><a href=
"#688" id=
"line688"> 688</a> </span><span class=
"lineDeadCode"> : }
</span>
2195 <span class=
"lineNum" id=
"container689"><a name=
"689"></a><a href=
"#689" id=
"line689"> 689</a> </span><span class=
"lineCov"> 32 : $this-
>$key = $value;
</span>
2196 <span class=
"lineNum" id=
"container690"><a name=
"690"></a><a href=
"#690" id=
"line690"> 690</a> </span><span class=
"lineCov"> 35 : }
</span>
2197 <span class=
"lineNum" id=
"container691"><a name=
"691"></a><a href=
"#691" id=
"line691"> 691</a> </span> :
2198 <span class=
"lineNum" id=
"container692"><a name=
"692"></a><a href=
"#692" id=
"line692"> 692</a> </span> : /* Save our record */
2199 <span class=
"lineNum" id=
"container693"><a name=
"693"></a><a href=
"#693" id=
"line693"> 693</a> </span><span class=
"lineCov"> 35 : $this-
>_current = $obj;
</span>
2200 <span class=
"lineNum" id=
"container694"><a name=
"694"></a><a href=
"#694" id=
"line694"> 694</a> </span><span class=
"lineCov"> 35 : }
</span>
2201 <span class=
"lineNum" id=
"container695"><a name=
"695"></a><a href=
"#695" id=
"line695"> 695</a> </span> : // }}}
2202 <span class=
"lineNum" id=
"container696"><a name=
"696"></a><a href=
"#696" id=
"line696"> 696</a> </span> :
2203 <span class=
"lineNum" id=
"container697"><a name=
"697"></a><a href=
"#697" id=
"line697"> 697</a> </span> : // this find([$_id]) {{{
2204 <span class=
"lineNum" id=
"container698"><a name=
"698"></a><a href=
"#698" id=
"line698"> 698</a> </span> : /**
2205 <span class=
"lineNum" id=
"container699"><a name=
"699"></a><a href=
"#699" id=
"line699"> 699</a> </span> : * Simple find.
2206 <span class=
"lineNum" id=
"container700"><a name=
"700"></a><a href=
"#700" id=
"line700"> 700</a> </span> : *
2207 <span class=
"lineNum" id=
"container701"><a name=
"701"></a><a href=
"#701" id=
"line701"> 701</a> </span> : * Really simple find, which uses this object properties
2208 <span class=
"lineNum" id=
"container702"><a name=
"702"></a><a href=
"#702" id=
"line702"> 702</a> </span> : * for fast filtering
2209 <span class=
"lineNum" id=
"container703"><a name=
"703"></a><a href=
"#703" id=
"line703"> 703</a> </span> : *
2210 <span class=
"lineNum" id=
"container704"><a name=
"704"></a><a href=
"#704" id=
"line704"> 704</a> </span> : * @return object this
2211 <span class=
"lineNum" id=
"container705"><a name=
"705"></a><a href=
"#705" id=
"line705"> 705</a> </span> : */
2212 <span class=
"lineNum" id=
"container706"><a name=
"706"></a><a href=
"#706" id=
"line706"> 706</a> </span> : final function find($_id = NULL)
2213 <span class=
"lineNum" id=
"container707"><a name=
"707"></a><a href=
"#707" id=
"line707"> 707</a> </span> : {
2214 <span class=
"lineNum" id=
"container708"><a name=
"708"></a><a href=
"#708" id=
"line708"> 708</a> </span><span class=
"lineCov"> 3 : $vars = get_document_vars($this);
</span>
2215 <span class=
"lineNum" id=
"container709"><a name=
"709"></a><a href=
"#709" id=
"line709"> 709</a> </span><span class=
"lineCov"> 3 : $parent_class = __CLASS__;
</span>
2216 <span class=
"lineNum" id=
"container710"><a name=
"710"></a><a href=
"#710" id=
"line710"> 710</a> </span><span class=
"lineCov"> 3 : foreach ($vars as $key =
> $value) {
</span>
2217 <span class=
"lineNum" id=
"container711"><a name=
"711"></a><a href=
"#711" id=
"line711"> 711</a> </span><span class=
"lineCov"> 3 : if (!$value) {
</span>
2218 <span class=
"lineNum" id=
"container712"><a name=
"712"></a><a href=
"#712" id=
"line712"> 712</a> </span><span class=
"lineCov"> 3 : unset($vars[$key]);
</span>
2219 <span class=
"lineNum" id=
"container713"><a name=
"713"></a><a href=
"#713" id=
"line713"> 713</a> </span><span class=
"lineCov"> 3 : }
</span>
2220 <span class=
"lineNum" id=
"container714"><a name=
"714"></a><a href=
"#714" id=
"line714"> 714</a> </span><span class=
"lineCov"> 3 : if ($value InstanceOf $parent_class) {
</span>
2221 <span class=
"lineNum" id=
"container715"><a name=
"715"></a><a href=
"#715" id=
"line715"> 715</a> </span><span class=
"lineCov"> 1 : $this-
>getColumnDeference($vars, $key, $value);
</span>
2222 <span class=
"lineNum" id=
"container716"><a name=
"716"></a><a href=
"#716" id=
"line716"> 716</a> </span><span class=
"lineCov"> 1 : unset($vars[$key]); /* delete old value */
</span>
2223 <span class=
"lineNum" id=
"container717"><a name=
"717"></a><a href=
"#717" id=
"line717"> 717</a> </span><span class=
"lineCov"> 1 : }
</span>
2224 <span class=
"lineNum" id=
"container718"><a name=
"718"></a><a href=
"#718" id=
"line718"> 718</a> </span><span class=
"lineCov"> 3 : }
</span>
2225 <span class=
"lineNum" id=
"container719"><a name=
"719"></a><a href=
"#719" id=
"line719"> 719</a> </span><span class=
"lineCov"> 3 : if ($_id != NULL) {
</span>
2226 <span class=
"lineNum" id=
"container720"><a name=
"720"></a><a href=
"#720" id=
"line720"> 720</a> </span><span class=
"lineCov"> 3 : if (is_array($_id)) {
</span>
2227 <span class=
"lineNum" id=
"container721"><a name=
"721"></a><a href=
"#721" id=
"line721"> 721</a> </span><span class=
"lineCov"> 2 : $vars['_id'] = array('$in' =
> $_id);
</span>
2228 <span class=
"lineNum" id=
"container722"><a name=
"722"></a><a href=
"#722" id=
"line722"> 722</a> </span><span class=
"lineCov"> 2 : } else {
</span>
2229 <span class=
"lineNum" id=
"container723"><a name=
"723"></a><a href=
"#723" id=
"line723"> 723</a> </span><span class=
"lineCov"> 1 : $vars['_id'] = $_id;
</span>
2230 <span class=
"lineNum" id=
"container724"><a name=
"724"></a><a href=
"#724" id=
"line724"> 724</a> </span> : }
2231 <span class=
"lineNum" id=
"container725"><a name=
"725"></a><a href=
"#725" id=
"line725"> 725</a> </span><span class=
"lineCov"> 3 : }
</span>
2232 <span class=
"lineNum" id=
"container726"><a name=
"726"></a><a href=
"#726" id=
"line726"> 726</a> </span><span class=
"lineCov"> 3 : $res = $this-
>_getCollection()-
>find($vars);
</span>
2233 <span class=
"lineNum" id=
"container727"><a name=
"727"></a><a href=
"#727" id=
"line727"> 727</a> </span><span class=
"lineCov"> 3 : $this-
>setCursor($res);
</span>
2234 <span class=
"lineNum" id=
"container728"><a name=
"728"></a><a href=
"#728" id=
"line728"> 728</a> </span><span class=
"lineCov"> 3 : return $this;
</span>
2235 <span class=
"lineNum" id=
"container729"><a name=
"729"></a><a href=
"#729" id=
"line729"> 729</a> </span><span class=
"lineDeadCode"> : }
</span>
2236 <span class=
"lineNum" id=
"container730"><a name=
"730"></a><a href=
"#730" id=
"line730"> 730</a> </span> : // }}}
2237 <span class=
"lineNum" id=
"container731"><a name=
"731"></a><a href=
"#731" id=
"line731"> 731</a> </span> :
2238 <span class=
"lineNum" id=
"container732"><a name=
"732"></a><a href=
"#732" id=
"line732"> 732</a> </span> : // void save(bool $async) {{{
2239 <span class=
"lineNum" id=
"container733"><a name=
"733"></a><a href=
"#733" id=
"line733"> 733</a> </span> : /**
2240 <span class=
"lineNum" id=
"container734"><a name=
"734"></a><a href=
"#734" id=
"line734"> 734</a> </span> : * Save
2241 <span class=
"lineNum" id=
"container735"><a name=
"735"></a><a href=
"#735" id=
"line735"> 735</a> </span> : *
2242 <span class=
"lineNum" id=
"container736"><a name=
"736"></a><a href=
"#736" id=
"line736"> 736</a> </span> : * This method save the current document in MongoDB. If
2243 <span class=
"lineNum" id=
"container737"><a name=
"737"></a><a href=
"#737" id=
"line737"> 737</a> </span> : * we're modifying a document, a update is performed, otherwise
2244 <span class=
"lineNum" id=
"container738"><a name=
"738"></a><a href=
"#738" id=
"line738"> 738</a> </span> : * the document is inserted.
2245 <span class=
"lineNum" id=
"container739"><a name=
"739"></a><a href=
"#739" id=
"line739"> 739</a> </span> : *
2246 <span class=
"lineNum" id=
"container740"><a name=
"740"></a><a href=
"#740" id=
"line740"> 740</a> </span> : * On updates, special operations such as $set, $pushAll, $pullAll
2247 <span class=
"lineNum" id=
"container741"><a name=
"741"></a><a href=
"#741" id=
"line741"> 741</a> </span> : * and $unset in order to perform efficient updates
2248 <span class=
"lineNum" id=
"container742"><a name=
"742"></a><a href=
"#742" id=
"line742"> 742</a> </span> : *
2249 <span class=
"lineNum" id=
"container743"><a name=
"743"></a><a href=
"#743" id=
"line743"> 743</a> </span> : * @param bool $async
2250 <span class=
"lineNum" id=
"container744"><a name=
"744"></a><a href=
"#744" id=
"line744"> 744</a> </span> : *
2251 <span class=
"lineNum" id=
"container745"><a name=
"745"></a><a href=
"#745" id=
"line745"> 745</a> </span> : * @return void
2252 <span class=
"lineNum" id=
"container746"><a name=
"746"></a><a href=
"#746" id=
"line746"> 746</a> </span> : */
2253 <span class=
"lineNum" id=
"container747"><a name=
"747"></a><a href=
"#747" id=
"line747"> 747</a> </span> : final function save($async=TRUE)
2254 <span class=
"lineNum" id=
"container748"><a name=
"748"></a><a href=
"#748" id=
"line748"> 748</a> </span> : {
2255 <span class=
"lineNum" id=
"container749"><a name=
"749"></a><a href=
"#749" id=
"line749"> 749</a> </span><span class=
"lineCov"> 20 : $update = isset($this-
>_id)
&& $this-
>_id InstanceOf MongoID;
</span>
2256 <span class=
"lineNum" id=
"container750"><a name=
"750"></a><a href=
"#750" id=
"line750"> 750</a> </span><span class=
"lineCov"> 20 : $conn = $this-
>_getCollection();
</span>
2257 <span class=
"lineNum" id=
"container751"><a name=
"751"></a><a href=
"#751" id=
"line751"> 751</a> </span><span class=
"lineCov"> 20 : $document = $this-
>getCurrentDocument($update);
</span>
2258 <span class=
"lineNum" id=
"container752"><a name=
"752"></a><a href=
"#752" id=
"line752"> 752</a> </span><span class=
"lineCov"> 19 : $object = $this-
>getDocumentVars();
</span>
2259 <span class=
"lineNum" id=
"container753"><a name=
"753"></a><a href=
"#753" id=
"line753"> 753</a> </span> :
2260 <span class=
"lineNum" id=
"container754"><a name=
"754"></a><a href=
"#754" id=
"line754"> 754</a> </span><span class=
"lineCov"> 19 : if (isset($this-
>_id)) {
</span>
2261 <span class=
"lineNum" id=
"container755"><a name=
"755"></a><a href=
"#755" id=
"line755"> 755</a> </span><span class=
"lineCov"> 8 : $object['_id'] = $this-
>_id;
</span>
2262 <span class=
"lineNum" id=
"container756"><a name=
"756"></a><a href=
"#756" id=
"line756"> 756</a> </span><span class=
"lineCov"> 8 : }
</span>
2263 <span class=
"lineNum" id=
"container757"><a name=
"757"></a><a href=
"#757" id=
"line757"> 757</a> </span> :
2264 <span class=
"lineNum" id=
"container758"><a name=
"758"></a><a href=
"#758" id=
"line758"> 758</a> </span><span class=
"lineCov"> 19 : if (count($document) ==
0) {
</span>
2265 <span class=
"lineNum" id=
"container759"><a name=
"759"></a><a href=
"#759" id=
"line759"> 759</a> </span><span class=
"lineCov"> 1 : return; /*nothing to do */
</span>
2266 <span class=
"lineNum" id=
"container760"><a name=
"760"></a><a href=
"#760" id=
"line760"> 760</a> </span><span class=
"lineDeadCode"> : }
</span>
2267 <span class=
"lineNum" id=
"container761"><a name=
"761"></a><a href=
"#761" id=
"line761"> 761</a> </span> :
2268 <span class=
"lineNum" id=
"container762"><a name=
"762"></a><a href=
"#762" id=
"line762"> 762</a> </span> : /* PRE-save hook */
2269 <span class=
"lineNum" id=
"container763"><a name=
"763"></a><a href=
"#763" id=
"line763"> 763</a> </span><span class=
"lineCov"> 19 : $this-
>triggerEvent('before_'.($update ? 'update' : 'create'), array(
&$document, $object));
</span>
2270 <span class=
"lineNum" id=
"container764"><a name=
"764"></a><a href=
"#764" id=
"line764"> 764</a> </span> :
2271 <span class=
"lineNum" id=
"container765"><a name=
"765"></a><a href=
"#765" id=
"line765"> 765</a> </span><span class=
"lineCov"> 19 : if ($update) {
</span>
2272 <span class=
"lineNum" id=
"container766"><a name=
"766"></a><a href=
"#766" id=
"line766"> 766</a> </span><span class=
"lineCov"> 8 : $conn-
>update(array('_id' =
> $this-
>_id), $document, array('safe' =
> $async));
</span>
2273 <span class=
"lineNum" id=
"container767"><a name=
"767"></a><a href=
"#767" id=
"line767"> 767</a> </span><span class=
"lineCov"> 8 : if (isset($document['$set'])) {
</span>
2274 <span class=
"lineNum" id=
"container768"><a name=
"768"></a><a href=
"#768" id=
"line768"> 768</a> </span><span class=
"lineCov"> 7 : foreach ($document['$set'] as $key =
> $value) {
</span>
2275 <span class=
"lineNum" id=
"container769"><a name=
"769"></a><a href=
"#769" id=
"line769"> 769</a> </span><span class=
"lineCov"> 7 : if (strpos($key,
".
") === FALSE) {
</span>
2276 <span class=
"lineNum" id=
"container770"><a name=
"770"></a><a href=
"#770" id=
"line770"> 770</a> </span><span class=
"lineCov"> 7 : $this-
>_current[$key] = $value;
</span>
2277 <span class=
"lineNum" id=
"container771"><a name=
"771"></a><a href=
"#771" id=
"line771"> 771</a> </span><span class=
"lineCov"> 7 : $this-
>$key = $value;
</span>
2278 <span class=
"lineNum" id=
"container772"><a name=
"772"></a><a href=
"#772" id=
"line772"> 772</a> </span><span class=
"lineCov"> 7 : } else {
</span>
2279 <span class=
"lineNum" id=
"container773"><a name=
"773"></a><a href=
"#773" id=
"line773"> 773</a> </span><span class=
"lineCov"> 2 : $keys = explode(
".
", $key);
</span>
2280 <span class=
"lineNum" id=
"container774"><a name=
"774"></a><a href=
"#774" id=
"line774"> 774</a> </span><span class=
"lineCov"> 2 : $key = $keys[
0];
</span>
2281 <span class=
"lineNum" id=
"container775"><a name=
"775"></a><a href=
"#775" id=
"line775"> 775</a> </span><span class=
"lineCov"> 2 : $arr =
& $this-
>$key;
</span>
2282 <span class=
"lineNum" id=
"container776"><a name=
"776"></a><a href=
"#776" id=
"line776"> 776</a> </span><span class=
"lineCov"> 2 : $arrc =
& $this-
>_current[$key];
</span>
2283 <span class=
"lineNum" id=
"container777"><a name=
"777"></a><a href=
"#777" id=
"line777"> 777</a> </span><span class=
"lineCov"> 2 : for ($i=
1; $i
< count($keys)-
1; $i++) {
</span>
2284 <span class=
"lineNum" id=
"container778"><a name=
"778"></a><a href=
"#778" id=
"line778"> 778</a> </span><span class=
"lineCov"> 1 : $arr =
&$arr[$keys[$i]];
</span>
2285 <span class=
"lineNum" id=
"container779"><a name=
"779"></a><a href=
"#779" id=
"line779"> 779</a> </span><span class=
"lineCov"> 1 : $arrc =
&$arrc[$keys[$i]];
</span>
2286 <span class=
"lineNum" id=
"container780"><a name=
"780"></a><a href=
"#780" id=
"line780"> 780</a> </span><span class=
"lineCov"> 1 : }
</span>
2287 <span class=
"lineNum" id=
"container781"><a name=
"781"></a><a href=
"#781" id=
"line781"> 781</a> </span><span class=
"lineCov"> 2 : $arr [ $keys[$i] ] = $value;
</span>
2288 <span class=
"lineNum" id=
"container782"><a name=
"782"></a><a href=
"#782" id=
"line782"> 782</a> </span><span class=
"lineCov"> 2 : $arrc[ $keys[$i] ] = $value;
</span>
2289 <span class=
"lineNum" id=
"container783"><a name=
"783"></a><a href=
"#783" id=
"line783"> 783</a> </span> : }
2290 <span class=
"lineNum" id=
"container784"><a name=
"784"></a><a href=
"#784" id=
"line784"> 784</a> </span><span class=
"lineCov"> 7 : }
</span>
2291 <span class=
"lineNum" id=
"container785"><a name=
"785"></a><a href=
"#785" id=
"line785"> 785</a> </span><span class=
"lineCov"> 7 : }
</span>
2292 <span class=
"lineNum" id=
"container786"><a name=
"786"></a><a href=
"#786" id=
"line786"> 786</a> </span><span class=
"lineCov"> 8 : if (isset($document['$unset'])) {
</span>
2293 <span class=
"lineNum" id=
"container787"><a name=
"787"></a><a href=
"#787" id=
"line787"> 787</a> </span><span class=
"lineCov"> 2 : foreach ($document['$unset'] as $key =
> $value) {
</span>
2294 <span class=
"lineNum" id=
"container788"><a name=
"788"></a><a href=
"#788" id=
"line788"> 788</a> </span><span class=
"lineCov"> 2 : if (strpos($key,
".
") === FALSE) {
</span>
2295 <span class=
"lineNum" id=
"container789"><a name=
"789"></a><a href=
"#789" id=
"line789"> 789</a> </span><span class=
"lineCov"> 1 : unset($this-
>_current[$key]);
</span>
2296 <span class=
"lineNum" id=
"container790"><a name=
"790"></a><a href=
"#790" id=
"line790"> 790</a> </span><span class=
"lineCov"> 1 : unset($this-
>$key);
</span>
2297 <span class=
"lineNum" id=
"container791"><a name=
"791"></a><a href=
"#791" id=
"line791"> 791</a> </span><span class=
"lineCov"> 1 : } else {
</span>
2298 <span class=
"lineNum" id=
"container792"><a name=
"792"></a><a href=
"#792" id=
"line792"> 792</a> </span><span class=
"lineCov"> 2 : $keys = explode(
".
", $key);
</span>
2299 <span class=
"lineNum" id=
"container793"><a name=
"793"></a><a href=
"#793" id=
"line793"> 793</a> </span><span class=
"lineCov"> 2 : $key = $keys[
0];
</span>
2300 <span class=
"lineNum" id=
"container794"><a name=
"794"></a><a href=
"#794" id=
"line794"> 794</a> </span><span class=
"lineCov"> 2 : $arr =
& $this-
>$key;
</span>
2301 <span class=
"lineNum" id=
"container795"><a name=
"795"></a><a href=
"#795" id=
"line795"> 795</a> </span><span class=
"lineCov"> 2 : $arrc =
& $this-
>_current[$key];
</span>
2302 <span class=
"lineNum" id=
"container796"><a name=
"796"></a><a href=
"#796" id=
"line796"> 796</a> </span><span class=
"lineCov"> 2 : for ($i=
1; $i
< count($keys)-
1; $i++) {
</span>
2303 <span class=
"lineNum" id=
"container797"><a name=
"797"></a><a href=
"#797" id=
"line797"> 797</a> </span><span class=
"lineCov"> 1 : $arr =
&$arr[$keys[$i]];
</span>
2304 <span class=
"lineNum" id=
"container798"><a name=
"798"></a><a href=
"#798" id=
"line798"> 798</a> </span><span class=
"lineCov"> 1 : $arrc =
&$arrc[$keys[$i]];
</span>
2305 <span class=
"lineNum" id=
"container799"><a name=
"799"></a><a href=
"#799" id=
"line799"> 799</a> </span><span class=
"lineCov"> 1 : }
</span>
2306 <span class=
"lineNum" id=
"container800"><a name=
"800"></a><a href=
"#800" id=
"line800"> 800</a> </span><span class=
"lineCov"> 2 : unset($arr [ $keys[$i] ]);
</span>
2307 <span class=
"lineNum" id=
"container801"><a name=
"801"></a><a href=
"#801" id=
"line801"> 801</a> </span><span class=
"lineCov"> 2 : unset($arrc[ $keys[$i] ]);
</span>
2308 <span class=
"lineNum" id=
"container802"><a name=
"802"></a><a href=
"#802" id=
"line802"> 802</a> </span> : }
2309 <span class=
"lineNum" id=
"container803"><a name=
"803"></a><a href=
"#803" id=
"line803"> 803</a> </span><span class=
"lineCov"> 2 : }
</span>
2310 <span class=
"lineNum" id=
"container804"><a name=
"804"></a><a href=
"#804" id=
"line804"> 804</a> </span><span class=
"lineCov"> 2 : }
</span>
2311 <span class=
"lineNum" id=
"container805"><a name=
"805"></a><a href=
"#805" id=
"line805"> 805</a> </span><span class=
"lineCov"> 8 : } else {
</span>
2312 <span class=
"lineNum" id=
"container806"><a name=
"806"></a><a href=
"#806" id=
"line806"> 806</a> </span><span class=
"lineCov"> 18 : $conn-
>insert($document, $async);
</span>
2313 <span class=
"lineNum" id=
"container807"><a name=
"807"></a><a href=
"#807" id=
"line807"> 807</a> </span><span class=
"lineCov"> 18 : $this-
>setResult($document);
</span>
2314 <span class=
"lineNum" id=
"container808"><a name=
"808"></a><a href=
"#808" id=
"line808"> 808</a> </span> : }
2315 <span class=
"lineNum" id=
"container809"><a name=
"809"></a><a href=
"#809" id=
"line809"> 809</a> </span> :
2316 <span class=
"lineNum" id=
"container810"><a name=
"810"></a><a href=
"#810" id=
"line810"> 810</a> </span><span class=
"lineCov"> 19 : $this-
>triggerEvent('after_'.($update ? 'update' : 'create'), array($document, $object));
</span>
2317 <span class=
"lineNum" id=
"container811"><a name=
"811"></a><a href=
"#811" id=
"line811"> 811</a> </span> :
2318 <span class=
"lineNum" id=
"container812"><a name=
"812"></a><a href=
"#812" id=
"line812"> 812</a> </span><span class=
"lineCov"> 19 : return TRUE;
</span>
2319 <span class=
"lineNum" id=
"container813"><a name=
"813"></a><a href=
"#813" id=
"line813"> 813</a> </span><span class=
"lineDeadCode"> : }
</span>
2320 <span class=
"lineNum" id=
"container814"><a name=
"814"></a><a href=
"#814" id=
"line814"> 814</a> </span> : // }}}
2321 <span class=
"lineNum" id=
"container815"><a name=
"815"></a><a href=
"#815" id=
"line815"> 815</a> </span> :
2322 <span class=
"lineNum" id=
"container816"><a name=
"816"></a><a href=
"#816" id=
"line816"> 816</a> </span> : // bool delete() {{{
2323 <span class=
"lineNum" id=
"container817"><a name=
"817"></a><a href=
"#817" id=
"line817"> 817</a> </span> : /**
2324 <span class=
"lineNum" id=
"container818"><a name=
"818"></a><a href=
"#818" id=
"line818"> 818</a> </span> : * Delete the current document
2325 <span class=
"lineNum" id=
"container819"><a name=
"819"></a><a href=
"#819" id=
"line819"> 819</a> </span> : *
2326 <span class=
"lineNum" id=
"container820"><a name=
"820"></a><a href=
"#820" id=
"line820"> 820</a> </span> : * @return bool
2327 <span class=
"lineNum" id=
"container821"><a name=
"821"></a><a href=
"#821" id=
"line821"> 821</a> </span> : */
2328 <span class=
"lineNum" id=
"container822"><a name=
"822"></a><a href=
"#822" id=
"line822"> 822</a> </span> : final function delete()
2329 <span class=
"lineNum" id=
"container823"><a name=
"823"></a><a href=
"#823" id=
"line823"> 823</a> </span> : {
2330 <span class=
"lineNum" id=
"container824"><a name=
"824"></a><a href=
"#824" id=
"line824"> 824</a> </span> :
2331 <span class=
"lineNum" id=
"container825"><a name=
"825"></a><a href=
"#825" id=
"line825"> 825</a> </span><span class=
"lineCov"> 4 : $document = array('_id' =
> $this-
>_id);
</span>
2332 <span class=
"lineNum" id=
"container826"><a name=
"826"></a><a href=
"#826" id=
"line826"> 826</a> </span><span class=
"lineCov"> 4 : if ($this-
>_cursor InstanceOf MongoCursor) {
</span>
2333 <span class=
"lineNum" id=
"container827"><a name=
"827"></a><a href=
"#827" id=
"line827"> 827</a> </span><span class=
"lineCov"> 1 : $this-
>triggerEvent('before_delete', array($document));
</span>
2334 <span class=
"lineNum" id=
"container828"><a name=
"828"></a><a href=
"#828" id=
"line828"> 828</a> </span><span class=
"lineCov"> 1 : $result = $this-
>_getCollection()-
>remove($document);
</span>
2335 <span class=
"lineNum" id=
"container829"><a name=
"829"></a><a href=
"#829" id=
"line829"> 829</a> </span><span class=
"lineCov"> 1 : $this-
>triggerEvent('after_delete', array($document));
</span>
2336 <span class=
"lineNum" id=
"container830"><a name=
"830"></a><a href=
"#830" id=
"line830"> 830</a> </span><span class=
"lineCov"> 1 : $this-
>setResult(array());
</span>
2337 <span class=
"lineNum" id=
"container831"><a name=
"831"></a><a href=
"#831" id=
"line831"> 831</a> </span><span class=
"lineCov"> 1 : return $result;
</span>
2338 <span class=
"lineNum" id=
"container832"><a name=
"832"></a><a href=
"#832" id=
"line832"> 832</a> </span><span class=
"lineDeadCode"> : } else {
</span>
2339 <span class=
"lineNum" id=
"container833"><a name=
"833"></a><a href=
"#833" id=
"line833"> 833</a> </span><span class=
"lineCov"> 4 : $criteria = (array) $this-
>_query;
</span>
2340 <span class=
"lineNum" id=
"container834"><a name=
"834"></a><a href=
"#834" id=
"line834"> 834</a> </span> :
2341 <span class=
"lineNum" id=
"container835"><a name=
"835"></a><a href=
"#835" id=
"line835"> 835</a> </span> : /* remove */
2342 <span class=
"lineNum" id=
"container836"><a name=
"836"></a><a href=
"#836" id=
"line836"> 836</a> </span><span class=
"lineCov"> 4 : $this-
>triggerEvent('before_delete', array($document));
</span>
2343 <span class=
"lineNum" id=
"container837"><a name=
"837"></a><a href=
"#837" id=
"line837"> 837</a> </span><span class=
"lineCov"> 4 : $this-
>_getCollection()-
>remove($criteria);
</span>
2344 <span class=
"lineNum" id=
"container838"><a name=
"838"></a><a href=
"#838" id=
"line838"> 838</a> </span><span class=
"lineCov"> 4 : $this-
>triggerEvent('after_delete', array($document));
</span>
2345 <span class=
"lineNum" id=
"container839"><a name=
"839"></a><a href=
"#839" id=
"line839"> 839</a> </span> :
2346 <span class=
"lineNum" id=
"container840"><a name=
"840"></a><a href=
"#840" id=
"line840"> 840</a> </span> : /* reset object */
2347 <span class=
"lineNum" id=
"container841"><a name=
"841"></a><a href=
"#841" id=
"line841"> 841</a> </span><span class=
"lineCov"> 4 : $this-
>reset();
</span>
2348 <span class=
"lineNum" id=
"container842"><a name=
"842"></a><a href=
"#842" id=
"line842"> 842</a> </span> :
2349 <span class=
"lineNum" id=
"container843"><a name=
"843"></a><a href=
"#843" id=
"line843"> 843</a> </span><span class=
"lineCov"> 4 : return TRUE;
</span>
2350 <span class=
"lineNum" id=
"container844"><a name=
"844"></a><a href=
"#844" id=
"line844"> 844</a> </span> : }
2351 <span class=
"lineNum" id=
"container845"><a name=
"845"></a><a href=
"#845" id=
"line845"> 845</a> </span><span class=
"lineDeadCode"> : return FALSE;
</span>
2352 <span class=
"lineNum" id=
"container846"><a name=
"846"></a><a href=
"#846" id=
"line846"> 846</a> </span><span class=
"lineDeadCode"> : }
</span>
2353 <span class=
"lineNum" id=
"container847"><a name=
"847"></a><a href=
"#847" id=
"line847"> 847</a> </span> : // }}}
2354 <span class=
"lineNum" id=
"container848"><a name=
"848"></a><a href=
"#848" id=
"line848"> 848</a> </span> :
2355 <span class=
"lineNum" id=
"container849"><a name=
"849"></a><a href=
"#849" id=
"line849"> 849</a> </span> : // Update {{{
2356 <span class=
"lineNum" id=
"container850"><a name=
"850"></a><a href=
"#850" id=
"line850"> 850</a> </span> : /**
2357 <span class=
"lineNum" id=
"container851"><a name=
"851"></a><a href=
"#851" id=
"line851"> 851</a> </span> : * Multiple updates.
2358 <span class=
"lineNum" id=
"container852"><a name=
"852"></a><a href=
"#852" id=
"line852"> 852</a> </span> : *
2359 <span class=
"lineNum" id=
"container853"><a name=
"853"></a><a href=
"#853" id=
"line853"> 853</a> </span> : * This method perform multiple updates when a given
2360 <span class=
"lineNum" id=
"container854"><a name=
"854"></a><a href=
"#854" id=
"line854"> 854</a> </span> : * criteria matchs (using where).
2361 <span class=
"lineNum" id=
"container855"><a name=
"855"></a><a href=
"#855" id=
"line855"> 855</a> </span> : *
2362 <span class=
"lineNum" id=
"container856"><a name=
"856"></a><a href=
"#856" id=
"line856"> 856</a> </span> : * By default the update is perform safely, but it can be
2363 <span class=
"lineNum" id=
"container857"><a name=
"857"></a><a href=
"#857" id=
"line857"> 857</a> </span> : * changed.
2364 <span class=
"lineNum" id=
"container858"><a name=
"858"></a><a href=
"#858" id=
"line858"> 858</a> </span> : *
2365 <span class=
"lineNum" id=
"container859"><a name=
"859"></a><a href=
"#859" id=
"line859"> 859</a> </span> : * After the operation is done, the criteria is deleted.
2366 <span class=
"lineNum" id=
"container860"><a name=
"860"></a><a href=
"#860" id=
"line860"> 860</a> </span> : *
2367 <span class=
"lineNum" id=
"container861"><a name=
"861"></a><a href=
"#861" id=
"line861"> 861</a> </span> : * @param array $value Values to set
2368 <span class=
"lineNum" id=
"container862"><a name=
"862"></a><a href=
"#862" id=
"line862"> 862</a> </span> : * @param bool $safe Whether or not peform the operation safely
2369 <span class=
"lineNum" id=
"container863"><a name=
"863"></a><a href=
"#863" id=
"line863"> 863</a> </span> : *
2370 <span class=
"lineNum" id=
"container864"><a name=
"864"></a><a href=
"#864" id=
"line864"> 864</a> </span> : * @return bool
2371 <span class=
"lineNum" id=
"container865"><a name=
"865"></a><a href=
"#865" id=
"line865"> 865</a> </span> : *
2372 <span class=
"lineNum" id=
"container866"><a name=
"866"></a><a href=
"#866" id=
"line866"> 866</a> </span> : */
2373 <span class=
"lineNum" id=
"container867"><a name=
"867"></a><a href=
"#867" id=
"line867"> 867</a> </span> : function update(Array $value, $safe=TRUE)
2374 <span class=
"lineNum" id=
"container868"><a name=
"868"></a><a href=
"#868" id=
"line868"> 868</a> </span> : {
2375 <span class=
"lineNum" id=
"container869"><a name=
"869"></a><a href=
"#869" id=
"line869"> 869</a> </span><span class=
"lineCov"> 3 : $this-
>_assertNotInQuery();
</span>
2376 <span class=
"lineNum" id=
"container870"><a name=
"870"></a><a href=
"#870" id=
"line870"> 870</a> </span> :
2377 <span class=
"lineNum" id=
"container871"><a name=
"871"></a><a href=
"#871" id=
"line871"> 871</a> </span><span class=
"lineCov"> 3 : $criteria = (array) $this-
>_query;
</span>
2378 <span class=
"lineNum" id=
"container872"><a name=
"872"></a><a href=
"#872" id=
"line872"> 872</a> </span><span class=
"lineCov"> 3 : $options = array('multiple' =
> TRUE, 'safe' =
> $safe);
</span>
2379 <span class=
"lineNum" id=
"container873"><a name=
"873"></a><a href=
"#873" id=
"line873"> 873</a> </span> :
2380 <span class=
"lineNum" id=
"container874"><a name=
"874"></a><a href=
"#874" id=
"line874"> 874</a> </span> : /* update */
2381 <span class=
"lineNum" id=
"container875"><a name=
"875"></a><a href=
"#875" id=
"line875"> 875</a> </span><span class=
"lineCov"> 3 : $col = $this-
>_getCollection();
</span>
2382 <span class=
"lineNum" id=
"container876"><a name=
"876"></a><a href=
"#876" id=
"line876"> 876</a> </span><span class=
"lineCov"> 3 : $col-
>update($criteria, array('$set' =
> $value), $options);
</span>
2383 <span class=
"lineNum" id=
"container877"><a name=
"877"></a><a href=
"#877" id=
"line877"> 877</a> </span> :
2384 <span class=
"lineNum" id=
"container878"><a name=
"878"></a><a href=
"#878" id=
"line878"> 878</a> </span> : /* reset object */
2385 <span class=
"lineNum" id=
"container879"><a name=
"879"></a><a href=
"#879" id=
"line879"> 879</a> </span><span class=
"lineCov"> 3 : $this-
>reset();
</span>
2386 <span class=
"lineNum" id=
"container880"><a name=
"880"></a><a href=
"#880" id=
"line880"> 880</a> </span> :
2387 <span class=
"lineNum" id=
"container881"><a name=
"881"></a><a href=
"#881" id=
"line881"> 881</a> </span><span class=
"lineCov"> 3 : return TRUE;
</span>
2388 <span class=
"lineNum" id=
"container882"><a name=
"882"></a><a href=
"#882" id=
"line882"> 882</a> </span><span class=
"lineDeadCode"> : }
</span>
2389 <span class=
"lineNum" id=
"container883"><a name=
"883"></a><a href=
"#883" id=
"line883"> 883</a> </span> : // }}}
2390 <span class=
"lineNum" id=
"container884"><a name=
"884"></a><a href=
"#884" id=
"line884"> 884</a> </span> :
2391 <span class=
"lineNum" id=
"container885"><a name=
"885"></a><a href=
"#885" id=
"line885"> 885</a> </span> : // void drop() {{{
2392 <span class=
"lineNum" id=
"container886"><a name=
"886"></a><a href=
"#886" id=
"line886"> 886</a> </span> : /**
2393 <span class=
"lineNum" id=
"container887"><a name=
"887"></a><a href=
"#887" id=
"line887"> 887</a> </span> : * Delete the current colleciton and all its documents
2394 <span class=
"lineNum" id=
"container888"><a name=
"888"></a><a href=
"#888" id=
"line888"> 888</a> </span> : *
2395 <span class=
"lineNum" id=
"container889"><a name=
"889"></a><a href=
"#889" id=
"line889"> 889</a> </span> : * @return void
2396 <span class=
"lineNum" id=
"container890"><a name=
"890"></a><a href=
"#890" id=
"line890"> 890</a> </span> : */
2397 <span class=
"lineNum" id=
"container891"><a name=
"891"></a><a href=
"#891" id=
"line891"> 891</a> </span> : final static function drop()
2398 <span class=
"lineNum" id=
"container892"><a name=
"892"></a><a href=
"#892" id=
"line892"> 892</a> </span> : {
2399 <span class=
"lineNum" id=
"container893"><a name=
"893"></a><a href=
"#893" id=
"line893"> 893</a> </span><span class=
"lineCov"> 5 : $class = get_called_class();
</span>
2400 <span class=
"lineNum" id=
"container894"><a name=
"894"></a><a href=
"#894" id=
"line894"> 894</a> </span><span class=
"lineCov"> 5 : if ($class == __CLASS__) {
</span>
2401 <span class=
"lineNum" id=
"container895"><a name=
"895"></a><a href=
"#895" id=
"line895"> 895</a> </span><span class=
"lineCov"> 1 : return FALSE;
</span>
2402 <span class=
"lineNum" id=
"container896"><a name=
"896"></a><a href=
"#896" id=
"line896"> 896</a> </span><span class=
"lineDeadCode"> : }
</span>
2403 <span class=
"lineNum" id=
"container897"><a name=
"897"></a><a href=
"#897" id=
"line897"> 897</a> </span><span class=
"lineCov"> 5 : $obj = new $class;
</span>
2404 <span class=
"lineNum" id=
"container898"><a name=
"898"></a><a href=
"#898" id=
"line898"> 898</a> </span><span class=
"lineCov"> 5 : $obj-
>triggerEvent('before_drop');
</span>
2405 <span class=
"lineNum" id=
"container899"><a name=
"899"></a><a href=
"#899" id=
"line899"> 899</a> </span><span class=
"lineCov"> 5 : $result = $obj-
>_getCollection()-
>drop();
</span>
2406 <span class=
"lineNum" id=
"container900"><a name=
"900"></a><a href=
"#900" id=
"line900"> 900</a> </span><span class=
"lineCov"> 5 : $obj-
>triggerEvent('after_drop');
</span>
2407 <span class=
"lineNum" id=
"container901"><a name=
"901"></a><a href=
"#901" id=
"line901"> 901</a> </span><span class=
"lineCov"> 5 : if ($result['ok'] !=
1) {
</span>
2408 <span class=
"lineNum" id=
"container902"><a name=
"902"></a><a href=
"#902" id=
"line902"> 902</a> </span><span class=
"lineCov"> 3 : throw new ActiveMongo_Exception($result['errmsg']);
</span>
2409 <span class=
"lineNum" id=
"container903"><a name=
"903"></a><a href=
"#903" id=
"line903"> 903</a> </span><span class=
"lineDeadCode"> : }
</span>
2410 <span class=
"lineNum" id=
"container904"><a name=
"904"></a><a href=
"#904" id=
"line904"> 904</a> </span><span class=
"lineCov"> 4 : return TRUE;
</span>
2411 <span class=
"lineNum" id=
"container905"><a name=
"905"></a><a href=
"#905" id=
"line905"> 905</a> </span> :
2412 <span class=
"lineNum" id=
"container906"><a name=
"906"></a><a href=
"#906" id=
"line906"> 906</a> </span><span class=
"lineDeadCode"> : }
</span>
2413 <span class=
"lineNum" id=
"container907"><a name=
"907"></a><a href=
"#907" id=
"line907"> 907</a> </span> : // }}}
2414 <span class=
"lineNum" id=
"container908"><a name=
"908"></a><a href=
"#908" id=
"line908"> 908</a> </span> :
2415 <span class=
"lineNum" id=
"container909"><a name=
"909"></a><a href=
"#909" id=
"line909"> 909</a> </span> : // int count() {{{
2416 <span class=
"lineNum" id=
"container910"><a name=
"910"></a><a href=
"#910" id=
"line910"> 910</a> </span> : /**
2417 <span class=
"lineNum" id=
"container911"><a name=
"911"></a><a href=
"#911" id=
"line911"> 911</a> </span> : * Return the number of documents in the actual request. If
2418 <span class=
"lineNum" id=
"container912"><a name=
"912"></a><a href=
"#912" id=
"line912"> 912</a> </span> : * we're not in a request, it will return
0.
2419 <span class=
"lineNum" id=
"container913"><a name=
"913"></a><a href=
"#913" id=
"line913"> 913</a> </span> : *
2420 <span class=
"lineNum" id=
"container914"><a name=
"914"></a><a href=
"#914" id=
"line914"> 914</a> </span> : * @return int
2421 <span class=
"lineNum" id=
"container915"><a name=
"915"></a><a href=
"#915" id=
"line915"> 915</a> </span> : */
2422 <span class=
"lineNum" id=
"container916"><a name=
"916"></a><a href=
"#916" id=
"line916"> 916</a> </span> : final function count()
2423 <span class=
"lineNum" id=
"container917"><a name=
"917"></a><a href=
"#917" id=
"line917"> 917</a> </span> : {
2424 <span class=
"lineNum" id=
"container918"><a name=
"918"></a><a href=
"#918" id=
"line918"> 918</a> </span><span class=
"lineCov"> 9 : if ($this-
>valid()) {
</span>
2425 <span class=
"lineNum" id=
"container919"><a name=
"919"></a><a href=
"#919" id=
"line919"> 919</a> </span><span class=
"lineCov"> 9 : return $this-
>_cursor-
>count();
</span>
2426 <span class=
"lineNum" id=
"container920"><a name=
"920"></a><a href=
"#920" id=
"line920"> 920</a> </span><span class=
"lineDeadCode"> : }
</span>
2427 <span class=
"lineNum" id=
"container921"><a name=
"921"></a><a href=
"#921" id=
"line921"> 921</a> </span><span class=
"lineCov"> 1 : return
0;
</span>
2428 <span class=
"lineNum" id=
"container922"><a name=
"922"></a><a href=
"#922" id=
"line922"> 922</a> </span><span class=
"lineDeadCode"> : }
</span>
2429 <span class=
"lineNum" id=
"container923"><a name=
"923"></a><a href=
"#923" id=
"line923"> 923</a> </span> : // }}}
2430 <span class=
"lineNum" id=
"container924"><a name=
"924"></a><a href=
"#924" id=
"line924"> 924</a> </span> :
2431 <span class=
"lineNum" id=
"container925"><a name=
"925"></a><a href=
"#925" id=
"line925"> 925</a> </span> : // void setup() {{{
2432 <span class=
"lineNum" id=
"container926"><a name=
"926"></a><a href=
"#926" id=
"line926"> 926</a> </span> : /**
2433 <span class=
"lineNum" id=
"container927"><a name=
"927"></a><a href=
"#927" id=
"line927"> 927</a> </span> : * This method should contain all the indexes, and shard keys
2434 <span class=
"lineNum" id=
"container928"><a name=
"928"></a><a href=
"#928" id=
"line928"> 928</a> </span> : * needed by the current collection. This try to make
2435 <span class=
"lineNum" id=
"container929"><a name=
"929"></a><a href=
"#929" id=
"line929"> 929</a> </span> : * installation on development environments easier.
2436 <span class=
"lineNum" id=
"container930"><a name=
"930"></a><a href=
"#930" id=
"line930"> 930</a> </span> : */
2437 <span class=
"lineNum" id=
"container931"><a name=
"931"></a><a href=
"#931" id=
"line931"> 931</a> </span> : function setup()
2438 <span class=
"lineNum" id=
"container932"><a name=
"932"></a><a href=
"#932" id=
"line932"> 932</a> </span> : {
2439 <span class=
"lineNum" id=
"container933"><a name=
"933"></a><a href=
"#933" id=
"line933"> 933</a> </span><span class=
"lineCov"> 1 : }
</span>
2440 <span class=
"lineNum" id=
"container934"><a name=
"934"></a><a href=
"#934" id=
"line934"> 934</a> </span> : // }}}
2441 <span class=
"lineNum" id=
"container935"><a name=
"935"></a><a href=
"#935" id=
"line935"> 935</a> </span> :
2442 <span class=
"lineNum" id=
"container936"><a name=
"936"></a><a href=
"#936" id=
"line936"> 936</a> </span> : // batchInsert {{{
2443 <span class=
"lineNum" id=
"container937"><a name=
"937"></a><a href=
"#937" id=
"line937"> 937</a> </span> : /**
2444 <span class=
"lineNum" id=
"container938"><a name=
"938"></a><a href=
"#938" id=
"line938"> 938</a> </span> : * Perform a batchInsert of objects.
2445 <span class=
"lineNum" id=
"container939"><a name=
"939"></a><a href=
"#939" id=
"line939"> 939</a> </span> : *
2446 <span class=
"lineNum" id=
"container940"><a name=
"940"></a><a href=
"#940" id=
"line940"> 940</a> </span> : * @param array $documents Arrays of documents to insert
2447 <span class=
"lineNum" id=
"container941"><a name=
"941"></a><a href=
"#941" id=
"line941"> 941</a> </span> : * @param bool $safe True if a safe will be performed, this means data validation, and wait for MongoDB OK reply
2448 <span class=
"lineNum" id=
"container942"><a name=
"942"></a><a href=
"#942" id=
"line942"> 942</a> </span> : * @param bool $on_error_continue If an error happen while validating an object, if it should continue or not
2449 <span class=
"lineNum" id=
"container943"><a name=
"943"></a><a href=
"#943" id=
"line943"> 943</a> </span> : *
2450 <span class=
"lineNum" id=
"container944"><a name=
"944"></a><a href=
"#944" id=
"line944"> 944</a> </span> : * @return bool
2451 <span class=
"lineNum" id=
"container945"><a name=
"945"></a><a href=
"#945" id=
"line945"> 945</a> </span> : */
2452 <span class=
"lineNum" id=
"container946"><a name=
"946"></a><a href=
"#946" id=
"line946"> 946</a> </span> : final public static function batchInsert(Array $documents, $safe=TRUE, $on_error_continue=TRUE)
2453 <span class=
"lineNum" id=
"container947"><a name=
"947"></a><a href=
"#947" id=
"line947"> 947</a> </span> : {
2454 <span class=
"lineNum" id=
"container948"><a name=
"948"></a><a href=
"#948" id=
"line948"> 948</a> </span><span class=
"lineCov"> 3 : $context = get_called_class();
</span>
2455 <span class=
"lineNum" id=
"container949"><a name=
"949"></a><a href=
"#949" id=
"line949"> 949</a> </span> :
2456 <span class=
"lineNum" id=
"container950"><a name=
"950"></a><a href=
"#950" id=
"line950"> 950</a> </span><span class=
"lineCov"> 3 : if (__CLASS__ == $context) {
</span>
2457 <span class=
"lineNum" id=
"container951"><a name=
"951"></a><a href=
"#951" id=
"line951"> 951</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Invalid batchInsert usage
");
</span>
2458 <span class=
"lineNum" id=
"container952"><a name=
"952"></a><a href=
"#952" id=
"line952"> 952</a> </span><span class=
"lineDeadCode"> : }
</span>
2459 <span class=
"lineNum" id=
"container953"><a name=
"953"></a><a href=
"#953" id=
"line953"> 953</a> </span> :
2460 <span class=
"lineNum" id=
"container954"><a name=
"954"></a><a href=
"#954" id=
"line954"> 954</a> </span> :
2461 <span class=
"lineNum" id=
"container955"><a name=
"955"></a><a href=
"#955" id=
"line955"> 955</a> </span><span class=
"lineCov"> 3 : if ($safe) {
</span>
2462 <span class=
"lineNum" id=
"container956"><a name=
"956"></a><a href=
"#956" id=
"line956"> 956</a> </span><span class=
"lineCov"> 3 : foreach ($documents as $id =
> $doc) {
</span>
2463 <span class=
"lineNum" id=
"container957"><a name=
"957"></a><a href=
"#957" id=
"line957"> 957</a> </span><span class=
"lineCov"> 3 : $valid = FALSE;
</span>
2464 <span class=
"lineNum" id=
"container958"><a name=
"958"></a><a href=
"#958" id=
"line958"> 958</a> </span><span class=
"lineCov"> 3 : if (is_array($doc)) {
</span>
2465 <span class=
"lineNum" id=
"container959"><a name=
"959"></a><a href=
"#959" id=
"line959"> 959</a> </span> : try {
2466 <span class=
"lineNum" id=
"container960"><a name=
"960"></a><a href=
"#960" id=
"line960"> 960</a> </span><span class=
"lineCov"> 3 : self::triggerEvent('before_create', array(
&$doc), $context);
</span>
2467 <span class=
"lineNum" id=
"container961"><a name=
"961"></a><a href=
"#961" id=
"line961"> 961</a> </span><span class=
"lineCov"> 3 : self::triggerEvent('before_validate', array(
&$doc, $doc), $context);
</span>
2468 <span class=
"lineNum" id=
"container962"><a name=
"962"></a><a href=
"#962" id=
"line962"> 962</a> </span><span class=
"lineCov"> 3 : self::triggerEvent('before_validate_creation', array(
&$doc, $doc), $context);
</span>
2469 <span class=
"lineNum" id=
"container963"><a name=
"963"></a><a href=
"#963" id=
"line963"> 963</a> </span><span class=
"lineCov"> 2 : $documents[$id] = $doc;
</span>
2470 <span class=
"lineNum" id=
"container964"><a name=
"964"></a><a href=
"#964" id=
"line964"> 964</a> </span><span class=
"lineCov"> 2 : $valid = TRUE;
</span>
2471 <span class=
"lineNum" id=
"container965"><a name=
"965"></a><a href=
"#965" id=
"line965"> 965</a> </span><span class=
"lineCov"> 3 : } catch (Exception $e) {}
</span>
2472 <span class=
"lineNum" id=
"container966"><a name=
"966"></a><a href=
"#966" id=
"line966"> 966</a> </span><span class=
"lineCov"> 3 : }
</span>
2473 <span class=
"lineNum" id=
"container967"><a name=
"967"></a><a href=
"#967" id=
"line967"> 967</a> </span><span class=
"lineCov"> 3 : if (!$valid) {
</span>
2474 <span class=
"lineNum" id=
"container968"><a name=
"968"></a><a href=
"#968" id=
"line968"> 968</a> </span><span class=
"lineCov"> 2 : if (!$on_error_continue) {
</span>
2475 <span class=
"lineNum" id=
"container969"><a name=
"969"></a><a href=
"#969" id=
"line969"> 969</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_FilterException(
"Document $id is invalid
");
</span>
2476 <span class=
"lineNum" id=
"container970"><a name=
"970"></a><a href=
"#970" id=
"line970"> 970</a> </span><span class=
"lineDeadCode"> : }
</span>
2477 <span class=
"lineNum" id=
"container971"><a name=
"971"></a><a href=
"#971" id=
"line971"> 971</a> </span><span class=
"lineCov"> 2 : unset($documents[$id]);
</span>
2478 <span class=
"lineNum" id=
"container972"><a name=
"972"></a><a href=
"#972" id=
"line972"> 972</a> </span><span class=
"lineCov"> 2 : }
</span>
2479 <span class=
"lineNum" id=
"container973"><a name=
"973"></a><a href=
"#973" id=
"line973"> 973</a> </span><span class=
"lineCov"> 3 : }
</span>
2480 <span class=
"lineNum" id=
"container974"><a name=
"974"></a><a href=
"#974" id=
"line974"> 974</a> </span><span class=
"lineCov"> 3 : }
</span>
2481 <span class=
"lineNum" id=
"container975"><a name=
"975"></a><a href=
"#975" id=
"line975"> 975</a> </span> :
2482 <span class=
"lineNum" id=
"container976"><a name=
"976"></a><a href=
"#976" id=
"line976"> 976</a> </span><span class=
"lineCov"> 3 : return self::_getCollection()-
>batchInsert($documents, array(
"safe
" =
> $safe));
</span>
2483 <span class=
"lineNum" id=
"container977"><a name=
"977"></a><a href=
"#977" id=
"line977"> 977</a> </span><span class=
"lineDeadCode"> : }
</span>
2484 <span class=
"lineNum" id=
"container978"><a name=
"978"></a><a href=
"#978" id=
"line978"> 978</a> </span> : // }}}
2485 <span class=
"lineNum" id=
"container979"><a name=
"979"></a><a href=
"#979" id=
"line979"> 979</a> </span> :
2486 <span class=
"lineNum" id=
"container980"><a name=
"980"></a><a href=
"#980" id=
"line980"> 980</a> </span> : // bool addIndex(array $columns, array $options) {{{
2487 <span class=
"lineNum" id=
"container981"><a name=
"981"></a><a href=
"#981" id=
"line981"> 981</a> </span> : /**
2488 <span class=
"lineNum" id=
"container982"><a name=
"982"></a><a href=
"#982" id=
"line982"> 982</a> </span> : * addIndex
2489 <span class=
"lineNum" id=
"container983"><a name=
"983"></a><a href=
"#983" id=
"line983"> 983</a> </span> : *
2490 <span class=
"lineNum" id=
"container984"><a name=
"984"></a><a href=
"#984" id=
"line984"> 984</a> </span> : * Create an Index in the current collection.
2491 <span class=
"lineNum" id=
"container985"><a name=
"985"></a><a href=
"#985" id=
"line985"> 985</a> </span> : *
2492 <span class=
"lineNum" id=
"container986"><a name=
"986"></a><a href=
"#986" id=
"line986"> 986</a> </span> : * @param array $columns L ist of columns
2493 <span class=
"lineNum" id=
"container987"><a name=
"987"></a><a href=
"#987" id=
"line987"> 987</a> </span> : * @param array $options Options
2494 <span class=
"lineNum" id=
"container988"><a name=
"988"></a><a href=
"#988" id=
"line988"> 988</a> </span> : *
2495 <span class=
"lineNum" id=
"container989"><a name=
"989"></a><a href=
"#989" id=
"line989"> 989</a> </span> : * @return bool
2496 <span class=
"lineNum" id=
"container990"><a name=
"990"></a><a href=
"#990" id=
"line990"> 990</a> </span> : */
2497 <span class=
"lineNum" id=
"container991"><a name=
"991"></a><a href=
"#991" id=
"line991"> 991</a> </span> : final function addIndex($columns, $options=array())
2498 <span class=
"lineNum" id=
"container992"><a name=
"992"></a><a href=
"#992" id=
"line992"> 992</a> </span> : {
2499 <span class=
"lineNum" id=
"container993"><a name=
"993"></a><a href=
"#993" id=
"line993"> 993</a> </span> : $default_options = array(
2500 <span class=
"lineNum" id=
"container994"><a name=
"994"></a><a href=
"#994" id=
"line994"> 994</a> </span><span class=
"lineCov"> 1 : 'background' =
> 1,
</span>
2501 <span class=
"lineNum" id=
"container995"><a name=
"995"></a><a href=
"#995" id=
"line995"> 995</a> </span><span class=
"lineCov"> 1 : );
</span>
2502 <span class=
"lineNum" id=
"container996"><a name=
"996"></a><a href=
"#996" id=
"line996"> 996</a> </span> :
2503 <span class=
"lineNum" id=
"container997"><a name=
"997"></a><a href=
"#997" id=
"line997"> 997</a> </span><span class=
"lineCov"> 1 : if (!is_array($columns)) {
</span>
2504 <span class=
"lineNum" id=
"container998"><a name=
"998"></a><a href=
"#998" id=
"line998"> 998</a> </span><span class=
"lineCov"> 1 : $columns = array($columns =
> 1);
</span>
2505 <span class=
"lineNum" id=
"container999"><a name=
"999"></a><a href=
"#999" id=
"line999"> 999</a> </span><span class=
"lineCov"> 1 : }
</span>
2506 <span class=
"lineNum" id=
"container1000"><a name=
"1000"></a><a href=
"#1000" id=
"line1000"> 1000</a> </span> :
2507 <span class=
"lineNum" id=
"container1001"><a name=
"1001"></a><a href=
"#1001" id=
"line1001"> 1001</a> </span><span class=
"lineCov"> 1 : foreach ($columns as $id =
> $name) {
</span>
2508 <span class=
"lineNum" id=
"container1002"><a name=
"1002"></a><a href=
"#1002" id=
"line1002"> 1002</a> </span><span class=
"lineCov"> 1 : if (is_numeric($id)) {
</span>
2509 <span class=
"lineNum" id=
"container1003"><a name=
"1003"></a><a href=
"#1003" id=
"line1003"> 1003</a> </span><span class=
"lineCov"> 1 : unset($columns[$id]);
</span>
2510 <span class=
"lineNum" id=
"container1004"><a name=
"1004"></a><a href=
"#1004" id=
"line1004"> 1004</a> </span><span class=
"lineCov"> 1 : $columns[$name] =
1;
</span>
2511 <span class=
"lineNum" id=
"container1005"><a name=
"1005"></a><a href=
"#1005" id=
"line1005"> 1005</a> </span><span class=
"lineCov"> 1 : }
</span>
2512 <span class=
"lineNum" id=
"container1006"><a name=
"1006"></a><a href=
"#1006" id=
"line1006"> 1006</a> </span><span class=
"lineCov"> 1 : }
</span>
2513 <span class=
"lineNum" id=
"container1007"><a name=
"1007"></a><a href=
"#1007" id=
"line1007"> 1007</a> </span> :
2514 <span class=
"lineNum" id=
"container1008"><a name=
"1008"></a><a href=
"#1008" id=
"line1008"> 1008</a> </span><span class=
"lineCov"> 1 : foreach ($default_options as $option =
> $value) {
</span>
2515 <span class=
"lineNum" id=
"container1009"><a name=
"1009"></a><a href=
"#1009" id=
"line1009"> 1009</a> </span><span class=
"lineCov"> 1 : if (!isset($options[$option])) {
</span>
2516 <span class=
"lineNum" id=
"container1010"><a name=
"1010"></a><a href=
"#1010" id=
"line1010"> 1010</a> </span><span class=
"lineCov"> 1 : $options[$option] = $value;
</span>
2517 <span class=
"lineNum" id=
"container1011"><a name=
"1011"></a><a href=
"#1011" id=
"line1011"> 1011</a> </span><span class=
"lineCov"> 1 : }
</span>
2518 <span class=
"lineNum" id=
"container1012"><a name=
"1012"></a><a href=
"#1012" id=
"line1012"> 1012</a> </span><span class=
"lineCov"> 1 : }
</span>
2519 <span class=
"lineNum" id=
"container1013"><a name=
"1013"></a><a href=
"#1013" id=
"line1013"> 1013</a> </span> :
2520 <span class=
"lineNum" id=
"container1014"><a name=
"1014"></a><a href=
"#1014" id=
"line1014"> 1014</a> </span><span class=
"lineCov"> 1 : $collection = $this-
>_getCollection();
</span>
2521 <span class=
"lineNum" id=
"container1015"><a name=
"1015"></a><a href=
"#1015" id=
"line1015"> 1015</a> </span> :
2522 <span class=
"lineNum" id=
"container1016"><a name=
"1016"></a><a href=
"#1016" id=
"line1016"> 1016</a> </span><span class=
"lineCov"> 1 : return $collection-
>ensureIndex($columns, $options);
</span>
2523 <span class=
"lineNum" id=
"container1017"><a name=
"1017"></a><a href=
"#1017" id=
"line1017"> 1017</a> </span><span class=
"lineDeadCode"> : }
</span>
2524 <span class=
"lineNum" id=
"container1018"><a name=
"1018"></a><a href=
"#1018" id=
"line1018"> 1018</a> </span> : // }}}
2525 <span class=
"lineNum" id=
"container1019"><a name=
"1019"></a><a href=
"#1019" id=
"line1019"> 1019</a> </span> :
2526 <span class=
"lineNum" id=
"container1020"><a name=
"1020"></a><a href=
"#1020" id=
"line1020"> 1020</a> </span> : // Array getIndexes() {{{
2527 <span class=
"lineNum" id=
"container1021"><a name=
"1021"></a><a href=
"#1021" id=
"line1021"> 1021</a> </span> : /**
2528 <span class=
"lineNum" id=
"container1022"><a name=
"1022"></a><a href=
"#1022" id=
"line1022"> 1022</a> </span> : * Return an array with all indexes
2529 <span class=
"lineNum" id=
"container1023"><a name=
"1023"></a><a href=
"#1023" id=
"line1023"> 1023</a> </span> : *
2530 <span class=
"lineNum" id=
"container1024"><a name=
"1024"></a><a href=
"#1024" id=
"line1024"> 1024</a> </span> : * @return array
2531 <span class=
"lineNum" id=
"container1025"><a name=
"1025"></a><a href=
"#1025" id=
"line1025"> 1025</a> </span> : */
2532 <span class=
"lineNum" id=
"container1026"><a name=
"1026"></a><a href=
"#1026" id=
"line1026"> 1026</a> </span> : final static function getIndexes()
2533 <span class=
"lineNum" id=
"container1027"><a name=
"1027"></a><a href=
"#1027" id=
"line1027"> 1027</a> </span> : {
2534 <span class=
"lineNum" id=
"container1028"><a name=
"1028"></a><a href=
"#1028" id=
"line1028"> 1028</a> </span><span class=
"lineCov"> 1 : return self::_getCollection()-
>getIndexInfo();
</span>
2535 <span class=
"lineNum" id=
"container1029"><a name=
"1029"></a><a href=
"#1029" id=
"line1029"> 1029</a> </span><span class=
"lineDeadCode"> : }
</span>
2536 <span class=
"lineNum" id=
"container1030"><a name=
"1030"></a><a href=
"#1030" id=
"line1030"> 1030</a> </span> : // }}}
2537 <span class=
"lineNum" id=
"container1031"><a name=
"1031"></a><a href=
"#1031" id=
"line1031"> 1031</a> </span> :
2538 <span class=
"lineNum" id=
"container1032"><a name=
"1032"></a><a href=
"#1032" id=
"line1032"> 1032</a> </span> : // string __toString() {{{
2539 <span class=
"lineNum" id=
"container1033"><a name=
"1033"></a><a href=
"#1033" id=
"line1033"> 1033</a> </span> : /**
2540 <span class=
"lineNum" id=
"container1034"><a name=
"1034"></a><a href=
"#1034" id=
"line1034"> 1034</a> </span> : * To String
2541 <span class=
"lineNum" id=
"container1035"><a name=
"1035"></a><a href=
"#1035" id=
"line1035"> 1035</a> </span> : *
2542 <span class=
"lineNum" id=
"container1036"><a name=
"1036"></a><a href=
"#1036" id=
"line1036"> 1036</a> </span> : * If this object is treated as a string,
2543 <span class=
"lineNum" id=
"container1037"><a name=
"1037"></a><a href=
"#1037" id=
"line1037"> 1037</a> </span> : * it would return its ID.
2544 <span class=
"lineNum" id=
"container1038"><a name=
"1038"></a><a href=
"#1038" id=
"line1038"> 1038</a> </span> : *
2545 <span class=
"lineNum" id=
"container1039"><a name=
"1039"></a><a href=
"#1039" id=
"line1039"> 1039</a> </span> : * @return string
2546 <span class=
"lineNum" id=
"container1040"><a name=
"1040"></a><a href=
"#1040" id=
"line1040"> 1040</a> </span> : */
2547 <span class=
"lineNum" id=
"container1041"><a name=
"1041"></a><a href=
"#1041" id=
"line1041"> 1041</a> </span> : function __toString()
2548 <span class=
"lineNum" id=
"container1042"><a name=
"1042"></a><a href=
"#1042" id=
"line1042"> 1042</a> </span> : {
2549 <span class=
"lineNum" id=
"container1043"><a name=
"1043"></a><a href=
"#1043" id=
"line1043"> 1043</a> </span><span class=
"lineCov"> 1 : return (string)$this-
>getID();
</span>
2550 <span class=
"lineNum" id=
"container1044"><a name=
"1044"></a><a href=
"#1044" id=
"line1044"> 1044</a> </span><span class=
"lineDeadCode"> : }
</span>
2551 <span class=
"lineNum" id=
"container1045"><a name=
"1045"></a><a href=
"#1045" id=
"line1045"> 1045</a> </span> : // }}}
2552 <span class=
"lineNum" id=
"container1046"><a name=
"1046"></a><a href=
"#1046" id=
"line1046"> 1046</a> </span> :
2553 <span class=
"lineNum" id=
"container1047"><a name=
"1047"></a><a href=
"#1047" id=
"line1047"> 1047</a> </span> : // array sendCmd(array $cmd) {{{
2554 <span class=
"lineNum" id=
"container1048"><a name=
"1048"></a><a href=
"#1048" id=
"line1048"> 1048</a> </span> : /**
2555 <span class=
"lineNum" id=
"container1049"><a name=
"1049"></a><a href=
"#1049" id=
"line1049"> 1049</a> </span> : * This method sends a command to the current
2556 <span class=
"lineNum" id=
"container1050"><a name=
"1050"></a><a href=
"#1050" id=
"line1050"> 1050</a> </span> : * database.
2557 <span class=
"lineNum" id=
"container1051"><a name=
"1051"></a><a href=
"#1051" id=
"line1051"> 1051</a> </span> : *
2558 <span class=
"lineNum" id=
"container1052"><a name=
"1052"></a><a href=
"#1052" id=
"line1052"> 1052</a> </span> : * @param array $cmd Current command
2559 <span class=
"lineNum" id=
"container1053"><a name=
"1053"></a><a href=
"#1053" id=
"line1053"> 1053</a> </span> : *
2560 <span class=
"lineNum" id=
"container1054"><a name=
"1054"></a><a href=
"#1054" id=
"line1054"> 1054</a> </span> : * @return array
2561 <span class=
"lineNum" id=
"container1055"><a name=
"1055"></a><a href=
"#1055" id=
"line1055"> 1055</a> </span> : */
2562 <span class=
"lineNum" id=
"container1056"><a name=
"1056"></a><a href=
"#1056" id=
"line1056"> 1056</a> </span> : final protected function sendCmd($cmd)
2563 <span class=
"lineNum" id=
"container1057"><a name=
"1057"></a><a href=
"#1057" id=
"line1057"> 1057</a> </span> : {
2564 <span class=
"lineNum" id=
"container1058"><a name=
"1058"></a><a href=
"#1058" id=
"line1058"> 1058</a> </span><span class=
"lineCov"> 1 : return $this-
>_getConnection()-
>command($cmd);
</span>
2565 <span class=
"lineNum" id=
"container1059"><a name=
"1059"></a><a href=
"#1059" id=
"line1059"> 1059</a> </span><span class=
"lineDeadCode"> : }
</span>
2566 <span class=
"lineNum" id=
"container1060"><a name=
"1060"></a><a href=
"#1060" id=
"line1060"> 1060</a> </span> : // }}}
2567 <span class=
"lineNum" id=
"container1061"><a name=
"1061"></a><a href=
"#1061" id=
"line1061"> 1061</a> </span> :
2568 <span class=
"lineNum" id=
"container1062"><a name=
"1062"></a><a href=
"#1062" id=
"line1062"> 1062</a> </span> : // ITERATOR {{{
2569 <span class=
"lineNum" id=
"container1063"><a name=
"1063"></a><a href=
"#1063" id=
"line1063"> 1063</a> </span> :
2570 <span class=
"lineNum" id=
"container1064"><a name=
"1064"></a><a href=
"#1064" id=
"line1064"> 1064</a> </span> : // array getArray() {{{
2571 <span class=
"lineNum" id=
"container1065"><a name=
"1065"></a><a href=
"#1065" id=
"line1065"> 1065</a> </span> : /**
2572 <span class=
"lineNum" id=
"container1066"><a name=
"1066"></a><a href=
"#1066" id=
"line1066"> 1066</a> </span> : * Return the current document as an array
2573 <span class=
"lineNum" id=
"container1067"><a name=
"1067"></a><a href=
"#1067" id=
"line1067"> 1067</a> </span> : * instead of a ActiveMongo object
2574 <span class=
"lineNum" id=
"container1068"><a name=
"1068"></a><a href=
"#1068" id=
"line1068"> 1068</a> </span> : *
2575 <span class=
"lineNum" id=
"container1069"><a name=
"1069"></a><a href=
"#1069" id=
"line1069"> 1069</a> </span> : * @return Array
2576 <span class=
"lineNum" id=
"container1070"><a name=
"1070"></a><a href=
"#1070" id=
"line1070"> 1070</a> </span> : */
2577 <span class=
"lineNum" id=
"container1071"><a name=
"1071"></a><a href=
"#1071" id=
"line1071"> 1071</a> </span> : final function getArray()
2578 <span class=
"lineNum" id=
"container1072"><a name=
"1072"></a><a href=
"#1072" id=
"line1072"> 1072</a> </span> : {
2579 <span class=
"lineNum" id=
"container1073"><a name=
"1073"></a><a href=
"#1073" id=
"line1073"> 1073</a> </span><span class=
"lineCov"> 2 : return get_document_vars($this);
</span>
2580 <span class=
"lineNum" id=
"container1074"><a name=
"1074"></a><a href=
"#1074" id=
"line1074"> 1074</a> </span><span class=
"lineDeadCode"> : }
</span>
2581 <span class=
"lineNum" id=
"container1075"><a name=
"1075"></a><a href=
"#1075" id=
"line1075"> 1075</a> </span> : // }}}
2582 <span class=
"lineNum" id=
"container1076"><a name=
"1076"></a><a href=
"#1076" id=
"line1076"> 1076</a> </span> :
2583 <span class=
"lineNum" id=
"container1077"><a name=
"1077"></a><a href=
"#1077" id=
"line1077"> 1077</a> </span> : // void reset() {{{
2584 <span class=
"lineNum" id=
"container1078"><a name=
"1078"></a><a href=
"#1078" id=
"line1078"> 1078</a> </span> : /**
2585 <span class=
"lineNum" id=
"container1079"><a name=
"1079"></a><a href=
"#1079" id=
"line1079"> 1079</a> </span> : * Reset our Object, delete the current cursor if any, and reset
2586 <span class=
"lineNum" id=
"container1080"><a name=
"1080"></a><a href=
"#1080" id=
"line1080"> 1080</a> </span> : * unsets the values.
2587 <span class=
"lineNum" id=
"container1081"><a name=
"1081"></a><a href=
"#1081" id=
"line1081"> 1081</a> </span> : *
2588 <span class=
"lineNum" id=
"container1082"><a name=
"1082"></a><a href=
"#1082" id=
"line1082"> 1082</a> </span> : * @return void
2589 <span class=
"lineNum" id=
"container1083"><a name=
"1083"></a><a href=
"#1083" id=
"line1083"> 1083</a> </span> : */
2590 <span class=
"lineNum" id=
"container1084"><a name=
"1084"></a><a href=
"#1084" id=
"line1084"> 1084</a> </span> : final function reset()
2591 <span class=
"lineNum" id=
"container1085"><a name=
"1085"></a><a href=
"#1085" id=
"line1085"> 1085</a> </span> : {
2592 <span class=
"lineNum" id=
"container1086"><a name=
"1086"></a><a href=
"#1086" id=
"line1086"> 1086</a> </span><span class=
"lineCov"> 15 : if ($this-
>_cloned) {
</span>
2593 <span class=
"lineNum" id=
"container1087"><a name=
"1087"></a><a href=
"#1087" id=
"line1087"> 1087</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Cloned objects can't be reseted
");
</span>
2594 <span class=
"lineNum" id=
"container1088"><a name=
"1088"></a><a href=
"#1088" id=
"line1088"> 1088</a> </span><span class=
"lineDeadCode"> : }
</span>
2595 <span class=
"lineNum" id=
"container1089"><a name=
"1089"></a><a href=
"#1089" id=
"line1089"> 1089</a> </span><span class=
"lineCov"> 15 : $this-
>_properties = NULL;
</span>
2596 <span class=
"lineNum" id=
"container1090"><a name=
"1090"></a><a href=
"#1090" id=
"line1090"> 1090</a> </span><span class=
"lineCov"> 15 : $this-
>_cursor = NULL;
</span>
2597 <span class=
"lineNum" id=
"container1091"><a name=
"1091"></a><a href=
"#1091" id=
"line1091"> 1091</a> </span><span class=
"lineCov"> 15 : $this-
>_cursor_ex = NULL;
</span>
2598 <span class=
"lineNum" id=
"container1092"><a name=
"1092"></a><a href=
"#1092" id=
"line1092"> 1092</a> </span><span class=
"lineCov"> 15 : $this-
>_query = NULL;
</span>
2599 <span class=
"lineNum" id=
"container1093"><a name=
"1093"></a><a href=
"#1093" id=
"line1093"> 1093</a> </span><span class=
"lineCov"> 15 : $this-
>_sort = NULL;
</span>
2600 <span class=
"lineNum" id=
"container1094"><a name=
"1094"></a><a href=
"#1094" id=
"line1094"> 1094</a> </span><span class=
"lineCov"> 15 : $this-
>_limit =
0;
</span>
2601 <span class=
"lineNum" id=
"container1095"><a name=
"1095"></a><a href=
"#1095" id=
"line1095"> 1095</a> </span><span class=
"lineCov"> 15 : $this-
>_skip =
0;
</span>
2602 <span class=
"lineNum" id=
"container1096"><a name=
"1096"></a><a href=
"#1096" id=
"line1096"> 1096</a> </span><span class=
"lineCov"> 15 : $this-
>setResult(array());
</span>
2603 <span class=
"lineNum" id=
"container1097"><a name=
"1097"></a><a href=
"#1097" id=
"line1097"> 1097</a> </span><span class=
"lineCov"> 15 : }
</span>
2604 <span class=
"lineNum" id=
"container1098"><a name=
"1098"></a><a href=
"#1098" id=
"line1098"> 1098</a> </span> : // }}}
2605 <span class=
"lineNum" id=
"container1099"><a name=
"1099"></a><a href=
"#1099" id=
"line1099"> 1099</a> </span> :
2606 <span class=
"lineNum" id=
"container1100"><a name=
"1100"></a><a href=
"#1100" id=
"line1100"> 1100</a> </span> : // bool valid() {{{
2607 <span class=
"lineNum" id=
"container1101"><a name=
"1101"></a><a href=
"#1101" id=
"line1101"> 1101</a> </span> : /**
2608 <span class=
"lineNum" id=
"container1102"><a name=
"1102"></a><a href=
"#1102" id=
"line1102"> 1102</a> </span> : * Valid
2609 <span class=
"lineNum" id=
"container1103"><a name=
"1103"></a><a href=
"#1103" id=
"line1103"> 1103</a> </span> : *
2610 <span class=
"lineNum" id=
"container1104"><a name=
"1104"></a><a href=
"#1104" id=
"line1104"> 1104</a> </span> : * Return if we're on an iteration and if it is still valid
2611 <span class=
"lineNum" id=
"container1105"><a name=
"1105"></a><a href=
"#1105" id=
"line1105"> 1105</a> </span> : *
2612 <span class=
"lineNum" id=
"container1106"><a name=
"1106"></a><a href=
"#1106" id=
"line1106"> 1106</a> </span> : * @return TRUE
2613 <span class=
"lineNum" id=
"container1107"><a name=
"1107"></a><a href=
"#1107" id=
"line1107"> 1107</a> </span> : */
2614 <span class=
"lineNum" id=
"container1108"><a name=
"1108"></a><a href=
"#1108" id=
"line1108"> 1108</a> </span> : final function valid()
2615 <span class=
"lineNum" id=
"container1109"><a name=
"1109"></a><a href=
"#1109" id=
"line1109"> 1109</a> </span> : {
2616 <span class=
"lineNum" id=
"container1110"><a name=
"1110"></a><a href=
"#1110" id=
"line1110"> 1110</a> </span><span class=
"lineCov"> 18 : $valid = FALSE;
</span>
2617 <span class=
"lineNum" id=
"container1111"><a name=
"1111"></a><a href=
"#1111" id=
"line1111"> 1111</a> </span><span class=
"lineCov"> 18 : if (!$this-
>_cursor_ex) {
</span>
2618 <span class=
"lineNum" id=
"container1112"><a name=
"1112"></a><a href=
"#1112" id=
"line1112"> 1112</a> </span><span class=
"lineCov"> 17 : if (!$this-
>_cursor InstanceOf MongoCursor) {
</span>
2619 <span class=
"lineNum" id=
"container1113"><a name=
"1113"></a><a href=
"#1113" id=
"line1113"> 1113</a> </span><span class=
"lineCov"> 4 : $this-
>doQuery();
</span>
2620 <span class=
"lineNum" id=
"container1114"><a name=
"1114"></a><a href=
"#1114" id=
"line1114"> 1114</a> </span><span class=
"lineCov"> 4 : }
</span>
2621 <span class=
"lineNum" id=
"container1115"><a name=
"1115"></a><a href=
"#1115" id=
"line1115"> 1115</a> </span><span class=
"lineCov"> 17 : $valid = $this-
>_cursor InstanceOf MongoCursor
&& $this-
>_cursor-
>valid();
</span>
2622 <span class=
"lineNum" id=
"container1116"><a name=
"1116"></a><a href=
"#1116" id=
"line1116"> 1116</a> </span><span class=
"lineCov"> 17 : } else {
</span>
2623 <span class=
"lineNum" id=
"container1117"><a name=
"1117"></a><a href=
"#1117" id=
"line1117"> 1117</a> </span><span class=
"lineCov"> 1 : switch ($this-
>_cursor_ex) {
</span>
2624 <span class=
"lineNum" id=
"container1118"><a name=
"1118"></a><a href=
"#1118" id=
"line1118"> 1118</a> </span><span class=
"lineCov"> 1 : case self::FIND_AND_MODIFY:
</span>
2625 <span class=
"lineNum" id=
"container1119"><a name=
"1119"></a><a href=
"#1119" id=
"line1119"> 1119</a> </span><span class=
"lineCov"> 1 : if ($this-
>_limit
> $this-
>_findandmodify_cnt) {
</span>
2626 <span class=
"lineNum" id=
"container1120"><a name=
"1120"></a><a href=
"#1120" id=
"line1120"> 1120</a> </span><span class=
"lineCov"> 1 : $this-
>_execFindAndModify();
</span>
2627 <span class=
"lineNum" id=
"container1121"><a name=
"1121"></a><a href=
"#1121" id=
"line1121"> 1121</a> </span><span class=
"lineCov"> 1 : $valid = $this-
>_cursor_ex_value['ok'] ==
1;
</span>
2628 <span class=
"lineNum" id=
"container1122"><a name=
"1122"></a><a href=
"#1122" id=
"line1122"> 1122</a> </span><span class=
"lineCov"> 1 : }
</span>
2629 <span class=
"lineNum" id=
"container1123"><a name=
"1123"></a><a href=
"#1123" id=
"line1123"> 1123</a> </span><span class=
"lineCov"> 1 : break;
</span>
2630 <span class=
"lineNum" id=
"container1124"><a name=
"1124"></a><a href=
"#1124" id=
"line1124"> 1124</a> </span><span class=
"lineNoCov"> 0 : default:
</span>
2631 <span class=
"lineNum" id=
"container1125"><a name=
"1125"></a><a href=
"#1125" id=
"line1125"> 1125</a> </span><span class=
"lineNoCov"> 0 : throw new ActiveMongo_Exception(
"Invalid _cursor_ex value
");
</span>
2632 <span class=
"lineNum" id=
"container1126"><a name=
"1126"></a><a href=
"#1126" id=
"line1126"> 1126</a> </span><span class=
"lineCov"> 1 : }
</span>
2633 <span class=
"lineNum" id=
"container1127"><a name=
"1127"></a><a href=
"#1127" id=
"line1127"> 1127</a> </span> : }
2634 <span class=
"lineNum" id=
"container1128"><a name=
"1128"></a><a href=
"#1128" id=
"line1128"> 1128</a> </span> :
2635 <span class=
"lineNum" id=
"container1129"><a name=
"1129"></a><a href=
"#1129" id=
"line1129"> 1129</a> </span><span class=
"lineCov"> 18 : return $valid;
</span>
2636 <span class=
"lineNum" id=
"container1130"><a name=
"1130"></a><a href=
"#1130" id=
"line1130"> 1130</a> </span><span class=
"lineDeadCode"> : }
</span>
2637 <span class=
"lineNum" id=
"container1131"><a name=
"1131"></a><a href=
"#1131" id=
"line1131"> 1131</a> </span> : // }}}
2638 <span class=
"lineNum" id=
"container1132"><a name=
"1132"></a><a href=
"#1132" id=
"line1132"> 1132</a> </span> :
2639 <span class=
"lineNum" id=
"container1133"><a name=
"1133"></a><a href=
"#1133" id=
"line1133"> 1133</a> </span> : // bool next() {{{
2640 <span class=
"lineNum" id=
"container1134"><a name=
"1134"></a><a href=
"#1134" id=
"line1134"> 1134</a> </span> : /**
2641 <span class=
"lineNum" id=
"container1135"><a name=
"1135"></a><a href=
"#1135" id=
"line1135"> 1135</a> </span> : * Move to the next document
2642 <span class=
"lineNum" id=
"container1136"><a name=
"1136"></a><a href=
"#1136" id=
"line1136"> 1136</a> </span> : *
2643 <span class=
"lineNum" id=
"container1137"><a name=
"1137"></a><a href=
"#1137" id=
"line1137"> 1137</a> </span> : * @return bool
2644 <span class=
"lineNum" id=
"container1138"><a name=
"1138"></a><a href=
"#1138" id=
"line1138"> 1138</a> </span> : */
2645 <span class=
"lineNum" id=
"container1139"><a name=
"1139"></a><a href=
"#1139" id=
"line1139"> 1139</a> </span> : final function next()
2646 <span class=
"lineNum" id=
"container1140"><a name=
"1140"></a><a href=
"#1140" id=
"line1140"> 1140</a> </span> : {
2647 <span class=
"lineNum" id=
"container1141"><a name=
"1141"></a><a href=
"#1141" id=
"line1141"> 1141</a> </span><span class=
"lineCov"> 14 : if ($this-
>_cloned) {
</span>
2648 <span class=
"lineNum" id=
"container1142"><a name=
"1142"></a><a href=
"#1142" id=
"line1142"> 1142</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Cloned objects can't iterate
");
</span>
2649 <span class=
"lineNum" id=
"container1143"><a name=
"1143"></a><a href=
"#1143" id=
"line1143"> 1143</a> </span><span class=
"lineDeadCode"> : }
</span>
2650 <span class=
"lineNum" id=
"container1144"><a name=
"1144"></a><a href=
"#1144" id=
"line1144"> 1144</a> </span><span class=
"lineCov"> 14 : if (!$this-
>_cursor_ex) {
</span>
2651 <span class=
"lineNum" id=
"container1145"><a name=
"1145"></a><a href=
"#1145" id=
"line1145"> 1145</a> </span><span class=
"lineCov"> 13 : $result = $this-
>_cursor-
>next();
</span>
2652 <span class=
"lineNum" id=
"container1146"><a name=
"1146"></a><a href=
"#1146" id=
"line1146"> 1146</a> </span><span class=
"lineCov"> 13 : $this-
>current();
</span>
2653 <span class=
"lineNum" id=
"container1147"><a name=
"1147"></a><a href=
"#1147" id=
"line1147"> 1147</a> </span><span class=
"lineCov"> 13 : return $result;
</span>
2654 <span class=
"lineNum" id=
"container1148"><a name=
"1148"></a><a href=
"#1148" id=
"line1148"> 1148</a> </span><span class=
"lineDeadCode"> : } else {
</span>
2655 <span class=
"lineNum" id=
"container1149"><a name=
"1149"></a><a href=
"#1149" id=
"line1149"> 1149</a> </span><span class=
"lineCov"> 1 : switch ($this-
>_cursor_ex) {
</span>
2656 <span class=
"lineNum" id=
"container1150"><a name=
"1150"></a><a href=
"#1150" id=
"line1150"> 1150</a> </span><span class=
"lineCov"> 1 : case self::FIND_AND_MODIFY:
</span>
2657 <span class=
"lineNum" id=
"container1151"><a name=
"1151"></a><a href=
"#1151" id=
"line1151"> 1151</a> </span><span class=
"lineCov"> 1 : $this-
>_cursor_ex_value = NULL;
</span>
2658 <span class=
"lineNum" id=
"container1152"><a name=
"1152"></a><a href=
"#1152" id=
"line1152"> 1152</a> </span><span class=
"lineCov"> 1 : break;
</span>
2659 <span class=
"lineNum" id=
"container1153"><a name=
"1153"></a><a href=
"#1153" id=
"line1153"> 1153</a> </span><span class=
"lineNoCov"> 0 : default:
</span>
2660 <span class=
"lineNum" id=
"container1154"><a name=
"1154"></a><a href=
"#1154" id=
"line1154"> 1154</a> </span><span class=
"lineNoCov"> 0 : throw new ActiveMongo_Exception(
"Invalid _cursor_ex value
");
</span>
2661 <span class=
"lineNum" id=
"container1155"><a name=
"1155"></a><a href=
"#1155" id=
"line1155"> 1155</a> </span><span class=
"lineCov"> 1 : }
</span>
2662 <span class=
"lineNum" id=
"container1156"><a name=
"1156"></a><a href=
"#1156" id=
"line1156"> 1156</a> </span> : }
2663 <span class=
"lineNum" id=
"container1157"><a name=
"1157"></a><a href=
"#1157" id=
"line1157"> 1157</a> </span><span class=
"lineCov"> 1 : }
</span>
2664 <span class=
"lineNum" id=
"container1158"><a name=
"1158"></a><a href=
"#1158" id=
"line1158"> 1158</a> </span> : // }}}
2665 <span class=
"lineNum" id=
"container1159"><a name=
"1159"></a><a href=
"#1159" id=
"line1159"> 1159</a> </span> :
2666 <span class=
"lineNum" id=
"container1160"><a name=
"1160"></a><a href=
"#1160" id=
"line1160"> 1160</a> </span> : // this current() {{{
2667 <span class=
"lineNum" id=
"container1161"><a name=
"1161"></a><a href=
"#1161" id=
"line1161"> 1161</a> </span> : /**
2668 <span class=
"lineNum" id=
"container1162"><a name=
"1162"></a><a href=
"#1162" id=
"line1162"> 1162</a> </span> : * Return the current object, and load the current document
2669 <span class=
"lineNum" id=
"container1163"><a name=
"1163"></a><a href=
"#1163" id=
"line1163"> 1163</a> </span> : * as this object property
2670 <span class=
"lineNum" id=
"container1164"><a name=
"1164"></a><a href=
"#1164" id=
"line1164"> 1164</a> </span> : *
2671 <span class=
"lineNum" id=
"container1165"><a name=
"1165"></a><a href=
"#1165" id=
"line1165"> 1165</a> </span> : * @return object
2672 <span class=
"lineNum" id=
"container1166"><a name=
"1166"></a><a href=
"#1166" id=
"line1166"> 1166</a> </span> : */
2673 <span class=
"lineNum" id=
"container1167"><a name=
"1167"></a><a href=
"#1167" id=
"line1167"> 1167</a> </span> : final function current()
2674 <span class=
"lineNum" id=
"container1168"><a name=
"1168"></a><a href=
"#1168" id=
"line1168"> 1168</a> </span> : {
2675 <span class=
"lineNum" id=
"container1169"><a name=
"1169"></a><a href=
"#1169" id=
"line1169"> 1169</a> </span><span class=
"lineCov"> 14 : if (!$this-
>_cursor_ex) {
</span>
2676 <span class=
"lineNum" id=
"container1170"><a name=
"1170"></a><a href=
"#1170" id=
"line1170"> 1170</a> </span><span class=
"lineCov"> 13 : $this-
>setResult($this-
>_cursor-
>current());
</span>
2677 <span class=
"lineNum" id=
"container1171"><a name=
"1171"></a><a href=
"#1171" id=
"line1171"> 1171</a> </span><span class=
"lineCov"> 13 : } else {
</span>
2678 <span class=
"lineNum" id=
"container1172"><a name=
"1172"></a><a href=
"#1172" id=
"line1172"> 1172</a> </span><span class=
"lineCov"> 1 : switch ($this-
>_cursor_ex) {
</span>
2679 <span class=
"lineNum" id=
"container1173"><a name=
"1173"></a><a href=
"#1173" id=
"line1173"> 1173</a> </span><span class=
"lineCov"> 1 : case self::FIND_AND_MODIFY:
</span>
2680 <span class=
"lineNum" id=
"container1174"><a name=
"1174"></a><a href=
"#1174" id=
"line1174"> 1174</a> </span><span class=
"lineCov"> 1 : if (count($this-
>_cursor_ex_value) ==
0) {
</span>
2681 <span class=
"lineNum" id=
"container1175"><a name=
"1175"></a><a href=
"#1175" id=
"line1175"> 1175</a> </span><span class=
"lineNoCov"> 0 : $this-
>_execFindAndModify();
</span>
2682 <span class=
"lineNum" id=
"container1176"><a name=
"1176"></a><a href=
"#1176" id=
"line1176"> 1176</a> </span><span class=
"lineNoCov"> 0 : }
</span>
2683 <span class=
"lineNum" id=
"container1177"><a name=
"1177"></a><a href=
"#1177" id=
"line1177"> 1177</a> </span><span class=
"lineCov"> 1 : $this-
>setResult($this-
>_cursor_ex_value['value']);
</span>
2684 <span class=
"lineNum" id=
"container1178"><a name=
"1178"></a><a href=
"#1178" id=
"line1178"> 1178</a> </span><span class=
"lineCov"> 1 : break;
</span>
2685 <span class=
"lineNum" id=
"container1179"><a name=
"1179"></a><a href=
"#1179" id=
"line1179"> 1179</a> </span><span class=
"lineNoCov"> 0 : default:
</span>
2686 <span class=
"lineNum" id=
"container1180"><a name=
"1180"></a><a href=
"#1180" id=
"line1180"> 1180</a> </span><span class=
"lineNoCov"> 0 : throw new ActiveMongo_Exception(
"Invalid _cursor_ex value
");
</span>
2687 <span class=
"lineNum" id=
"container1181"><a name=
"1181"></a><a href=
"#1181" id=
"line1181"> 1181</a> </span><span class=
"lineCov"> 1 : }
</span>
2688 <span class=
"lineNum" id=
"container1182"><a name=
"1182"></a><a href=
"#1182" id=
"line1182"> 1182</a> </span> : }
2689 <span class=
"lineNum" id=
"container1183"><a name=
"1183"></a><a href=
"#1183" id=
"line1183"> 1183</a> </span><span class=
"lineCov"> 14 : return $this;
</span>
2690 <span class=
"lineNum" id=
"container1184"><a name=
"1184"></a><a href=
"#1184" id=
"line1184"> 1184</a> </span><span class=
"lineDeadCode"> : }
</span>
2691 <span class=
"lineNum" id=
"container1185"><a name=
"1185"></a><a href=
"#1185" id=
"line1185"> 1185</a> </span> : // }}}
2692 <span class=
"lineNum" id=
"container1186"><a name=
"1186"></a><a href=
"#1186" id=
"line1186"> 1186</a> </span> :
2693 <span class=
"lineNum" id=
"container1187"><a name=
"1187"></a><a href=
"#1187" id=
"line1187"> 1187</a> </span> : // bool rewind() {{{
2694 <span class=
"lineNum" id=
"container1188"><a name=
"1188"></a><a href=
"#1188" id=
"line1188"> 1188</a> </span> : /**
2695 <span class=
"lineNum" id=
"container1189"><a name=
"1189"></a><a href=
"#1189" id=
"line1189"> 1189</a> </span> : * Go to the first document
2696 <span class=
"lineNum" id=
"container1190"><a name=
"1190"></a><a href=
"#1190" id=
"line1190"> 1190</a> </span> : */
2697 <span class=
"lineNum" id=
"container1191"><a name=
"1191"></a><a href=
"#1191" id=
"line1191"> 1191</a> </span> : final function rewind()
2698 <span class=
"lineNum" id=
"container1192"><a name=
"1192"></a><a href=
"#1192" id=
"line1192"> 1192</a> </span> : {
2699 <span class=
"lineNum" id=
"container1193"><a name=
"1193"></a><a href=
"#1193" id=
"line1193"> 1193</a> </span><span class=
"lineCov"> 13 : if ($this-
>_cloned) {
</span>
2700 <span class=
"lineNum" id=
"container1194"><a name=
"1194"></a><a href=
"#1194" id=
"line1194"> 1194</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Cloned objects can't iterate
");
</span>
2701 <span class=
"lineNum" id=
"container1195"><a name=
"1195"></a><a href=
"#1195" id=
"line1195"> 1195</a> </span><span class=
"lineDeadCode"> : }
</span>
2702 <span class=
"lineNum" id=
"container1196"><a name=
"1196"></a><a href=
"#1196" id=
"line1196"> 1196</a> </span><span class=
"lineCov"> 13 : if (!$this-
>_cursor_ex) {
</span>
2703 <span class=
"lineNum" id=
"container1197"><a name=
"1197"></a><a href=
"#1197" id=
"line1197"> 1197</a> </span> : /* rely on MongoDB cursor */
2704 <span class=
"lineNum" id=
"container1198"><a name=
"1198"></a><a href=
"#1198" id=
"line1198"> 1198</a> </span><span class=
"lineCov"> 12 : if (!$this-
>_cursor InstanceOf MongoCursor) {
</span>
2705 <span class=
"lineNum" id=
"container1199"><a name=
"1199"></a><a href=
"#1199" id=
"line1199"> 1199</a> </span><span class=
"lineCov"> 7 : $this-
>doQuery();
</span>
2706 <span class=
"lineNum" id=
"container1200"><a name=
"1200"></a><a href=
"#1200" id=
"line1200"> 1200</a> </span><span class=
"lineCov"> 7 : }
</span>
2707 <span class=
"lineNum" id=
"container1201"><a name=
"1201"></a><a href=
"#1201" id=
"line1201"> 1201</a> </span><span class=
"lineCov"> 12 : $result = $this-
>_cursor-
>rewind();
</span>
2708 <span class=
"lineNum" id=
"container1202"><a name=
"1202"></a><a href=
"#1202" id=
"line1202"> 1202</a> </span><span class=
"lineCov"> 12 : $this-
>current();
</span>
2709 <span class=
"lineNum" id=
"container1203"><a name=
"1203"></a><a href=
"#1203" id=
"line1203"> 1203</a> </span><span class=
"lineCov"> 12 : return $result;
</span>
2710 <span class=
"lineNum" id=
"container1204"><a name=
"1204"></a><a href=
"#1204" id=
"line1204"> 1204</a> </span><span class=
"lineDeadCode"> : } else {
</span>
2711 <span class=
"lineNum" id=
"container1205"><a name=
"1205"></a><a href=
"#1205" id=
"line1205"> 1205</a> </span><span class=
"lineCov"> 1 : switch ($this-
>_cursor_ex) {
</span>
2712 <span class=
"lineNum" id=
"container1206"><a name=
"1206"></a><a href=
"#1206" id=
"line1206"> 1206</a> </span><span class=
"lineCov"> 1 : case self::FIND_AND_MODIFY:
</span>
2713 <span class=
"lineNum" id=
"container1207"><a name=
"1207"></a><a href=
"#1207" id=
"line1207"> 1207</a> </span><span class=
"lineCov"> 1 : $this-
>_findandmodify_cnt =
0;
</span>
2714 <span class=
"lineNum" id=
"container1208"><a name=
"1208"></a><a href=
"#1208" id=
"line1208"> 1208</a> </span><span class=
"lineCov"> 1 : break;
</span>
2715 <span class=
"lineNum" id=
"container1209"><a name=
"1209"></a><a href=
"#1209" id=
"line1209"> 1209</a> </span><span class=
"lineNoCov"> 0 : default:
</span>
2716 <span class=
"lineNum" id=
"container1210"><a name=
"1210"></a><a href=
"#1210" id=
"line1210"> 1210</a> </span><span class=
"lineNoCov"> 0 : throw new ActiveMongo_Exception(
"Invalid _cursor_ex value
");
</span>
2717 <span class=
"lineNum" id=
"container1211"><a name=
"1211"></a><a href=
"#1211" id=
"line1211"> 1211</a> </span><span class=
"lineCov"> 1 : }
</span>
2718 <span class=
"lineNum" id=
"container1212"><a name=
"1212"></a><a href=
"#1212" id=
"line1212"> 1212</a> </span> : }
2719 <span class=
"lineNum" id=
"container1213"><a name=
"1213"></a><a href=
"#1213" id=
"line1213"> 1213</a> </span><span class=
"lineCov"> 1 : }
</span>
2720 <span class=
"lineNum" id=
"container1214"><a name=
"1214"></a><a href=
"#1214" id=
"line1214"> 1214</a> </span> : // }}}
2721 <span class=
"lineNum" id=
"container1215"><a name=
"1215"></a><a href=
"#1215" id=
"line1215"> 1215</a> </span> :
2722 <span class=
"lineNum" id=
"container1216"><a name=
"1216"></a><a href=
"#1216" id=
"line1216"> 1216</a> </span> : // }}}
2723 <span class=
"lineNum" id=
"container1217"><a name=
"1217"></a><a href=
"#1217" id=
"line1217"> 1217</a> </span> :
2724 <span class=
"lineNum" id=
"container1218"><a name=
"1218"></a><a href=
"#1218" id=
"line1218"> 1218</a> </span> : // ARRAY ACCESS {{{
2725 <span class=
"lineNum" id=
"container1219"><a name=
"1219"></a><a href=
"#1219" id=
"line1219"> 1219</a> </span> : final function offsetExists($offset)
2726 <span class=
"lineNum" id=
"container1220"><a name=
"1220"></a><a href=
"#1220" id=
"line1220"> 1220</a> </span> : {
2727 <span class=
"lineNum" id=
"container1221"><a name=
"1221"></a><a href=
"#1221" id=
"line1221"> 1221</a> </span><span class=
"lineCov"> 4 : return isset($this-
>$offset);
</span>
2728 <span class=
"lineNum" id=
"container1222"><a name=
"1222"></a><a href=
"#1222" id=
"line1222"> 1222</a> </span><span class=
"lineDeadCode"> : }
</span>
2729 <span class=
"lineNum" id=
"container1223"><a name=
"1223"></a><a href=
"#1223" id=
"line1223"> 1223</a> </span> :
2730 <span class=
"lineNum" id=
"container1224"><a name=
"1224"></a><a href=
"#1224" id=
"line1224"> 1224</a> </span> : final function offsetGet($offset)
2731 <span class=
"lineNum" id=
"container1225"><a name=
"1225"></a><a href=
"#1225" id=
"line1225"> 1225</a> </span> : {
2732 <span class=
"lineNum" id=
"container1226"><a name=
"1226"></a><a href=
"#1226" id=
"line1226"> 1226</a> </span><span class=
"lineCov"> 5 : return $this-
>$offset;
</span>
2733 <span class=
"lineNum" id=
"container1227"><a name=
"1227"></a><a href=
"#1227" id=
"line1227"> 1227</a> </span><span class=
"lineDeadCode"> : }
</span>
2734 <span class=
"lineNum" id=
"container1228"><a name=
"1228"></a><a href=
"#1228" id=
"line1228"> 1228</a> </span> :
2735 <span class=
"lineNum" id=
"container1229"><a name=
"1229"></a><a href=
"#1229" id=
"line1229"> 1229</a> </span> : final function offsetSet($offset, $value)
2736 <span class=
"lineNum" id=
"container1230"><a name=
"1230"></a><a href=
"#1230" id=
"line1230"> 1230</a> </span> : {
2737 <span class=
"lineNum" id=
"container1231"><a name=
"1231"></a><a href=
"#1231" id=
"line1231"> 1231</a> </span><span class=
"lineCov"> 3 : $this-
>$offset = $value;
</span>
2738 <span class=
"lineNum" id=
"container1232"><a name=
"1232"></a><a href=
"#1232" id=
"line1232"> 1232</a> </span><span class=
"lineCov"> 3 : }
</span>
2739 <span class=
"lineNum" id=
"container1233"><a name=
"1233"></a><a href=
"#1233" id=
"line1233"> 1233</a> </span> :
2740 <span class=
"lineNum" id=
"container1234"><a name=
"1234"></a><a href=
"#1234" id=
"line1234"> 1234</a> </span> : final function offsetUnset($offset)
2741 <span class=
"lineNum" id=
"container1235"><a name=
"1235"></a><a href=
"#1235" id=
"line1235"> 1235</a> </span> : {
2742 <span class=
"lineNum" id=
"container1236"><a name=
"1236"></a><a href=
"#1236" id=
"line1236"> 1236</a> </span><span class=
"lineCov"> 1 : unset($this-
>$offset);
</span>
2743 <span class=
"lineNum" id=
"container1237"><a name=
"1237"></a><a href=
"#1237" id=
"line1237"> 1237</a> </span><span class=
"lineCov"> 1 : }
</span>
2744 <span class=
"lineNum" id=
"container1238"><a name=
"1238"></a><a href=
"#1238" id=
"line1238"> 1238</a> </span> : // }}}
2745 <span class=
"lineNum" id=
"container1239"><a name=
"1239"></a><a href=
"#1239" id=
"line1239"> 1239</a> </span> :
2746 <span class=
"lineNum" id=
"container1240"><a name=
"1240"></a><a href=
"#1240" id=
"line1240"> 1240</a> </span> : // REFERENCES {{{
2747 <span class=
"lineNum" id=
"container1241"><a name=
"1241"></a><a href=
"#1241" id=
"line1241"> 1241</a> </span> :
2748 <span class=
"lineNum" id=
"container1242"><a name=
"1242"></a><a href=
"#1242" id=
"line1242"> 1242</a> </span> : // array getReference() {{{
2749 <span class=
"lineNum" id=
"container1243"><a name=
"1243"></a><a href=
"#1243" id=
"line1243"> 1243</a> </span> : /**
2750 <span class=
"lineNum" id=
"container1244"><a name=
"1244"></a><a href=
"#1244" id=
"line1244"> 1244</a> </span> : * ActiveMongo extended the Mongo references, adding
2751 <span class=
"lineNum" id=
"container1245"><a name=
"1245"></a><a href=
"#1245" id=
"line1245"> 1245</a> </span> : * the concept of 'dynamic' requests, saving in the database
2752 <span class=
"lineNum" id=
"container1246"><a name=
"1246"></a><a href=
"#1246" id=
"line1246"> 1246</a> </span> : * the current query with its options (sort, limit, etc).
2753 <span class=
"lineNum" id=
"container1247"><a name=
"1247"></a><a href=
"#1247" id=
"line1247"> 1247</a> </span> : *
2754 <span class=
"lineNum" id=
"container1248"><a name=
"1248"></a><a href=
"#1248" id=
"line1248"> 1248</a> </span> : * This is useful to associate a document with a given
2755 <span class=
"lineNum" id=
"container1249"><a name=
"1249"></a><a href=
"#1249" id=
"line1249"> 1249</a> </span> : * request. To undestand this better please see the 'reference'
2756 <span class=
"lineNum" id=
"container1250"><a name=
"1250"></a><a href=
"#1250" id=
"line1250"> 1250</a> </span> : * example.
2757 <span class=
"lineNum" id=
"container1251"><a name=
"1251"></a><a href=
"#1251" id=
"line1251"> 1251</a> </span> : *
2758 <span class=
"lineNum" id=
"container1252"><a name=
"1252"></a><a href=
"#1252" id=
"line1252"> 1252</a> </span> : * @return array
2759 <span class=
"lineNum" id=
"container1253"><a name=
"1253"></a><a href=
"#1253" id=
"line1253"> 1253</a> </span> : */
2760 <span class=
"lineNum" id=
"container1254"><a name=
"1254"></a><a href=
"#1254" id=
"line1254"> 1254</a> </span> : final function getReference($dynamic=FALSE)
2761 <span class=
"lineNum" id=
"container1255"><a name=
"1255"></a><a href=
"#1255" id=
"line1255"> 1255</a> </span> : {
2762 <span class=
"lineNum" id=
"container1256"><a name=
"1256"></a><a href=
"#1256" id=
"line1256"> 1256</a> </span><span class=
"lineCov"> 6 : if (!$this-
>getID()
&& !$dynamic) {
</span>
2763 <span class=
"lineNum" id=
"container1257"><a name=
"1257"></a><a href=
"#1257" id=
"line1257"> 1257</a> </span><span class=
"lineCov"> 1 : return NULL;
</span>
2764 <span class=
"lineNum" id=
"container1258"><a name=
"1258"></a><a href=
"#1258" id=
"line1258"> 1258</a> </span><span class=
"lineDeadCode"> : }
</span>
2765 <span class=
"lineNum" id=
"container1259"><a name=
"1259"></a><a href=
"#1259" id=
"line1259"> 1259</a> </span> :
2766 <span class=
"lineNum" id=
"container1260"><a name=
"1260"></a><a href=
"#1260" id=
"line1260"> 1260</a> </span> : $document = array(
2767 <span class=
"lineNum" id=
"container1261"><a name=
"1261"></a><a href=
"#1261" id=
"line1261"> 1261</a> </span><span class=
"lineCov"> 5 : '$ref' =
> $this-
>CollectionName(),
</span>
2768 <span class=
"lineNum" id=
"container1262"><a name=
"1262"></a><a href=
"#1262" id=
"line1262"> 1262</a> </span><span class=
"lineCov"> 5 : '$id' =
> $this-
>getID(),
</span>
2769 <span class=
"lineNum" id=
"container1263"><a name=
"1263"></a><a href=
"#1263" id=
"line1263"> 1263</a> </span><span class=
"lineCov"> 5 : '$db' =
> $this-
>getDatabaseName(),
</span>
2770 <span class=
"lineNum" id=
"container1264"><a name=
"1264"></a><a href=
"#1264" id=
"line1264"> 1264</a> </span><span class=
"lineCov"> 5 : 'class' =
> get_class($this),
</span>
2771 <span class=
"lineNum" id=
"container1265"><a name=
"1265"></a><a href=
"#1265" id=
"line1265"> 1265</a> </span><span class=
"lineCov"> 5 : );
</span>
2772 <span class=
"lineNum" id=
"container1266"><a name=
"1266"></a><a href=
"#1266" id=
"line1266"> 1266</a> </span> :
2773 <span class=
"lineNum" id=
"container1267"><a name=
"1267"></a><a href=
"#1267" id=
"line1267"> 1267</a> </span><span class=
"lineCov"> 5 : if ($dynamic) {
</span>
2774 <span class=
"lineNum" id=
"container1268"><a name=
"1268"></a><a href=
"#1268" id=
"line1268"> 1268</a> </span><span class=
"lineCov"> 4 : if (!$this-
>_cursor InstanceOf MongoCursor
&& $this-
>_cursor_ex === NULL) {
</span>
2775 <span class=
"lineNum" id=
"container1269"><a name=
"1269"></a><a href=
"#1269" id=
"line1269"> 1269</a> </span><span class=
"lineCov"> 1 : $this-
>doQuery();
</span>
2776 <span class=
"lineNum" id=
"container1270"><a name=
"1270"></a><a href=
"#1270" id=
"line1270"> 1270</a> </span><span class=
"lineCov"> 1 : }
</span>
2777 <span class=
"lineNum" id=
"container1271"><a name=
"1271"></a><a href=
"#1271" id=
"line1271"> 1271</a> </span> :
2778 <span class=
"lineNum" id=
"container1272"><a name=
"1272"></a><a href=
"#1272" id=
"line1272"> 1272</a> </span><span class=
"lineCov"> 4 : if (!$this-
>_cursor InstanceOf MongoCursor) {
</span>
2779 <span class=
"lineNum" id=
"container1273"><a name=
"1273"></a><a href=
"#1273" id=
"line1273"> 1273</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Only MongoDB native cursor could have dynamic references
");
</span>
2780 <span class=
"lineNum" id=
"container1274"><a name=
"1274"></a><a href=
"#1274" id=
"line1274"> 1274</a> </span><span class=
"lineDeadCode"> : }
</span>
2781 <span class=
"lineNum" id=
"container1275"><a name=
"1275"></a><a href=
"#1275" id=
"line1275"> 1275</a> </span> :
2782 <span class=
"lineNum" id=
"container1276"><a name=
"1276"></a><a href=
"#1276" id=
"line1276"> 1276</a> </span><span class=
"lineCov"> 3 : $cursor = $this-
>_cursor;
</span>
2783 <span class=
"lineNum" id=
"container1277"><a name=
"1277"></a><a href=
"#1277" id=
"line1277"> 1277</a> </span><span class=
"lineCov"> 3 : if (!is_callable(array($cursor,
"Info
"))) {
</span>
2784 <span class=
"lineNum" id=
"container1278"><a name=
"1278"></a><a href=
"#1278" id=
"line1278"> 1278</a> </span><span class=
"lineNoCov"> 0 : throw new Exception(
"Please upgrade your PECL/Mongo module to use this feature
");
</span>
2785 <span class=
"lineNum" id=
"container1279"><a name=
"1279"></a><a href=
"#1279" id=
"line1279"> 1279</a> </span><span class=
"lineDeadCode"> : }
</span>
2786 <span class=
"lineNum" id=
"container1280"><a name=
"1280"></a><a href=
"#1280" id=
"line1280"> 1280</a> </span><span class=
"lineCov"> 3 : $document['dynamic'] = array();
</span>
2787 <span class=
"lineNum" id=
"container1281"><a name=
"1281"></a><a href=
"#1281" id=
"line1281"> 1281</a> </span><span class=
"lineCov"> 3 : $query = $cursor-
>Info();
</span>
2788 <span class=
"lineNum" id=
"container1282"><a name=
"1282"></a><a href=
"#1282" id=
"line1282"> 1282</a> </span><span class=
"lineCov"> 3 : foreach ($query as $type =
> $value) {
</span>
2789 <span class=
"lineNum" id=
"container1283"><a name=
"1283"></a><a href=
"#1283" id=
"line1283"> 1283</a> </span><span class=
"lineCov"> 3 : $document['dynamic'][$type] = $value;
</span>
2790 <span class=
"lineNum" id=
"container1284"><a name=
"1284"></a><a href=
"#1284" id=
"line1284"> 1284</a> </span><span class=
"lineCov"> 3 : }
</span>
2791 <span class=
"lineNum" id=
"container1285"><a name=
"1285"></a><a href=
"#1285" id=
"line1285"> 1285</a> </span><span class=
"lineCov"> 3 : }
</span>
2792 <span class=
"lineNum" id=
"container1286"><a name=
"1286"></a><a href=
"#1286" id=
"line1286"> 1286</a> </span><span class=
"lineCov"> 4 : return $document;
</span>
2793 <span class=
"lineNum" id=
"container1287"><a name=
"1287"></a><a href=
"#1287" id=
"line1287"> 1287</a> </span><span class=
"lineDeadCode"> : }
</span>
2794 <span class=
"lineNum" id=
"container1288"><a name=
"1288"></a><a href=
"#1288" id=
"line1288"> 1288</a> </span> : // }}}
2795 <span class=
"lineNum" id=
"container1289"><a name=
"1289"></a><a href=
"#1289" id=
"line1289"> 1289</a> </span> :
2796 <span class=
"lineNum" id=
"container1290"><a name=
"1290"></a><a href=
"#1290" id=
"line1290"> 1290</a> </span> : // void getDocumentReferences($document,
&$refs) {{{
2797 <span class=
"lineNum" id=
"container1291"><a name=
"1291"></a><a href=
"#1291" id=
"line1291"> 1291</a> </span> : /**
2798 <span class=
"lineNum" id=
"container1292"><a name=
"1292"></a><a href=
"#1292" id=
"line1292"> 1292</a> </span> : * Get Current References
2799 <span class=
"lineNum" id=
"container1293"><a name=
"1293"></a><a href=
"#1293" id=
"line1293"> 1293</a> </span> : *
2800 <span class=
"lineNum" id=
"container1294"><a name=
"1294"></a><a href=
"#1294" id=
"line1294"> 1294</a> </span> : * Inspect the current document trying to get any references,
2801 <span class=
"lineNum" id=
"container1295"><a name=
"1295"></a><a href=
"#1295" id=
"line1295"> 1295</a> </span> : * if any.
2802 <span class=
"lineNum" id=
"container1296"><a name=
"1296"></a><a href=
"#1296" id=
"line1296"> 1296</a> </span> : *
2803 <span class=
"lineNum" id=
"container1297"><a name=
"1297"></a><a href=
"#1297" id=
"line1297"> 1297</a> </span> : * @param array $document Current document
2804 <span class=
"lineNum" id=
"container1298"><a name=
"1298"></a><a href=
"#1298" id=
"line1298"> 1298</a> </span> : * @param array
&$refs References found in the document.
2805 <span class=
"lineNum" id=
"container1299"><a name=
"1299"></a><a href=
"#1299" id=
"line1299"> 1299</a> </span> : * @param array $parent_key Parent key
2806 <span class=
"lineNum" id=
"container1300"><a name=
"1300"></a><a href=
"#1300" id=
"line1300"> 1300</a> </span> : *
2807 <span class=
"lineNum" id=
"container1301"><a name=
"1301"></a><a href=
"#1301" id=
"line1301"> 1301</a> </span> : * @return void
2808 <span class=
"lineNum" id=
"container1302"><a name=
"1302"></a><a href=
"#1302" id=
"line1302"> 1302</a> </span> : */
2809 <span class=
"lineNum" id=
"container1303"><a name=
"1303"></a><a href=
"#1303" id=
"line1303"> 1303</a> </span> : final protected function getDocumentReferences($document,
&$refs, $parent_key=NULL)
2810 <span class=
"lineNum" id=
"container1304"><a name=
"1304"></a><a href=
"#1304" id=
"line1304"> 1304</a> </span> : {
2811 <span class=
"lineNum" id=
"container1305"><a name=
"1305"></a><a href=
"#1305" id=
"line1305"> 1305</a> </span><span class=
"lineCov"> 2 : foreach ($document as $key =
> $value) {
</span>
2812 <span class=
"lineNum" id=
"container1306"><a name=
"1306"></a><a href=
"#1306" id=
"line1306"> 1306</a> </span><span class=
"lineCov"> 2 : if (is_array($value)) {
</span>
2813 <span class=
"lineNum" id=
"container1307"><a name=
"1307"></a><a href=
"#1307" id=
"line1307"> 1307</a> </span><span class=
"lineCov"> 2 : if (MongoDBRef::isRef($value)) {
</span>
2814 <span class=
"lineNum" id=
"container1308"><a name=
"1308"></a><a href=
"#1308" id=
"line1308"> 1308</a> </span><span class=
"lineCov"> 2 : $pkey = $parent_key;
</span>
2815 <span class=
"lineNum" id=
"container1309"><a name=
"1309"></a><a href=
"#1309" id=
"line1309"> 1309</a> </span><span class=
"lineCov"> 2 : $pkey[] = $key;
</span>
2816 <span class=
"lineNum" id=
"container1310"><a name=
"1310"></a><a href=
"#1310" id=
"line1310"> 1310</a> </span><span class=
"lineCov"> 2 : $refs[] = array('ref' =
> $value, 'key' =
> $pkey);
</span>
2817 <span class=
"lineNum" id=
"container1311"><a name=
"1311"></a><a href=
"#1311" id=
"line1311"> 1311</a> </span><span class=
"lineCov"> 2 : } else {
</span>
2818 <span class=
"lineNum" id=
"container1312"><a name=
"1312"></a><a href=
"#1312" id=
"line1312"> 1312</a> </span><span class=
"lineCov"> 1 : $parent_key1 = $parent_key;
</span>
2819 <span class=
"lineNum" id=
"container1313"><a name=
"1313"></a><a href=
"#1313" id=
"line1313"> 1313</a> </span><span class=
"lineCov"> 1 : $parent_key1[] = $key;
</span>
2820 <span class=
"lineNum" id=
"container1314"><a name=
"1314"></a><a href=
"#1314" id=
"line1314"> 1314</a> </span><span class=
"lineCov"> 1 : $this-
>getDocumentReferences($value, $refs, $parent_key1);
</span>
2821 <span class=
"lineNum" id=
"container1315"><a name=
"1315"></a><a href=
"#1315" id=
"line1315"> 1315</a> </span> : }
2822 <span class=
"lineNum" id=
"container1316"><a name=
"1316"></a><a href=
"#1316" id=
"line1316"> 1316</a> </span><span class=
"lineCov"> 2 : }
</span>
2823 <span class=
"lineNum" id=
"container1317"><a name=
"1317"></a><a href=
"#1317" id=
"line1317"> 1317</a> </span><span class=
"lineCov"> 2 : }
</span>
2824 <span class=
"lineNum" id=
"container1318"><a name=
"1318"></a><a href=
"#1318" id=
"line1318"> 1318</a> </span><span class=
"lineCov"> 2 : }
</span>
2825 <span class=
"lineNum" id=
"container1319"><a name=
"1319"></a><a href=
"#1319" id=
"line1319"> 1319</a> </span> : // }}}
2826 <span class=
"lineNum" id=
"container1320"><a name=
"1320"></a><a href=
"#1320" id=
"line1320"> 1320</a> </span> :
2827 <span class=
"lineNum" id=
"container1321"><a name=
"1321"></a><a href=
"#1321" id=
"line1321"> 1321</a> </span> : // object _deferencingCreateObject(string $class) {{{
2828 <span class=
"lineNum" id=
"container1322"><a name=
"1322"></a><a href=
"#1322" id=
"line1322"> 1322</a> </span> : /**
2829 <span class=
"lineNum" id=
"container1323"><a name=
"1323"></a><a href=
"#1323" id=
"line1323"> 1323</a> </span> : * Called at deferencig time
2830 <span class=
"lineNum" id=
"container1324"><a name=
"1324"></a><a href=
"#1324" id=
"line1324"> 1324</a> </span> : *
2831 <span class=
"lineNum" id=
"container1325"><a name=
"1325"></a><a href=
"#1325" id=
"line1325"> 1325</a> </span> : * Check if the given string is a class, and it is a sub class
2832 <span class=
"lineNum" id=
"container1326"><a name=
"1326"></a><a href=
"#1326" id=
"line1326"> 1326</a> </span> : * of ActiveMongo, if it is instance and return the object.
2833 <span class=
"lineNum" id=
"container1327"><a name=
"1327"></a><a href=
"#1327" id=
"line1327"> 1327</a> </span> : *
2834 <span class=
"lineNum" id=
"container1328"><a name=
"1328"></a><a href=
"#1328" id=
"line1328"> 1328</a> </span> : * @param string $class
2835 <span class=
"lineNum" id=
"container1329"><a name=
"1329"></a><a href=
"#1329" id=
"line1329"> 1329</a> </span> : *
2836 <span class=
"lineNum" id=
"container1330"><a name=
"1330"></a><a href=
"#1330" id=
"line1330"> 1330</a> </span> : * @return object
2837 <span class=
"lineNum" id=
"container1331"><a name=
"1331"></a><a href=
"#1331" id=
"line1331"> 1331</a> </span> : */
2838 <span class=
"lineNum" id=
"container1332"><a name=
"1332"></a><a href=
"#1332" id=
"line1332"> 1332</a> </span> : private function _deferencingCreateObject($class)
2839 <span class=
"lineNum" id=
"container1333"><a name=
"1333"></a><a href=
"#1333" id=
"line1333"> 1333</a> </span> : {
2840 <span class=
"lineNum" id=
"container1334"><a name=
"1334"></a><a href=
"#1334" id=
"line1334"> 1334</a> </span><span class=
"lineCov"> 2 : if (!is_subclass_of($class, __CLASS__)) {
</span>
2841 <span class=
"lineNum" id=
"container1335"><a name=
"1335"></a><a href=
"#1335" id=
"line1335"> 1335</a> </span><span class=
"lineNoCov"> 0 : throw new ActiveMongo_Exception(
"Fatal Error, imposible to create ActiveMongo object of {$class}
");
</span>
2842 <span class=
"lineNum" id=
"container1336"><a name=
"1336"></a><a href=
"#1336" id=
"line1336"> 1336</a> </span><span class=
"lineDeadCode"> : }
</span>
2843 <span class=
"lineNum" id=
"container1337"><a name=
"1337"></a><a href=
"#1337" id=
"line1337"> 1337</a> </span><span class=
"lineCov"> 2 : return new $class;
</span>
2844 <span class=
"lineNum" id=
"container1338"><a name=
"1338"></a><a href=
"#1338" id=
"line1338"> 1338</a> </span><span class=
"lineDeadCode"> : }
</span>
2845 <span class=
"lineNum" id=
"container1339"><a name=
"1339"></a><a href=
"#1339" id=
"line1339"> 1339</a> </span> : // }}}
2846 <span class=
"lineNum" id=
"container1340"><a name=
"1340"></a><a href=
"#1340" id=
"line1340"> 1340</a> </span> :
2847 <span class=
"lineNum" id=
"container1341"><a name=
"1341"></a><a href=
"#1341" id=
"line1341"> 1341</a> </span> : // void _deferencingRestoreProperty(array
&$document, array $keys, mixed $req) {{{
2848 <span class=
"lineNum" id=
"container1342"><a name=
"1342"></a><a href=
"#1342" id=
"line1342"> 1342</a> </span> : /**
2849 <span class=
"lineNum" id=
"container1343"><a name=
"1343"></a><a href=
"#1343" id=
"line1343"> 1343</a> </span> : * Called at deferencig time
2850 <span class=
"lineNum" id=
"container1344"><a name=
"1344"></a><a href=
"#1344" id=
"line1344"> 1344</a> </span> : *
2851 <span class=
"lineNum" id=
"container1345"><a name=
"1345"></a><a href=
"#1345" id=
"line1345"> 1345</a> </span> : * This method iterates $document until it could match $keys path, and
2852 <span class=
"lineNum" id=
"container1346"><a name=
"1346"></a><a href=
"#1346" id=
"line1346"> 1346</a> </span> : * replace its value by $req.
2853 <span class=
"lineNum" id=
"container1347"><a name=
"1347"></a><a href=
"#1347" id=
"line1347"> 1347</a> </span> : *
2854 <span class=
"lineNum" id=
"container1348"><a name=
"1348"></a><a href=
"#1348" id=
"line1348"> 1348</a> </span> : * @param array
&$document Document to replace
2855 <span class=
"lineNum" id=
"container1349"><a name=
"1349"></a><a href=
"#1349" id=
"line1349"> 1349</a> </span> : * @param array $keys Path of property to change
2856 <span class=
"lineNum" id=
"container1350"><a name=
"1350"></a><a href=
"#1350" id=
"line1350"> 1350</a> </span> : * @param mixed $req Value to replace.
2857 <span class=
"lineNum" id=
"container1351"><a name=
"1351"></a><a href=
"#1351" id=
"line1351"> 1351</a> </span> : *
2858 <span class=
"lineNum" id=
"container1352"><a name=
"1352"></a><a href=
"#1352" id=
"line1352"> 1352</a> </span> : * @return void
2859 <span class=
"lineNum" id=
"container1353"><a name=
"1353"></a><a href=
"#1353" id=
"line1353"> 1353</a> </span> : */
2860 <span class=
"lineNum" id=
"container1354"><a name=
"1354"></a><a href=
"#1354" id=
"line1354"> 1354</a> </span> : private function _deferencingRestoreProperty(
&$document, $keys, $req)
2861 <span class=
"lineNum" id=
"container1355"><a name=
"1355"></a><a href=
"#1355" id=
"line1355"> 1355</a> </span> : {
2862 <span class=
"lineNum" id=
"container1356"><a name=
"1356"></a><a href=
"#1356" id=
"line1356"> 1356</a> </span><span class=
"lineCov"> 2 : $obj =
& $document;
</span>
2863 <span class=
"lineNum" id=
"container1357"><a name=
"1357"></a><a href=
"#1357" id=
"line1357"> 1357</a> </span> :
2864 <span class=
"lineNum" id=
"container1358"><a name=
"1358"></a><a href=
"#1358" id=
"line1358"> 1358</a> </span> : /* find the $req proper spot */
2865 <span class=
"lineNum" id=
"container1359"><a name=
"1359"></a><a href=
"#1359" id=
"line1359"> 1359</a> </span><span class=
"lineCov"> 2 : foreach ($keys as $key) {
</span>
2866 <span class=
"lineNum" id=
"container1360"><a name=
"1360"></a><a href=
"#1360" id=
"line1360"> 1360</a> </span><span class=
"lineCov"> 2 : $obj =
& $obj[$key];
</span>
2867 <span class=
"lineNum" id=
"container1361"><a name=
"1361"></a><a href=
"#1361" id=
"line1361"> 1361</a> </span><span class=
"lineCov"> 2 : }
</span>
2868 <span class=
"lineNum" id=
"container1362"><a name=
"1362"></a><a href=
"#1362" id=
"line1362"> 1362</a> </span> :
2869 <span class=
"lineNum" id=
"container1363"><a name=
"1363"></a><a href=
"#1363" id=
"line1363"> 1363</a> </span><span class=
"lineCov"> 2 : $obj = $req;
</span>
2870 <span class=
"lineNum" id=
"container1364"><a name=
"1364"></a><a href=
"#1364" id=
"line1364"> 1364</a> </span> :
2871 <span class=
"lineNum" id=
"container1365"><a name=
"1365"></a><a href=
"#1365" id=
"line1365"> 1365</a> </span> : /* Delete reference variable */
2872 <span class=
"lineNum" id=
"container1366"><a name=
"1366"></a><a href=
"#1366" id=
"line1366"> 1366</a> </span><span class=
"lineCov"> 2 : unset($obj);
</span>
2873 <span class=
"lineNum" id=
"container1367"><a name=
"1367"></a><a href=
"#1367" id=
"line1367"> 1367</a> </span><span class=
"lineCov"> 2 : }
</span>
2874 <span class=
"lineNum" id=
"container1368"><a name=
"1368"></a><a href=
"#1368" id=
"line1368"> 1368</a> </span> : // }}}
2875 <span class=
"lineNum" id=
"container1369"><a name=
"1369"></a><a href=
"#1369" id=
"line1369"> 1369</a> </span> :
2876 <span class=
"lineNum" id=
"container1370"><a name=
"1370"></a><a href=
"#1370" id=
"line1370"> 1370</a> </span> : // object _deferencingQuery($request) {{{
2877 <span class=
"lineNum" id=
"container1371"><a name=
"1371"></a><a href=
"#1371" id=
"line1371"> 1371</a> </span> : /**
2878 <span class=
"lineNum" id=
"container1372"><a name=
"1372"></a><a href=
"#1372" id=
"line1372"> 1372</a> </span> : * Called at deferencig time
2879 <span class=
"lineNum" id=
"container1373"><a name=
"1373"></a><a href=
"#1373" id=
"line1373"> 1373</a> </span> : *
2880 <span class=
"lineNum" id=
"container1374"><a name=
"1374"></a><a href=
"#1374" id=
"line1374"> 1374</a> </span> : * This method takes a dynamic reference and request
2881 <span class=
"lineNum" id=
"container1375"><a name=
"1375"></a><a href=
"#1375" id=
"line1375"> 1375</a> </span> : * it to MongoDB.
2882 <span class=
"lineNum" id=
"container1376"><a name=
"1376"></a><a href=
"#1376" id=
"line1376"> 1376</a> </span> : *
2883 <span class=
"lineNum" id=
"container1377"><a name=
"1377"></a><a href=
"#1377" id=
"line1377"> 1377</a> </span> : * @param array $request Dynamic reference
2884 <span class=
"lineNum" id=
"container1378"><a name=
"1378"></a><a href=
"#1378" id=
"line1378"> 1378</a> </span> : *
2885 <span class=
"lineNum" id=
"container1379"><a name=
"1379"></a><a href=
"#1379" id=
"line1379"> 1379</a> </span> : * @return this
2886 <span class=
"lineNum" id=
"container1380"><a name=
"1380"></a><a href=
"#1380" id=
"line1380"> 1380</a> </span> : */
2887 <span class=
"lineNum" id=
"container1381"><a name=
"1381"></a><a href=
"#1381" id=
"line1381"> 1381</a> </span> : private function _deferencingQuery($request)
2888 <span class=
"lineNum" id=
"container1382"><a name=
"1382"></a><a href=
"#1382" id=
"line1382"> 1382</a> </span> : {
2889 <span class=
"lineNum" id=
"container1383"><a name=
"1383"></a><a href=
"#1383" id=
"line1383"> 1383</a> </span><span class=
"lineCov"> 1 : $collection = $this-
>_getCollection();
</span>
2890 <span class=
"lineNum" id=
"container1384"><a name=
"1384"></a><a href=
"#1384" id=
"line1384"> 1384</a> </span><span class=
"lineCov"> 1 : $cursor = $collection-
>find($request['query'], $request['fields']);
</span>
2891 <span class=
"lineNum" id=
"container1385"><a name=
"1385"></a><a href=
"#1385" id=
"line1385"> 1385</a> </span><span class=
"lineCov"> 1 : if ($request['limit']
> 0) {
</span>
2892 <span class=
"lineNum" id=
"container1386"><a name=
"1386"></a><a href=
"#1386" id=
"line1386"> 1386</a> </span><span class=
"lineCov"> 1 : $cursor-
>limit($request['limit']);
</span>
2893 <span class=
"lineNum" id=
"container1387"><a name=
"1387"></a><a href=
"#1387" id=
"line1387"> 1387</a> </span><span class=
"lineCov"> 1 : }
</span>
2894 <span class=
"lineNum" id=
"container1388"><a name=
"1388"></a><a href=
"#1388" id=
"line1388"> 1388</a> </span><span class=
"lineCov"> 1 : if ($request['skip']
> 0) {
</span>
2895 <span class=
"lineNum" id=
"container1389"><a name=
"1389"></a><a href=
"#1389" id=
"line1389"> 1389</a> </span><span class=
"lineCov"> 1 : $cursor-
>skip($request['skip']);
</span>
2896 <span class=
"lineNum" id=
"container1390"><a name=
"1390"></a><a href=
"#1390" id=
"line1390"> 1390</a> </span><span class=
"lineCov"> 1 : }
</span>
2897 <span class=
"lineNum" id=
"container1391"><a name=
"1391"></a><a href=
"#1391" id=
"line1391"> 1391</a> </span> :
2898 <span class=
"lineNum" id=
"container1392"><a name=
"1392"></a><a href=
"#1392" id=
"line1392"> 1392</a> </span><span class=
"lineCov"> 1 : $this-
>setCursor($cursor);
</span>
2899 <span class=
"lineNum" id=
"container1393"><a name=
"1393"></a><a href=
"#1393" id=
"line1393"> 1393</a> </span> :
2900 <span class=
"lineNum" id=
"container1394"><a name=
"1394"></a><a href=
"#1394" id=
"line1394"> 1394</a> </span><span class=
"lineCov"> 1 : return $this;
</span>
2901 <span class=
"lineNum" id=
"container1395"><a name=
"1395"></a><a href=
"#1395" id=
"line1395"> 1395</a> </span><span class=
"lineDeadCode"> : }
</span>
2902 <span class=
"lineNum" id=
"container1396"><a name=
"1396"></a><a href=
"#1396" id=
"line1396"> 1396</a> </span> : // }}}
2903 <span class=
"lineNum" id=
"container1397"><a name=
"1397"></a><a href=
"#1397" id=
"line1397"> 1397</a> </span> :
2904 <span class=
"lineNum" id=
"container1398"><a name=
"1398"></a><a href=
"#1398" id=
"line1398"> 1398</a> </span> : // void doDeferencing() {{{
2905 <span class=
"lineNum" id=
"container1399"><a name=
"1399"></a><a href=
"#1399" id=
"line1399"> 1399</a> </span> : /**
2906 <span class=
"lineNum" id=
"container1400"><a name=
"1400"></a><a href=
"#1400" id=
"line1400"> 1400</a> </span> : * Perform a deferencing in the current document, if there is
2907 <span class=
"lineNum" id=
"container1401"><a name=
"1401"></a><a href=
"#1401" id=
"line1401"> 1401</a> </span> : * any reference.
2908 <span class=
"lineNum" id=
"container1402"><a name=
"1402"></a><a href=
"#1402" id=
"line1402"> 1402</a> </span> : *
2909 <span class=
"lineNum" id=
"container1403"><a name=
"1403"></a><a href=
"#1403" id=
"line1403"> 1403</a> </span> : * ActiveMongo will do its best to group references queries as much
2910 <span class=
"lineNum" id=
"container1404"><a name=
"1404"></a><a href=
"#1404" id=
"line1404"> 1404</a> </span> : * as possible, in order to perform as less request as possible.
2911 <span class=
"lineNum" id=
"container1405"><a name=
"1405"></a><a href=
"#1405" id=
"line1405"> 1405</a> </span> : *
2912 <span class=
"lineNum" id=
"container1406"><a name=
"1406"></a><a href=
"#1406" id=
"line1406"> 1406</a> </span> : * ActiveMongo doesn't rely on MongoDB references, but it can support
2913 <span class=
"lineNum" id=
"container1407"><a name=
"1407"></a><a href=
"#1407" id=
"line1407"> 1407</a> </span> : * it, but it is prefered to use our referencing.
2914 <span class=
"lineNum" id=
"container1408"><a name=
"1408"></a><a href=
"#1408" id=
"line1408"> 1408</a> </span> : *
2915 <span class=
"lineNum" id=
"container1409"><a name=
"1409"></a><a href=
"#1409" id=
"line1409"> 1409</a> </span> : * @experimental
2916 <span class=
"lineNum" id=
"container1410"><a name=
"1410"></a><a href=
"#1410" id=
"line1410"> 1410</a> </span> : */
2917 <span class=
"lineNum" id=
"container1411"><a name=
"1411"></a><a href=
"#1411" id=
"line1411"> 1411</a> </span> : final function doDeferencing($refs=array())
2918 <span class=
"lineNum" id=
"container1412"><a name=
"1412"></a><a href=
"#1412" id=
"line1412"> 1412</a> </span> : {
2919 <span class=
"lineNum" id=
"container1413"><a name=
"1413"></a><a href=
"#1413" id=
"line1413"> 1413</a> </span> : /* Get current document */
2920 <span class=
"lineNum" id=
"container1414"><a name=
"1414"></a><a href=
"#1414" id=
"line1414"> 1414</a> </span><span class=
"lineCov"> 2 : $document = get_document_vars($this);
</span>
2921 <span class=
"lineNum" id=
"container1415"><a name=
"1415"></a><a href=
"#1415" id=
"line1415"> 1415</a> </span> :
2922 <span class=
"lineNum" id=
"container1416"><a name=
"1416"></a><a href=
"#1416" id=
"line1416"> 1416</a> </span><span class=
"lineCov"> 2 : if (count($refs)==
0) {
</span>
2923 <span class=
"lineNum" id=
"container1417"><a name=
"1417"></a><a href=
"#1417" id=
"line1417"> 1417</a> </span> : /* Inspect the whole document */
2924 <span class=
"lineNum" id=
"container1418"><a name=
"1418"></a><a href=
"#1418" id=
"line1418"> 1418</a> </span><span class=
"lineCov"> 2 : $this-
>getDocumentReferences($document, $refs);
</span>
2925 <span class=
"lineNum" id=
"container1419"><a name=
"1419"></a><a href=
"#1419" id=
"line1419"> 1419</a> </span><span class=
"lineCov"> 2 : }
</span>
2926 <span class=
"lineNum" id=
"container1420"><a name=
"1420"></a><a href=
"#1420" id=
"line1420"> 1420</a> </span> :
2927 <span class=
"lineNum" id=
"container1421"><a name=
"1421"></a><a href=
"#1421" id=
"line1421"> 1421</a> </span><span class=
"lineCov"> 2 : $db = $this-
>_getConnection();
</span>
2928 <span class=
"lineNum" id=
"container1422"><a name=
"1422"></a><a href=
"#1422" id=
"line1422"> 1422</a> </span> :
2929 <span class=
"lineNum" id=
"container1423"><a name=
"1423"></a><a href=
"#1423" id=
"line1423"> 1423</a> </span> : /* Gather information about ActiveMongo Objects
2930 <span class=
"lineNum" id=
"container1424"><a name=
"1424"></a><a href=
"#1424" id=
"line1424"> 1424</a> </span> : * that we need to create
2931 <span class=
"lineNum" id=
"container1425"><a name=
"1425"></a><a href=
"#1425" id=
"line1425"> 1425</a> </span> : */
2932 <span class=
"lineNum" id=
"container1426"><a name=
"1426"></a><a href=
"#1426" id=
"line1426"> 1426</a> </span><span class=
"lineCov"> 2 : $classes = array();
</span>
2933 <span class=
"lineNum" id=
"container1427"><a name=
"1427"></a><a href=
"#1427" id=
"line1427"> 1427</a> </span><span class=
"lineCov"> 2 : foreach ($refs as $ref) {
</span>
2934 <span class=
"lineNum" id=
"container1428"><a name=
"1428"></a><a href=
"#1428" id=
"line1428"> 1428</a> </span><span class=
"lineCov"> 2 : if (!isset($ref['ref']['class'])) {
</span>
2935 <span class=
"lineNum" id=
"container1429"><a name=
"1429"></a><a href=
"#1429" id=
"line1429"> 1429</a> </span> :
2936 <span class=
"lineNum" id=
"container1430"><a name=
"1430"></a><a href=
"#1430" id=
"line1430"> 1430</a> </span> : /* Support MongoDBRef, we do our best to be compatible {{{ */
2937 <span class=
"lineNum" id=
"container1431"><a name=
"1431"></a><a href=
"#1431" id=
"line1431"> 1431</a> </span> : /* MongoDB 'normal' reference */
2938 <span class=
"lineNum" id=
"container1432"><a name=
"1432"></a><a href=
"#1432" id=
"line1432"> 1432</a> </span> :
2939 <span class=
"lineNum" id=
"container1433"><a name=
"1433"></a><a href=
"#1433" id=
"line1433"> 1433</a> </span><span class=
"lineCov"> 1 : $obj = MongoDBRef::get($db, $ref['ref']);
</span>
2940 <span class=
"lineNum" id=
"container1434"><a name=
"1434"></a><a href=
"#1434" id=
"line1434"> 1434</a> </span> :
2941 <span class=
"lineNum" id=
"container1435"><a name=
"1435"></a><a href=
"#1435" id=
"line1435"> 1435</a> </span> : /* Offset the current document to the right spot */
2942 <span class=
"lineNum" id=
"container1436"><a name=
"1436"></a><a href=
"#1436" id=
"line1436"> 1436</a> </span> : /* Very inefficient, never use it, instead use ActiveMongo References */
2943 <span class=
"lineNum" id=
"container1437"><a name=
"1437"></a><a href=
"#1437" id=
"line1437"> 1437</a> </span> :
2944 <span class=
"lineNum" id=
"container1438"><a name=
"1438"></a><a href=
"#1438" id=
"line1438"> 1438</a> </span><span class=
"lineCov"> 1 : $this-
>_deferencingRestoreProperty($document, $ref['key'], $obj);
</span>
2945 <span class=
"lineNum" id=
"container1439"><a name=
"1439"></a><a href=
"#1439" id=
"line1439"> 1439</a> </span> :
2946 <span class=
"lineNum" id=
"container1440"><a name=
"1440"></a><a href=
"#1440" id=
"line1440"> 1440</a> </span> : /* Dirty hack, override our current document
2947 <span class=
"lineNum" id=
"container1441"><a name=
"1441"></a><a href=
"#1441" id=
"line1441"> 1441</a> </span> : * property with the value itself, in order to
2948 <span class=
"lineNum" id=
"container1442"><a name=
"1442"></a><a href=
"#1442" id=
"line1442"> 1442</a> </span> : * avoid replace a MongoDB reference by its content
2949 <span class=
"lineNum" id=
"container1443"><a name=
"1443"></a><a href=
"#1443" id=
"line1443"> 1443</a> </span> : */
2950 <span class=
"lineNum" id=
"container1444"><a name=
"1444"></a><a href=
"#1444" id=
"line1444"> 1444</a> </span><span class=
"lineCov"> 1 : $this-
>_deferencingRestoreProperty($this-
>_current, $ref['key'], $obj);
</span>
2951 <span class=
"lineNum" id=
"container1445"><a name=
"1445"></a><a href=
"#1445" id=
"line1445"> 1445</a> </span> :
2952 <span class=
"lineNum" id=
"container1446"><a name=
"1446"></a><a href=
"#1446" id=
"line1446"> 1446</a> </span> : /* }}} */
2953 <span class=
"lineNum" id=
"container1447"><a name=
"1447"></a><a href=
"#1447" id=
"line1447"> 1447</a> </span> :
2954 <span class=
"lineNum" id=
"container1448"><a name=
"1448"></a><a href=
"#1448" id=
"line1448"> 1448</a> </span><span class=
"lineCov"> 1 : } else {
</span>
2955 <span class=
"lineNum" id=
"container1449"><a name=
"1449"></a><a href=
"#1449" id=
"line1449"> 1449</a> </span> :
2956 <span class=
"lineNum" id=
"container1450"><a name=
"1450"></a><a href=
"#1450" id=
"line1450"> 1450</a> </span><span class=
"lineCov"> 2 : if (isset($ref['ref']['dynamic'])) {
</span>
2957 <span class=
"lineNum" id=
"container1451"><a name=
"1451"></a><a href=
"#1451" id=
"line1451"> 1451</a> </span> : /* ActiveMongo Dynamic Reference */
2958 <span class=
"lineNum" id=
"container1452"><a name=
"1452"></a><a href=
"#1452" id=
"line1452"> 1452</a> </span> :
2959 <span class=
"lineNum" id=
"container1453"><a name=
"1453"></a><a href=
"#1453" id=
"line1453"> 1453</a> </span> : /* Create ActiveMongo object */
2960 <span class=
"lineNum" id=
"container1454"><a name=
"1454"></a><a href=
"#1454" id=
"line1454"> 1454</a> </span><span class=
"lineCov"> 1 : $req = $this-
>_deferencingCreateObject($ref['ref']['class']);
</span>
2961 <span class=
"lineNum" id=
"container1455"><a name=
"1455"></a><a href=
"#1455" id=
"line1455"> 1455</a> </span> :
2962 <span class=
"lineNum" id=
"container1456"><a name=
"1456"></a><a href=
"#1456" id=
"line1456"> 1456</a> </span> : /* Restore saved query */
2963 <span class=
"lineNum" id=
"container1457"><a name=
"1457"></a><a href=
"#1457" id=
"line1457"> 1457</a> </span><span class=
"lineCov"> 1 : $req-
>_deferencingQuery($ref['ref']['dynamic']);
</span>
2964 <span class=
"lineNum" id=
"container1458"><a name=
"1458"></a><a href=
"#1458" id=
"line1458"> 1458</a> </span> :
2965 <span class=
"lineNum" id=
"container1459"><a name=
"1459"></a><a href=
"#1459" id=
"line1459"> 1459</a> </span><span class=
"lineCov"> 1 : $results = array();
</span>
2966 <span class=
"lineNum" id=
"container1460"><a name=
"1460"></a><a href=
"#1460" id=
"line1460"> 1460</a> </span> :
2967 <span class=
"lineNum" id=
"container1461"><a name=
"1461"></a><a href=
"#1461" id=
"line1461"> 1461</a> </span> : /* Add the result set */
2968 <span class=
"lineNum" id=
"container1462"><a name=
"1462"></a><a href=
"#1462" id=
"line1462"> 1462</a> </span><span class=
"lineCov"> 1 : foreach ($req as $result) {
</span>
2969 <span class=
"lineNum" id=
"container1463"><a name=
"1463"></a><a href=
"#1463" id=
"line1463"> 1463</a> </span><span class=
"lineCov"> 1 : $results[] = clone $result;
</span>
2970 <span class=
"lineNum" id=
"container1464"><a name=
"1464"></a><a href=
"#1464" id=
"line1464"> 1464</a> </span><span class=
"lineCov"> 1 : }
</span>
2971 <span class=
"lineNum" id=
"container1465"><a name=
"1465"></a><a href=
"#1465" id=
"line1465"> 1465</a> </span> :
2972 <span class=
"lineNum" id=
"container1466"><a name=
"1466"></a><a href=
"#1466" id=
"line1466"> 1466</a> </span> : /* add information about the current reference */
2973 <span class=
"lineNum" id=
"container1467"><a name=
"1467"></a><a href=
"#1467" id=
"line1467"> 1467</a> </span><span class=
"lineCov"> 1 : foreach ($ref['ref'] as $key =
> $value) {
</span>
2974 <span class=
"lineNum" id=
"container1468"><a name=
"1468"></a><a href=
"#1468" id=
"line1468"> 1468</a> </span><span class=
"lineCov"> 1 : $results[$key] = $value;
</span>
2975 <span class=
"lineNum" id=
"container1469"><a name=
"1469"></a><a href=
"#1469" id=
"line1469"> 1469</a> </span><span class=
"lineCov"> 1 : }
</span>
2976 <span class=
"lineNum" id=
"container1470"><a name=
"1470"></a><a href=
"#1470" id=
"line1470"> 1470</a> </span> :
2977 <span class=
"lineNum" id=
"container1471"><a name=
"1471"></a><a href=
"#1471" id=
"line1471"> 1471</a> </span><span class=
"lineCov"> 1 : $this-
>_deferencingRestoreProperty($document, $ref['key'], $results);
</span>
2978 <span class=
"lineNum" id=
"container1472"><a name=
"1472"></a><a href=
"#1472" id=
"line1472"> 1472</a> </span> :
2979 <span class=
"lineNum" id=
"container1473"><a name=
"1473"></a><a href=
"#1473" id=
"line1473"> 1473</a> </span><span class=
"lineCov"> 1 : } else {
</span>
2980 <span class=
"lineNum" id=
"container1474"><a name=
"1474"></a><a href=
"#1474" id=
"line1474"> 1474</a> </span> : /* ActiveMongo Reference FTW! */
2981 <span class=
"lineNum" id=
"container1475"><a name=
"1475"></a><a href=
"#1475" id=
"line1475"> 1475</a> </span><span class=
"lineCov"> 2 : $classes[$ref['ref']['class']][] = $ref;
</span>
2982 <span class=
"lineNum" id=
"container1476"><a name=
"1476"></a><a href=
"#1476" id=
"line1476"> 1476</a> </span> : }
2983 <span class=
"lineNum" id=
"container1477"><a name=
"1477"></a><a href=
"#1477" id=
"line1477"> 1477</a> </span> : }
2984 <span class=
"lineNum" id=
"container1478"><a name=
"1478"></a><a href=
"#1478" id=
"line1478"> 1478</a> </span><span class=
"lineCov"> 2 : }
</span>
2985 <span class=
"lineNum" id=
"container1479"><a name=
"1479"></a><a href=
"#1479" id=
"line1479"> 1479</a> </span> :
2986 <span class=
"lineNum" id=
"container1480"><a name=
"1480"></a><a href=
"#1480" id=
"line1480"> 1480</a> </span> : /* {{{ Create needed objects to query MongoDB and replace
2987 <span class=
"lineNum" id=
"container1481"><a name=
"1481"></a><a href=
"#1481" id=
"line1481"> 1481</a> </span> : * our references by its objects documents.
2988 <span class=
"lineNum" id=
"container1482"><a name=
"1482"></a><a href=
"#1482" id=
"line1482"> 1482</a> </span> : */
2989 <span class=
"lineNum" id=
"container1483"><a name=
"1483"></a><a href=
"#1483" id=
"line1483"> 1483</a> </span><span class=
"lineCov"> 2 : foreach ($classes as $class =
> $refs) {
</span>
2990 <span class=
"lineNum" id=
"container1484"><a name=
"1484"></a><a href=
"#1484" id=
"line1484"> 1484</a> </span><span class=
"lineCov"> 2 : $req = $this-
>_deferencingCreateObject($class);
</span>
2991 <span class=
"lineNum" id=
"container1485"><a name=
"1485"></a><a href=
"#1485" id=
"line1485"> 1485</a> </span> :
2992 <span class=
"lineNum" id=
"container1486"><a name=
"1486"></a><a href=
"#1486" id=
"line1486"> 1486</a> </span> : /* Load list of IDs */
2993 <span class=
"lineNum" id=
"container1487"><a name=
"1487"></a><a href=
"#1487" id=
"line1487"> 1487</a> </span><span class=
"lineCov"> 2 : $ids = array();
</span>
2994 <span class=
"lineNum" id=
"container1488"><a name=
"1488"></a><a href=
"#1488" id=
"line1488"> 1488</a> </span><span class=
"lineCov"> 2 : foreach ($refs as $ref) {
</span>
2995 <span class=
"lineNum" id=
"container1489"><a name=
"1489"></a><a href=
"#1489" id=
"line1489"> 1489</a> </span><span class=
"lineCov"> 2 : $ids[] = $ref['ref']['$id'];
</span>
2996 <span class=
"lineNum" id=
"container1490"><a name=
"1490"></a><a href=
"#1490" id=
"line1490"> 1490</a> </span><span class=
"lineCov"> 2 : }
</span>
2997 <span class=
"lineNum" id=
"container1491"><a name=
"1491"></a><a href=
"#1491" id=
"line1491"> 1491</a> </span> :
2998 <span class=
"lineNum" id=
"container1492"><a name=
"1492"></a><a href=
"#1492" id=
"line1492"> 1492</a> </span> : /* Search to MongoDB once for all IDs found */
2999 <span class=
"lineNum" id=
"container1493"><a name=
"1493"></a><a href=
"#1493" id=
"line1493"> 1493</a> </span><span class=
"lineCov"> 2 : $req-
>find($ids);
</span>
3000 <span class=
"lineNum" id=
"container1494"><a name=
"1494"></a><a href=
"#1494" id=
"line1494"> 1494</a> </span> :
3001 <span class=
"lineNum" id=
"container1495"><a name=
"1495"></a><a href=
"#1495" id=
"line1495"> 1495</a> </span> :
3002 <span class=
"lineNum" id=
"container1496"><a name=
"1496"></a><a href=
"#1496" id=
"line1496"> 1496</a> </span> : /* Replace our references by its objects */
3003 <span class=
"lineNum" id=
"container1497"><a name=
"1497"></a><a href=
"#1497" id=
"line1497"> 1497</a> </span><span class=
"lineCov"> 2 : foreach ($refs as $ref) {
</span>
3004 <span class=
"lineNum" id=
"container1498"><a name=
"1498"></a><a href=
"#1498" id=
"line1498"> 1498</a> </span><span class=
"lineCov"> 2 : $id = $ref['ref']['$id'];
</span>
3005 <span class=
"lineNum" id=
"container1499"><a name=
"1499"></a><a href=
"#1499" id=
"line1499"> 1499</a> </span><span class=
"lineCov"> 2 : $place = $ref['key'];
</span>
3006 <span class=
"lineNum" id=
"container1500"><a name=
"1500"></a><a href=
"#1500" id=
"line1500"> 1500</a> </span><span class=
"lineCov"> 2 : $req-
>rewind();
</span>
3007 <span class=
"lineNum" id=
"container1501"><a name=
"1501"></a><a href=
"#1501" id=
"line1501"> 1501</a> </span><span class=
"lineCov"> 2 : while ($req-
>getID() != $id
&& $req-
>next());
</span>
3008 <span class=
"lineNum" id=
"container1502"><a name=
"1502"></a><a href=
"#1502" id=
"line1502"> 1502</a> </span> :
3009 <span class=
"lineNum" id=
"container1503"><a name=
"1503"></a><a href=
"#1503" id=
"line1503"> 1503</a> </span><span class=
"lineCov"> 2 : $this-
>_deferencingRestoreProperty($document, $place, clone $req);
</span>
3010 <span class=
"lineNum" id=
"container1504"><a name=
"1504"></a><a href=
"#1504" id=
"line1504"> 1504</a> </span> :
3011 <span class=
"lineNum" id=
"container1505"><a name=
"1505"></a><a href=
"#1505" id=
"line1505"> 1505</a> </span><span class=
"lineCov"> 2 : unset($obj);
</span>
3012 <span class=
"lineNum" id=
"container1506"><a name=
"1506"></a><a href=
"#1506" id=
"line1506"> 1506</a> </span><span class=
"lineCov"> 2 : }
</span>
3013 <span class=
"lineNum" id=
"container1507"><a name=
"1507"></a><a href=
"#1507" id=
"line1507"> 1507</a> </span> :
3014 <span class=
"lineNum" id=
"container1508"><a name=
"1508"></a><a href=
"#1508" id=
"line1508"> 1508</a> </span> : /* Release request, remember we
3015 <span class=
"lineNum" id=
"container1509"><a name=
"1509"></a><a href=
"#1509" id=
"line1509"> 1509</a> </span> : * safely cloned it,
3016 <span class=
"lineNum" id=
"container1510"><a name=
"1510"></a><a href=
"#1510" id=
"line1510"> 1510</a> </span> : */
3017 <span class=
"lineNum" id=
"container1511"><a name=
"1511"></a><a href=
"#1511" id=
"line1511"> 1511</a> </span><span class=
"lineCov"> 2 : unset($req);
</span>
3018 <span class=
"lineNum" id=
"container1512"><a name=
"1512"></a><a href=
"#1512" id=
"line1512"> 1512</a> </span><span class=
"lineCov"> 2 : }
</span>
3019 <span class=
"lineNum" id=
"container1513"><a name=
"1513"></a><a href=
"#1513" id=
"line1513"> 1513</a> </span> : // }}}
3020 <span class=
"lineNum" id=
"container1514"><a name=
"1514"></a><a href=
"#1514" id=
"line1514"> 1514</a> </span> :
3021 <span class=
"lineNum" id=
"container1515"><a name=
"1515"></a><a href=
"#1515" id=
"line1515"> 1515</a> </span> : /* Replace the current document by the new deferenced objects */
3022 <span class=
"lineNum" id=
"container1516"><a name=
"1516"></a><a href=
"#1516" id=
"line1516"> 1516</a> </span><span class=
"lineCov"> 2 : foreach ($document as $key =
> $value) {
</span>
3023 <span class=
"lineNum" id=
"container1517"><a name=
"1517"></a><a href=
"#1517" id=
"line1517"> 1517</a> </span><span class=
"lineCov"> 2 : $this-
>$key = $value;
</span>
3024 <span class=
"lineNum" id=
"container1518"><a name=
"1518"></a><a href=
"#1518" id=
"line1518"> 1518</a> </span><span class=
"lineCov"> 2 : }
</span>
3025 <span class=
"lineNum" id=
"container1519"><a name=
"1519"></a><a href=
"#1519" id=
"line1519"> 1519</a> </span><span class=
"lineCov"> 2 : }
</span>
3026 <span class=
"lineNum" id=
"container1520"><a name=
"1520"></a><a href=
"#1520" id=
"line1520"> 1520</a> </span> : // }}}
3027 <span class=
"lineNum" id=
"container1521"><a name=
"1521"></a><a href=
"#1521" id=
"line1521"> 1521</a> </span> :
3028 <span class=
"lineNum" id=
"container1522"><a name=
"1522"></a><a href=
"#1522" id=
"line1522"> 1522</a> </span> : // void getColumnDeference(
&$document, $propety, ActiveMongo Obj) {{{
3029 <span class=
"lineNum" id=
"container1523"><a name=
"1523"></a><a href=
"#1523" id=
"line1523"> 1523</a> </span> : /**
3030 <span class=
"lineNum" id=
"container1524"><a name=
"1524"></a><a href=
"#1524" id=
"line1524"> 1524</a> </span> : * Prepare a
"selector
" document to search treaing the property
3031 <span class=
"lineNum" id=
"container1525"><a name=
"1525"></a><a href=
"#1525" id=
"line1525"> 1525</a> </span> : * as a reference to the given ActiveMongo object.
3032 <span class=
"lineNum" id=
"container1526"><a name=
"1526"></a><a href=
"#1526" id=
"line1526"> 1526</a> </span> : *
3033 <span class=
"lineNum" id=
"container1527"><a name=
"1527"></a><a href=
"#1527" id=
"line1527"> 1527</a> </span> : */
3034 <span class=
"lineNum" id=
"container1528"><a name=
"1528"></a><a href=
"#1528" id=
"line1528"> 1528</a> </span> : final function getColumnDeference(
&$document, $property, ActiveMongo $obj)
3035 <span class=
"lineNum" id=
"container1529"><a name=
"1529"></a><a href=
"#1529" id=
"line1529"> 1529</a> </span> : {
3036 <span class=
"lineNum" id=
"container1530"><a name=
"1530"></a><a href=
"#1530" id=
"line1530"> 1530</a> </span><span class=
"lineCov"> 1 : $document[
"{$property}.\$id
"] = $obj-
>getID();
</span>
3037 <span class=
"lineNum" id=
"container1531"><a name=
"1531"></a><a href=
"#1531" id=
"line1531"> 1531</a> </span><span class=
"lineCov"> 1 : }
</span>
3038 <span class=
"lineNum" id=
"container1532"><a name=
"1532"></a><a href=
"#1532" id=
"line1532"> 1532</a> </span> : // }}}
3039 <span class=
"lineNum" id=
"container1533"><a name=
"1533"></a><a href=
"#1533" id=
"line1533"> 1533</a> </span> :
3040 <span class=
"lineNum" id=
"container1534"><a name=
"1534"></a><a href=
"#1534" id=
"line1534"> 1534</a> </span> : // void findReferences(
&$document) {{{
3041 <span class=
"lineNum" id=
"container1535"><a name=
"1535"></a><a href=
"#1535" id=
"line1535"> 1535</a> </span> : /**
3042 <span class=
"lineNum" id=
"container1536"><a name=
"1536"></a><a href=
"#1536" id=
"line1536"> 1536</a> </span> : * Check if in the current document to insert or update
3043 <span class=
"lineNum" id=
"container1537"><a name=
"1537"></a><a href=
"#1537" id=
"line1537"> 1537</a> </span> : * exists any references to other ActiveMongo Objects.
3044 <span class=
"lineNum" id=
"container1538"><a name=
"1538"></a><a href=
"#1538" id=
"line1538"> 1538</a> </span> : *
3045 <span class=
"lineNum" id=
"container1539"><a name=
"1539"></a><a href=
"#1539" id=
"line1539"> 1539</a> </span> : * @return void
3046 <span class=
"lineNum" id=
"container1540"><a name=
"1540"></a><a href=
"#1540" id=
"line1540"> 1540</a> </span> : */
3047 <span class=
"lineNum" id=
"container1541"><a name=
"1541"></a><a href=
"#1541" id=
"line1541"> 1541</a> </span> : final function findReferences(
&$document)
3048 <span class=
"lineNum" id=
"container1542"><a name=
"1542"></a><a href=
"#1542" id=
"line1542"> 1542</a> </span> : {
3049 <span class=
"lineNum" id=
"container1543"><a name=
"1543"></a><a href=
"#1543" id=
"line1543"> 1543</a> </span><span class=
"lineCov"> 20 : if (!is_array($document)) {
</span>
3050 <span class=
"lineNum" id=
"container1544"><a name=
"1544"></a><a href=
"#1544" id=
"line1544"> 1544</a> </span><span class=
"lineNoCov"> 0 : return;
</span>
3051 <span class=
"lineNum" id=
"container1545"><a name=
"1545"></a><a href=
"#1545" id=
"line1545"> 1545</a> </span><span class=
"lineDeadCode"> : }
</span>
3052 <span class=
"lineNum" id=
"container1546"><a name=
"1546"></a><a href=
"#1546" id=
"line1546"> 1546</a> </span><span class=
"lineCov"> 20 : foreach($document as
&$value) {
</span>
3053 <span class=
"lineNum" id=
"container1547"><a name=
"1547"></a><a href=
"#1547" id=
"line1547"> 1547</a> </span><span class=
"lineCov"> 20 : $parent_class = __CLASS__;
</span>
3054 <span class=
"lineNum" id=
"container1548"><a name=
"1548"></a><a href=
"#1548" id=
"line1548"> 1548</a> </span><span class=
"lineCov"> 20 : if (is_array($value)) {
</span>
3055 <span class=
"lineNum" id=
"container1549"><a name=
"1549"></a><a href=
"#1549" id=
"line1549"> 1549</a> </span><span class=
"lineCov"> 7 : if (MongoDBRef::isRef($value)) {
</span>
3056 <span class=
"lineNum" id=
"container1550"><a name=
"1550"></a><a href=
"#1550" id=
"line1550"> 1550</a> </span> : /* If the property we're inspecting is a reference,
3057 <span class=
"lineNum" id=
"container1551"><a name=
"1551"></a><a href=
"#1551" id=
"line1551"> 1551</a> </span> : * we need to remove the values, restoring the valid
3058 <span class=
"lineNum" id=
"container1552"><a name=
"1552"></a><a href=
"#1552" id=
"line1552"> 1552</a> </span> : * Reference.
3059 <span class=
"lineNum" id=
"container1553"><a name=
"1553"></a><a href=
"#1553" id=
"line1553"> 1553</a> </span> : */
3060 <span class=
"lineNum" id=
"container1554"><a name=
"1554"></a><a href=
"#1554" id=
"line1554"> 1554</a> </span> : $arr = array(
3061 <span class=
"lineNum" id=
"container1555"><a name=
"1555"></a><a href=
"#1555" id=
"line1555"> 1555</a> </span><span class=
"lineCov"> 1 : '$ref'=
>1, '$id'=
>1, '$db'=
>1, 'class'=
>1, 'dynamic'=
>1 </span>
3062 <span class=
"lineNum" id=
"container1556"><a name=
"1556"></a><a href=
"#1556" id=
"line1556"> 1556</a> </span><span class=
"lineCov"> 1 : );
</span>
3063 <span class=
"lineNum" id=
"container1557"><a name=
"1557"></a><a href=
"#1557" id=
"line1557"> 1557</a> </span><span class=
"lineCov"> 1 : foreach (array_keys($value) as $key) {
</span>
3064 <span class=
"lineNum" id=
"container1558"><a name=
"1558"></a><a href=
"#1558" id=
"line1558"> 1558</a> </span><span class=
"lineCov"> 1 : if (!isset($arr[$key])) {
</span>
3065 <span class=
"lineNum" id=
"container1559"><a name=
"1559"></a><a href=
"#1559" id=
"line1559"> 1559</a> </span><span class=
"lineNoCov"> 0 : unset($value[$key]);
</span>
3066 <span class=
"lineNum" id=
"container1560"><a name=
"1560"></a><a href=
"#1560" id=
"line1560"> 1560</a> </span><span class=
"lineNoCov"> 0 : }
</span>
3067 <span class=
"lineNum" id=
"container1561"><a name=
"1561"></a><a href=
"#1561" id=
"line1561"> 1561</a> </span><span class=
"lineCov"> 1 : }
</span>
3068 <span class=
"lineNum" id=
"container1562"><a name=
"1562"></a><a href=
"#1562" id=
"line1562"> 1562</a> </span><span class=
"lineCov"> 1 : } else {
</span>
3069 <span class=
"lineNum" id=
"container1563"><a name=
"1563"></a><a href=
"#1563" id=
"line1563"> 1563</a> </span><span class=
"lineCov"> 7 : $this-
>findReferences($value);
</span>
3070 <span class=
"lineNum" id=
"container1564"><a name=
"1564"></a><a href=
"#1564" id=
"line1564"> 1564</a> </span> : }
3071 <span class=
"lineNum" id=
"container1565"><a name=
"1565"></a><a href=
"#1565" id=
"line1565"> 1565</a> </span><span class=
"lineCov"> 20 : } else if ($value InstanceOf $parent_class) {
</span>
3072 <span class=
"lineNum" id=
"container1566"><a name=
"1566"></a><a href=
"#1566" id=
"line1566"> 1566</a> </span><span class=
"lineCov"> 2 : $value = $value-
>getReference();
</span>
3073 <span class=
"lineNum" id=
"container1567"><a name=
"1567"></a><a href=
"#1567" id=
"line1567"> 1567</a> </span><span class=
"lineCov"> 2 : }
</span>
3074 <span class=
"lineNum" id=
"container1568"><a name=
"1568"></a><a href=
"#1568" id=
"line1568"> 1568</a> </span><span class=
"lineCov"> 20 : }
</span>
3075 <span class=
"lineNum" id=
"container1569"><a name=
"1569"></a><a href=
"#1569" id=
"line1569"> 1569</a> </span> : /* trick: delete last var. reference */
3076 <span class=
"lineNum" id=
"container1570"><a name=
"1570"></a><a href=
"#1570" id=
"line1570"> 1570</a> </span><span class=
"lineCov"> 20 : unset($value);
</span>
3077 <span class=
"lineNum" id=
"container1571"><a name=
"1571"></a><a href=
"#1571" id=
"line1571"> 1571</a> </span><span class=
"lineCov"> 20 : }
</span>
3078 <span class=
"lineNum" id=
"container1572"><a name=
"1572"></a><a href=
"#1572" id=
"line1572"> 1572</a> </span> : // }}}
3079 <span class=
"lineNum" id=
"container1573"><a name=
"1573"></a><a href=
"#1573" id=
"line1573"> 1573</a> </span> :
3080 <span class=
"lineNum" id=
"container1574"><a name=
"1574"></a><a href=
"#1574" id=
"line1574"> 1574</a> </span> : // void __clone() {{{
3081 <span class=
"lineNum" id=
"container1575"><a name=
"1575"></a><a href=
"#1575" id=
"line1575"> 1575</a> </span> : /**
3082 <span class=
"lineNum" id=
"container1576"><a name=
"1576"></a><a href=
"#1576" id=
"line1576"> 1576</a> </span> : * Cloned objects are rarely used, but ActiveMongo
3083 <span class=
"lineNum" id=
"container1577"><a name=
"1577"></a><a href=
"#1577" id=
"line1577"> 1577</a> </span> : * uses it to create different objects per everyrecord,
3084 <span class=
"lineNum" id=
"container1578"><a name=
"1578"></a><a href=
"#1578" id=
"line1578"> 1578</a> </span> : * which is used at deferencing. Therefore cloned object
3085 <span class=
"lineNum" id=
"container1579"><a name=
"1579"></a><a href=
"#1579" id=
"line1579"> 1579</a> </span> : * do not contains the recordset, just the actual document,
3086 <span class=
"lineNum" id=
"container1580"><a name=
"1580"></a><a href=
"#1580" id=
"line1580"> 1580</a> </span> : * so iterations are not allowed.
3087 <span class=
"lineNum" id=
"container1581"><a name=
"1581"></a><a href=
"#1581" id=
"line1581"> 1581</a> </span> : *
3088 <span class=
"lineNum" id=
"container1582"><a name=
"1582"></a><a href=
"#1582" id=
"line1582"> 1582</a> </span> : */
3089 <span class=
"lineNum" id=
"container1583"><a name=
"1583"></a><a href=
"#1583" id=
"line1583"> 1583</a> </span> : final function __clone()
3090 <span class=
"lineNum" id=
"container1584"><a name=
"1584"></a><a href=
"#1584" id=
"line1584"> 1584</a> </span> : {
3091 <span class=
"lineNum" id=
"container1585"><a name=
"1585"></a><a href=
"#1585" id=
"line1585"> 1585</a> </span><span class=
"lineCov"> 3 : if (!$this-
>_current) {
</span>
3092 <span class=
"lineNum" id=
"container1586"><a name=
"1586"></a><a href=
"#1586" id=
"line1586"> 1586</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Empty objects can't be cloned
");
</span>
3093 <span class=
"lineNum" id=
"container1587"><a name=
"1587"></a><a href=
"#1587" id=
"line1587"> 1587</a> </span><span class=
"lineDeadCode"> : }
</span>
3094 <span class=
"lineNum" id=
"container1588"><a name=
"1588"></a><a href=
"#1588" id=
"line1588"> 1588</a> </span><span class=
"lineCov"> 3 : unset($this-
>_cursor);
</span>
3095 <span class=
"lineNum" id=
"container1589"><a name=
"1589"></a><a href=
"#1589" id=
"line1589"> 1589</a> </span><span class=
"lineCov"> 3 : $this-
>_cloned = TRUE;
</span>
3096 <span class=
"lineNum" id=
"container1590"><a name=
"1590"></a><a href=
"#1590" id=
"line1590"> 1590</a> </span><span class=
"lineCov"> 3 : }
</span>
3097 <span class=
"lineNum" id=
"container1591"><a name=
"1591"></a><a href=
"#1591" id=
"line1591"> 1591</a> </span> : // }}}
3098 <span class=
"lineNum" id=
"container1592"><a name=
"1592"></a><a href=
"#1592" id=
"line1592"> 1592</a> </span> :
3099 <span class=
"lineNum" id=
"container1593"><a name=
"1593"></a><a href=
"#1593" id=
"line1593"> 1593</a> </span> : // }}}
3100 <span class=
"lineNum" id=
"container1594"><a name=
"1594"></a><a href=
"#1594" id=
"line1594"> 1594</a> </span> :
3101 <span class=
"lineNum" id=
"container1595"><a name=
"1595"></a><a href=
"#1595" id=
"line1595"> 1595</a> </span> : // GET DOCUMENT ID {{{
3102 <span class=
"lineNum" id=
"container1596"><a name=
"1596"></a><a href=
"#1596" id=
"line1596"> 1596</a> </span> :
3103 <span class=
"lineNum" id=
"container1597"><a name=
"1597"></a><a href=
"#1597" id=
"line1597"> 1597</a> </span> : // getID() {{{
3104 <span class=
"lineNum" id=
"container1598"><a name=
"1598"></a><a href=
"#1598" id=
"line1598"> 1598</a> </span> : /**
3105 <span class=
"lineNum" id=
"container1599"><a name=
"1599"></a><a href=
"#1599" id=
"line1599"> 1599</a> </span> : * Return the current document ID. If there is
3106 <span class=
"lineNum" id=
"container1600"><a name=
"1600"></a><a href=
"#1600" id=
"line1600"> 1600</a> </span> : * no document it would return FALSE.
3107 <span class=
"lineNum" id=
"container1601"><a name=
"1601"></a><a href=
"#1601" id=
"line1601"> 1601</a> </span> : *
3108 <span class=
"lineNum" id=
"container1602"><a name=
"1602"></a><a href=
"#1602" id=
"line1602"> 1602</a> </span> : * @return object|FALSE
3109 <span class=
"lineNum" id=
"container1603"><a name=
"1603"></a><a href=
"#1603" id=
"line1603"> 1603</a> </span> : */
3110 <span class=
"lineNum" id=
"container1604"><a name=
"1604"></a><a href=
"#1604" id=
"line1604"> 1604</a> </span> : final public function getID()
3111 <span class=
"lineNum" id=
"container1605"><a name=
"1605"></a><a href=
"#1605" id=
"line1605"> 1605</a> </span> : {
3112 <span class=
"lineNum" id=
"container1606"><a name=
"1606"></a><a href=
"#1606" id=
"line1606"> 1606</a> </span><span class=
"lineCov"> 26 : if ($this-
>_id instanceof MongoID) {
</span>
3113 <span class=
"lineNum" id=
"container1607"><a name=
"1607"></a><a href=
"#1607" id=
"line1607"> 1607</a> </span><span class=
"lineCov"> 18 : return $this-
>_id;
</span>
3114 <span class=
"lineNum" id=
"container1608"><a name=
"1608"></a><a href=
"#1608" id=
"line1608"> 1608</a> </span><span class=
"lineDeadCode"> : }
</span>
3115 <span class=
"lineNum" id=
"container1609"><a name=
"1609"></a><a href=
"#1609" id=
"line1609"> 1609</a> </span><span class=
"lineCov"> 23 : return FALSE;
</span>
3116 <span class=
"lineNum" id=
"container1610"><a name=
"1610"></a><a href=
"#1610" id=
"line1610"> 1610</a> </span><span class=
"lineDeadCode"> : }
</span>
3117 <span class=
"lineNum" id=
"container1611"><a name=
"1611"></a><a href=
"#1611" id=
"line1611"> 1611</a> </span> : // }}}
3118 <span class=
"lineNum" id=
"container1612"><a name=
"1612"></a><a href=
"#1612" id=
"line1612"> 1612</a> </span> :
3119 <span class=
"lineNum" id=
"container1613"><a name=
"1613"></a><a href=
"#1613" id=
"line1613"> 1613</a> </span> : // string key() {{{
3120 <span class=
"lineNum" id=
"container1614"><a name=
"1614"></a><a href=
"#1614" id=
"line1614"> 1614</a> </span> : /**
3121 <span class=
"lineNum" id=
"container1615"><a name=
"1615"></a><a href=
"#1615" id=
"line1615"> 1615</a> </span> : * Return the current key
3122 <span class=
"lineNum" id=
"container1616"><a name=
"1616"></a><a href=
"#1616" id=
"line1616"> 1616</a> </span> : *
3123 <span class=
"lineNum" id=
"container1617"><a name=
"1617"></a><a href=
"#1617" id=
"line1617"> 1617</a> </span> : * @return string
3124 <span class=
"lineNum" id=
"container1618"><a name=
"1618"></a><a href=
"#1618" id=
"line1618"> 1618</a> </span> : */
3125 <span class=
"lineNum" id=
"container1619"><a name=
"1619"></a><a href=
"#1619" id=
"line1619"> 1619</a> </span> : final function key()
3126 <span class=
"lineNum" id=
"container1620"><a name=
"1620"></a><a href=
"#1620" id=
"line1620"> 1620</a> </span> : {
3127 <span class=
"lineNum" id=
"container1621"><a name=
"1621"></a><a href=
"#1621" id=
"line1621"> 1621</a> </span><span class=
"lineCov"> 3 : return (string)$this-
>getID();
</span>
3128 <span class=
"lineNum" id=
"container1622"><a name=
"1622"></a><a href=
"#1622" id=
"line1622"> 1622</a> </span><span class=
"lineDeadCode"> : }
</span>
3129 <span class=
"lineNum" id=
"container1623"><a name=
"1623"></a><a href=
"#1623" id=
"line1623"> 1623</a> </span> : // }}}
3130 <span class=
"lineNum" id=
"container1624"><a name=
"1624"></a><a href=
"#1624" id=
"line1624"> 1624</a> </span> :
3131 <span class=
"lineNum" id=
"container1625"><a name=
"1625"></a><a href=
"#1625" id=
"line1625"> 1625</a> </span> : // }}}
3132 <span class=
"lineNum" id=
"container1626"><a name=
"1626"></a><a href=
"#1626" id=
"line1626"> 1626</a> </span> :
3133 <span class=
"lineNum" id=
"container1627"><a name=
"1627"></a><a href=
"#1627" id=
"line1627"> 1627</a> </span> : // Fancy (and silly) query abstraction {{{
3134 <span class=
"lineNum" id=
"container1628"><a name=
"1628"></a><a href=
"#1628" id=
"line1628"> 1628</a> </span> :
3135 <span class=
"lineNum" id=
"container1629"><a name=
"1629"></a><a href=
"#1629" id=
"line1629"> 1629</a> </span> : // _assertNotInQuery() {{{
3136 <span class=
"lineNum" id=
"container1630"><a name=
"1630"></a><a href=
"#1630" id=
"line1630"> 1630</a> </span> : /**
3137 <span class=
"lineNum" id=
"container1631"><a name=
"1631"></a><a href=
"#1631" id=
"line1631"> 1631</a> </span> : * Check if we can modify the query or not. We cannot modify
3138 <span class=
"lineNum" id=
"container1632"><a name=
"1632"></a><a href=
"#1632" id=
"line1632"> 1632</a> </span> : * the query if we're iterating over and oldest query, in this case the
3139 <span class=
"lineNum" id=
"container1633"><a name=
"1633"></a><a href=
"#1633" id=
"line1633"> 1633</a> </span> : * object must be reset.
3140 <span class=
"lineNum" id=
"container1634"><a name=
"1634"></a><a href=
"#1634" id=
"line1634"> 1634</a> </span> : *
3141 <span class=
"lineNum" id=
"container1635"><a name=
"1635"></a><a href=
"#1635" id=
"line1635"> 1635</a> </span> : * @return void
3142 <span class=
"lineNum" id=
"container1636"><a name=
"1636"></a><a href=
"#1636" id=
"line1636"> 1636</a> </span> : */
3143 <span class=
"lineNum" id=
"container1637"><a name=
"1637"></a><a href=
"#1637" id=
"line1637"> 1637</a> </span> : final private function _assertNotInQuery()
3144 <span class=
"lineNum" id=
"container1638"><a name=
"1638"></a><a href=
"#1638" id=
"line1638"> 1638</a> </span> : {
3145 <span class=
"lineNum" id=
"container1639"><a name=
"1639"></a><a href=
"#1639" id=
"line1639"> 1639</a> </span><span class=
"lineCov"> 32 : if ($this-
>_cloned || $this-
>_cursor InstanceOf MongoCursor || $this-
>_cursor_ex != NULL) {
</span>
3146 <span class=
"lineNum" id=
"container1640"><a name=
"1640"></a><a href=
"#1640" id=
"line1640"> 1640</a> </span><span class=
"lineCov"> 2 : throw new ActiveMongo_Exception(
"You cannot modify the query, please reset the object
");
</span>
3147 <span class=
"lineNum" id=
"container1641"><a name=
"1641"></a><a href=
"#1641" id=
"line1641"> 1641</a> </span><span class=
"lineDeadCode"> : }
</span>
3148 <span class=
"lineNum" id=
"container1642"><a name=
"1642"></a><a href=
"#1642" id=
"line1642"> 1642</a> </span><span class=
"lineCov"> 32 : }
</span>
3149 <span class=
"lineNum" id=
"container1643"><a name=
"1643"></a><a href=
"#1643" id=
"line1643"> 1643</a> </span> : // }}}
3150 <span class=
"lineNum" id=
"container1644"><a name=
"1644"></a><a href=
"#1644" id=
"line1644"> 1644</a> </span> :
3151 <span class=
"lineNum" id=
"container1645"><a name=
"1645"></a><a href=
"#1645" id=
"line1645"> 1645</a> </span> : // bool servedFromCache() {{{
3152 <span class=
"lineNum" id=
"container1646"><a name=
"1646"></a><a href=
"#1646" id=
"line1646"> 1646</a> </span> : /**
3153 <span class=
"lineNum" id=
"container1647"><a name=
"1647"></a><a href=
"#1647" id=
"line1647"> 1647</a> </span> : * Return True if the current result
3154 <span class=
"lineNum" id=
"container1648"><a name=
"1648"></a><a href=
"#1648" id=
"line1648"> 1648</a> </span> : * was provided by a before_query hook (aka cache)
3155 <span class=
"lineNum" id=
"container1649"><a name=
"1649"></a><a href=
"#1649" id=
"line1649"> 1649</a> </span> : * or False if it was retrieved from MongoDB
3156 <span class=
"lineNum" id=
"container1650"><a name=
"1650"></a><a href=
"#1650" id=
"line1650"> 1650</a> </span> : *
3157 <span class=
"lineNum" id=
"container1651"><a name=
"1651"></a><a href=
"#1651" id=
"line1651"> 1651</a> </span> : * @return bool
3158 <span class=
"lineNum" id=
"container1652"><a name=
"1652"></a><a href=
"#1652" id=
"line1652"> 1652</a> </span> : */
3159 <span class=
"lineNum" id=
"container1653"><a name=
"1653"></a><a href=
"#1653" id=
"line1653"> 1653</a> </span> : final function servedFromCache()
3160 <span class=
"lineNum" id=
"container1654"><a name=
"1654"></a><a href=
"#1654" id=
"line1654"> 1654</a> </span> : {
3161 <span class=
"lineNum" id=
"container1655"><a name=
"1655"></a><a href=
"#1655" id=
"line1655"> 1655</a> </span><span class=
"lineCov"> 6 : return $this-
>_cached;
</span>
3162 <span class=
"lineNum" id=
"container1656"><a name=
"1656"></a><a href=
"#1656" id=
"line1656"> 1656</a> </span><span class=
"lineDeadCode"> : }
</span>
3163 <span class=
"lineNum" id=
"container1657"><a name=
"1657"></a><a href=
"#1657" id=
"line1657"> 1657</a> </span> : // }}}
3164 <span class=
"lineNum" id=
"container1658"><a name=
"1658"></a><a href=
"#1658" id=
"line1658"> 1658</a> </span> :
3165 <span class=
"lineNum" id=
"container1659"><a name=
"1659"></a><a href=
"#1659" id=
"line1659"> 1659</a> </span> : // doQuery() {{{
3166 <span class=
"lineNum" id=
"container1660"><a name=
"1660"></a><a href=
"#1660" id=
"line1660"> 1660</a> </span> : /**
3167 <span class=
"lineNum" id=
"container1661"><a name=
"1661"></a><a href=
"#1661" id=
"line1661"> 1661</a> </span> : * Build the current request and send it to MongoDB.
3168 <span class=
"lineNum" id=
"container1662"><a name=
"1662"></a><a href=
"#1662" id=
"line1662"> 1662</a> </span> : *
3169 <span class=
"lineNum" id=
"container1663"><a name=
"1663"></a><a href=
"#1663" id=
"line1663"> 1663</a> </span> : * @return this
3170 <span class=
"lineNum" id=
"container1664"><a name=
"1664"></a><a href=
"#1664" id=
"line1664"> 1664</a> </span> : */
3171 <span class=
"lineNum" id=
"container1665"><a name=
"1665"></a><a href=
"#1665" id=
"line1665"> 1665</a> </span> : final function doQuery($use_cache=TRUE)
3172 <span class=
"lineNum" id=
"container1666"><a name=
"1666"></a><a href=
"#1666" id=
"line1666"> 1666</a> </span> : {
3173 <span class=
"lineNum" id=
"container1667"><a name=
"1667"></a><a href=
"#1667" id=
"line1667"> 1667</a> </span><span class=
"lineCov"> 26 : if ($this-
>_cursor_ex) {
</span>
3174 <span class=
"lineNum" id=
"container1668"><a name=
"1668"></a><a href=
"#1668" id=
"line1668"> 1668</a> </span><span class=
"lineNoCov"> 0 : switch ($this-
>_cursor_ex) {
</span>
3175 <span class=
"lineNum" id=
"container1669"><a name=
"1669"></a><a href=
"#1669" id=
"line1669"> 1669</a> </span><span class=
"lineNoCov"> 0 : case self::FIND_AND_MODIFY:
</span>
3176 <span class=
"lineNum" id=
"container1670"><a name=
"1670"></a><a href=
"#1670" id=
"line1670"> 1670</a> </span><span class=
"lineNoCov"> 0 : $this-
>_cursor_ex_value = NULL;
</span>
3177 <span class=
"lineNum" id=
"container1671"><a name=
"1671"></a><a href=
"#1671" id=
"line1671"> 1671</a> </span><span class=
"lineNoCov"> 0 : return;
</span>
3178 <span class=
"lineNum" id=
"container1672"><a name=
"1672"></a><a href=
"#1672" id=
"line1672"> 1672</a> </span><span class=
"lineNoCov"> 0 : default:
</span>
3179 <span class=
"lineNum" id=
"container1673"><a name=
"1673"></a><a href=
"#1673" id=
"line1673"> 1673</a> </span><span class=
"lineNoCov"> 0 : throw new ActiveMongo_Exception(
"Invalid _cursor_ex value
");
</span>
3180 <span class=
"lineNum" id=
"container1674"><a name=
"1674"></a><a href=
"#1674" id=
"line1674"> 1674</a> </span><span class=
"lineNoCov"> 0 : }
</span>
3181 <span class=
"lineNum" id=
"container1675"><a name=
"1675"></a><a href=
"#1675" id=
"line1675"> 1675</a> </span><span class=
"lineDeadCode"> : }
</span>
3182 <span class=
"lineNum" id=
"container1676"><a name=
"1676"></a><a href=
"#1676" id=
"line1676"> 1676</a> </span><span class=
"lineCov"> 26 : $this-
>_assertNotInQuery();
</span>
3183 <span class=
"lineNum" id=
"container1677"><a name=
"1677"></a><a href=
"#1677" id=
"line1677"> 1677</a> </span> :
3184 <span class=
"lineNum" id=
"container1678"><a name=
"1678"></a><a href=
"#1678" id=
"line1678"> 1678</a> </span> : $query = array(
3185 <span class=
"lineNum" id=
"container1679"><a name=
"1679"></a><a href=
"#1679" id=
"line1679"> 1679</a> </span><span class=
"lineCov"> 26 : 'collection' =
> $this-
>CollectionName(),
</span>
3186 <span class=
"lineNum" id=
"container1680"><a name=
"1680"></a><a href=
"#1680" id=
"line1680"> 1680</a> </span><span class=
"lineCov"> 26 : 'query' =
> (array)$this-
>_query,
</span>
3187 <span class=
"lineNum" id=
"container1681"><a name=
"1681"></a><a href=
"#1681" id=
"line1681"> 1681</a> </span><span class=
"lineCov"> 26 : 'properties' =
> (array)$this-
>_properties,
</span>
3188 <span class=
"lineNum" id=
"container1682"><a name=
"1682"></a><a href=
"#1682" id=
"line1682"> 1682</a> </span><span class=
"lineCov"> 26 : 'sort' =
> (array)$this-
>_sort,
</span>
3189 <span class=
"lineNum" id=
"container1683"><a name=
"1683"></a><a href=
"#1683" id=
"line1683"> 1683</a> </span><span class=
"lineCov"> 26 : 'skip' =
> $this-
>_skip,
</span>
3190 <span class=
"lineNum" id=
"container1684"><a name=
"1684"></a><a href=
"#1684" id=
"line1684"> 1684</a> </span><span class=
"lineCov"> 26 : 'limit' =
> $this-
>_limit
</span>
3191 <span class=
"lineNum" id=
"container1685"><a name=
"1685"></a><a href=
"#1685" id=
"line1685"> 1685</a> </span><span class=
"lineCov"> 26 : );
</span>
3192 <span class=
"lineNum" id=
"container1686"><a name=
"1686"></a><a href=
"#1686" id=
"line1686"> 1686</a> </span> :
3193 <span class=
"lineNum" id=
"container1687"><a name=
"1687"></a><a href=
"#1687" id=
"line1687"> 1687</a> </span><span class=
"lineCov"> 26 : $this-
>_cached = FALSE;
</span>
3194 <span class=
"lineNum" id=
"container1688"><a name=
"1688"></a><a href=
"#1688" id=
"line1688"> 1688</a> </span> :
3195 <span class=
"lineNum" id=
"container1689"><a name=
"1689"></a><a href=
"#1689" id=
"line1689"> 1689</a> </span><span class=
"lineCov"> 26 : self::triggerEvent('before_query', array(
&$query,
&$documents, $use_cache));
</span>
3196 <span class=
"lineNum" id=
"container1690"><a name=
"1690"></a><a href=
"#1690" id=
"line1690"> 1690</a> </span> :
3197 <span class=
"lineNum" id=
"container1691"><a name=
"1691"></a><a href=
"#1691" id=
"line1691"> 1691</a> </span><span class=
"lineCov"> 26 : if ($documents InstanceOf MongoCursor
&& $use_cache) {
</span>
3198 <span class=
"lineNum" id=
"container1692"><a name=
"1692"></a><a href=
"#1692" id=
"line1692"> 1692</a> </span><span class=
"lineCov"> 6 : $this-
>_cached = TRUE;
</span>
3199 <span class=
"lineNum" id=
"container1693"><a name=
"1693"></a><a href=
"#1693" id=
"line1693"> 1693</a> </span><span class=
"lineCov"> 6 : $this-
>setCursor($documents);
</span>
3200 <span class=
"lineNum" id=
"container1694"><a name=
"1694"></a><a href=
"#1694" id=
"line1694"> 1694</a> </span><span class=
"lineCov"> 6 : return $this;
</span>
3201 <span class=
"lineNum" id=
"container1695"><a name=
"1695"></a><a href=
"#1695" id=
"line1695"> 1695</a> </span><span class=
"lineDeadCode"> : }
</span>
3202 <span class=
"lineNum" id=
"container1696"><a name=
"1696"></a><a href=
"#1696" id=
"line1696"> 1696</a> </span> :
3203 <span class=
"lineNum" id=
"container1697"><a name=
"1697"></a><a href=
"#1697" id=
"line1697"> 1697</a> </span><span class=
"lineCov"> 25 : $col = $this-
>_getCollection();
</span>
3204 <span class=
"lineNum" id=
"container1698"><a name=
"1698"></a><a href=
"#1698" id=
"line1698"> 1698</a> </span><span class=
"lineCov"> 25 : if (count($query['properties'])
> 0) {
</span>
3205 <span class=
"lineNum" id=
"container1699"><a name=
"1699"></a><a href=
"#1699" id=
"line1699"> 1699</a> </span><span class=
"lineCov"> 3 : $cursor = $col-
>find($query['query'], $query['properties']);
</span>
3206 <span class=
"lineNum" id=
"container1700"><a name=
"1700"></a><a href=
"#1700" id=
"line1700"> 1700</a> </span><span class=
"lineCov"> 3 : } else {
</span>
3207 <span class=
"lineNum" id=
"container1701"><a name=
"1701"></a><a href=
"#1701" id=
"line1701"> 1701</a> </span><span class=
"lineCov"> 22 : $cursor = $col-
>find($query['query']);
</span>
3208 <span class=
"lineNum" id=
"container1702"><a name=
"1702"></a><a href=
"#1702" id=
"line1702"> 1702</a> </span> : }
3209 <span class=
"lineNum" id=
"container1703"><a name=
"1703"></a><a href=
"#1703" id=
"line1703"> 1703</a> </span><span class=
"lineCov"> 25 : if (count($query['sort'])
> 0) {
</span>
3210 <span class=
"lineNum" id=
"container1704"><a name=
"1704"></a><a href=
"#1704" id=
"line1704"> 1704</a> </span><span class=
"lineCov"> 3 : $cursor-
>sort($query['sort']);
</span>
3211 <span class=
"lineNum" id=
"container1705"><a name=
"1705"></a><a href=
"#1705" id=
"line1705"> 1705</a> </span><span class=
"lineCov"> 3 : }
</span>
3212 <span class=
"lineNum" id=
"container1706"><a name=
"1706"></a><a href=
"#1706" id=
"line1706"> 1706</a> </span><span class=
"lineCov"> 25 : if ($query['limit']
> 0) {
</span>
3213 <span class=
"lineNum" id=
"container1707"><a name=
"1707"></a><a href=
"#1707" id=
"line1707"> 1707</a> </span><span class=
"lineCov"> 3 : $cursor-
>limit($query['limit']);
</span>
3214 <span class=
"lineNum" id=
"container1708"><a name=
"1708"></a><a href=
"#1708" id=
"line1708"> 1708</a> </span><span class=
"lineCov"> 3 : }
</span>
3215 <span class=
"lineNum" id=
"container1709"><a name=
"1709"></a><a href=
"#1709" id=
"line1709"> 1709</a> </span><span class=
"lineCov"> 25 : if ($query['skip']
> 0) {
</span>
3216 <span class=
"lineNum" id=
"container1710"><a name=
"1710"></a><a href=
"#1710" id=
"line1710"> 1710</a> </span><span class=
"lineCov"> 3 : $cursor-
>skip($query['skip']);
</span>
3217 <span class=
"lineNum" id=
"container1711"><a name=
"1711"></a><a href=
"#1711" id=
"line1711"> 1711</a> </span><span class=
"lineCov"> 3 : }
</span>
3218 <span class=
"lineNum" id=
"container1712"><a name=
"1712"></a><a href=
"#1712" id=
"line1712"> 1712</a> </span> :
3219 <span class=
"lineNum" id=
"container1713"><a name=
"1713"></a><a href=
"#1713" id=
"line1713"> 1713</a> </span><span class=
"lineCov"> 25 : self::triggerEvent('after_query', array($query, $cursor));
</span>
3220 <span class=
"lineNum" id=
"container1714"><a name=
"1714"></a><a href=
"#1714" id=
"line1714"> 1714</a> </span> :
3221 <span class=
"lineNum" id=
"container1715"><a name=
"1715"></a><a href=
"#1715" id=
"line1715"> 1715</a> </span> : /* Our cursor must be sent to ActiveMongo */
3222 <span class=
"lineNum" id=
"container1716"><a name=
"1716"></a><a href=
"#1716" id=
"line1716"> 1716</a> </span><span class=
"lineCov"> 25 : $this-
>setCursor($cursor);
</span>
3223 <span class=
"lineNum" id=
"container1717"><a name=
"1717"></a><a href=
"#1717" id=
"line1717"> 1717</a> </span> :
3224 <span class=
"lineNum" id=
"container1718"><a name=
"1718"></a><a href=
"#1718" id=
"line1718"> 1718</a> </span><span class=
"lineCov"> 25 : return $this;
</span>
3225 <span class=
"lineNum" id=
"container1719"><a name=
"1719"></a><a href=
"#1719" id=
"line1719"> 1719</a> </span><span class=
"lineDeadCode"> : }
</span>
3226 <span class=
"lineNum" id=
"container1720"><a name=
"1720"></a><a href=
"#1720" id=
"line1720"> 1720</a> </span> : // }}}
3227 <span class=
"lineNum" id=
"container1721"><a name=
"1721"></a><a href=
"#1721" id=
"line1721"> 1721</a> </span> :
3228 <span class=
"lineNum" id=
"container1722"><a name=
"1722"></a><a href=
"#1722" id=
"line1722"> 1722</a> </span> : // properties($props) {{{
3229 <span class=
"lineNum" id=
"container1723"><a name=
"1723"></a><a href=
"#1723" id=
"line1723"> 1723</a> </span> : /**
3230 <span class=
"lineNum" id=
"container1724"><a name=
"1724"></a><a href=
"#1724" id=
"line1724"> 1724</a> </span> : * Select 'properties' or 'columns' to be included in the document,
3231 <span class=
"lineNum" id=
"container1725"><a name=
"1725"></a><a href=
"#1725" id=
"line1725"> 1725</a> </span> : * by default all properties are included.
3232 <span class=
"lineNum" id=
"container1726"><a name=
"1726"></a><a href=
"#1726" id=
"line1726"> 1726</a> </span> : *
3233 <span class=
"lineNum" id=
"container1727"><a name=
"1727"></a><a href=
"#1727" id=
"line1727"> 1727</a> </span> : * @param array $props
3234 <span class=
"lineNum" id=
"container1728"><a name=
"1728"></a><a href=
"#1728" id=
"line1728"> 1728</a> </span> : *
3235 <span class=
"lineNum" id=
"container1729"><a name=
"1729"></a><a href=
"#1729" id=
"line1729"> 1729</a> </span> : * @return this
3236 <span class=
"lineNum" id=
"container1730"><a name=
"1730"></a><a href=
"#1730" id=
"line1730"> 1730</a> </span> : */
3237 <span class=
"lineNum" id=
"container1731"><a name=
"1731"></a><a href=
"#1731" id=
"line1731"> 1731</a> </span> : final function properties($props)
3238 <span class=
"lineNum" id=
"container1732"><a name=
"1732"></a><a href=
"#1732" id=
"line1732"> 1732</a> </span> : {
3239 <span class=
"lineNum" id=
"container1733"><a name=
"1733"></a><a href=
"#1733" id=
"line1733"> 1733</a> </span><span class=
"lineCov"> 4 : $this-
>_assertNotInQuery();
</span>
3240 <span class=
"lineNum" id=
"container1734"><a name=
"1734"></a><a href=
"#1734" id=
"line1734"> 1734</a> </span> :
3241 <span class=
"lineNum" id=
"container1735"><a name=
"1735"></a><a href=
"#1735" id=
"line1735"> 1735</a> </span><span class=
"lineCov"> 4 : if (!is_array($props)
&& !is_string($props)) {
</span>
3242 <span class=
"lineNum" id=
"container1736"><a name=
"1736"></a><a href=
"#1736" id=
"line1736"> 1736</a> </span><span class=
"lineCov"> 1 : return FALSE;
</span>
3243 <span class=
"lineNum" id=
"container1737"><a name=
"1737"></a><a href=
"#1737" id=
"line1737"> 1737</a> </span><span class=
"lineDeadCode"> : }
</span>
3244 <span class=
"lineNum" id=
"container1738"><a name=
"1738"></a><a href=
"#1738" id=
"line1738"> 1738</a> </span> :
3245 <span class=
"lineNum" id=
"container1739"><a name=
"1739"></a><a href=
"#1739" id=
"line1739"> 1739</a> </span><span class=
"lineCov"> 3 : if (is_string($props)) {
</span>
3246 <span class=
"lineNum" id=
"container1740"><a name=
"1740"></a><a href=
"#1740" id=
"line1740"> 1740</a> </span><span class=
"lineCov"> 3 : $props = explode(
",
", $props);
</span>
3247 <span class=
"lineNum" id=
"container1741"><a name=
"1741"></a><a href=
"#1741" id=
"line1741"> 1741</a> </span><span class=
"lineCov"> 3 : }
</span>
3248 <span class=
"lineNum" id=
"container1742"><a name=
"1742"></a><a href=
"#1742" id=
"line1742"> 1742</a> </span> :
3249 <span class=
"lineNum" id=
"container1743"><a name=
"1743"></a><a href=
"#1743" id=
"line1743"> 1743</a> </span><span class=
"lineCov"> 3 : foreach ($props as $id =
> $name) {
</span>
3250 <span class=
"lineNum" id=
"container1744"><a name=
"1744"></a><a href=
"#1744" id=
"line1744"> 1744</a> </span><span class=
"lineCov"> 3 : $props[trim($name)] =
1;
</span>
3251 <span class=
"lineNum" id=
"container1745"><a name=
"1745"></a><a href=
"#1745" id=
"line1745"> 1745</a> </span><span class=
"lineCov"> 3 : unset($props[$id]);
</span>
3252 <span class=
"lineNum" id=
"container1746"><a name=
"1746"></a><a href=
"#1746" id=
"line1746"> 1746</a> </span><span class=
"lineCov"> 3 : }
</span>
3253 <span class=
"lineNum" id=
"container1747"><a name=
"1747"></a><a href=
"#1747" id=
"line1747"> 1747</a> </span> :
3254 <span class=
"lineNum" id=
"container1748"><a name=
"1748"></a><a href=
"#1748" id=
"line1748"> 1748</a> </span> :
3255 <span class=
"lineNum" id=
"container1749"><a name=
"1749"></a><a href=
"#1749" id=
"line1749"> 1749</a> </span> : /* _id should always be included */
3256 <span class=
"lineNum" id=
"container1750"><a name=
"1750"></a><a href=
"#1750" id=
"line1750"> 1750</a> </span><span class=
"lineCov"> 3 : $props['_id'] =
1;
</span>
3257 <span class=
"lineNum" id=
"container1751"><a name=
"1751"></a><a href=
"#1751" id=
"line1751"> 1751</a> </span> :
3258 <span class=
"lineNum" id=
"container1752"><a name=
"1752"></a><a href=
"#1752" id=
"line1752"> 1752</a> </span><span class=
"lineCov"> 3 : $this-
>_properties = $props;
</span>
3259 <span class=
"lineNum" id=
"container1753"><a name=
"1753"></a><a href=
"#1753" id=
"line1753"> 1753</a> </span> :
3260 <span class=
"lineNum" id=
"container1754"><a name=
"1754"></a><a href=
"#1754" id=
"line1754"> 1754</a> </span><span class=
"lineCov"> 3 : return $this;
</span>
3261 <span class=
"lineNum" id=
"container1755"><a name=
"1755"></a><a href=
"#1755" id=
"line1755"> 1755</a> </span><span class=
"lineDeadCode"> : }
</span>
3262 <span class=
"lineNum" id=
"container1756"><a name=
"1756"></a><a href=
"#1756" id=
"line1756"> 1756</a> </span> :
3263 <span class=
"lineNum" id=
"container1757"><a name=
"1757"></a><a href=
"#1757" id=
"line1757"> 1757</a> </span> : final function columns($properties)
3264 <span class=
"lineNum" id=
"container1758"><a name=
"1758"></a><a href=
"#1758" id=
"line1758"> 1758</a> </span> : {
3265 <span class=
"lineNum" id=
"container1759"><a name=
"1759"></a><a href=
"#1759" id=
"line1759"> 1759</a> </span><span class=
"lineCov"> 1 : return $this-
>properties($properties);
</span>
3266 <span class=
"lineNum" id=
"container1760"><a name=
"1760"></a><a href=
"#1760" id=
"line1760"> 1760</a> </span><span class=
"lineDeadCode"> : }
</span>
3267 <span class=
"lineNum" id=
"container1761"><a name=
"1761"></a><a href=
"#1761" id=
"line1761"> 1761</a> </span> : // }}}
3268 <span class=
"lineNum" id=
"container1762"><a name=
"1762"></a><a href=
"#1762" id=
"line1762"> 1762</a> </span> :
3269 <span class=
"lineNum" id=
"container1763"><a name=
"1763"></a><a href=
"#1763" id=
"line1763"> 1763</a> </span> : // where($property, $value) {{{
3270 <span class=
"lineNum" id=
"container1764"><a name=
"1764"></a><a href=
"#1764" id=
"line1764"> 1764</a> </span> : /**
3271 <span class=
"lineNum" id=
"container1765"><a name=
"1765"></a><a href=
"#1765" id=
"line1765"> 1765</a> </span> : * Where abstraction.
3272 <span class=
"lineNum" id=
"container1766"><a name=
"1766"></a><a href=
"#1766" id=
"line1766"> 1766</a> </span> : *
3273 <span class=
"lineNum" id=
"container1767"><a name=
"1767"></a><a href=
"#1767" id=
"line1767"> 1767</a> </span> : */
3274 <span class=
"lineNum" id=
"container1768"><a name=
"1768"></a><a href=
"#1768" id=
"line1768"> 1768</a> </span> : final function where($property_str, $value=NULL)
3275 <span class=
"lineNum" id=
"container1769"><a name=
"1769"></a><a href=
"#1769" id=
"line1769"> 1769</a> </span> : {
3276 <span class=
"lineNum" id=
"container1770"><a name=
"1770"></a><a href=
"#1770" id=
"line1770"> 1770</a> </span><span class=
"lineCov"> 23 : $this-
>_assertNotInQuery();
</span>
3277 <span class=
"lineNum" id=
"container1771"><a name=
"1771"></a><a href=
"#1771" id=
"line1771"> 1771</a> </span> :
3278 <span class=
"lineNum" id=
"container1772"><a name=
"1772"></a><a href=
"#1772" id=
"line1772"> 1772</a> </span><span class=
"lineCov"> 22 : if (is_array($property_str)) {
</span>
3279 <span class=
"lineNum" id=
"container1773"><a name=
"1773"></a><a href=
"#1773" id=
"line1773"> 1773</a> </span><span class=
"lineCov"> 4 : if ($value != NULL) {
</span>
3280 <span class=
"lineNum" id=
"container1774"><a name=
"1774"></a><a href=
"#1774" id=
"line1774"> 1774</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Invalid parameters
");
</span>
3281 <span class=
"lineNum" id=
"container1775"><a name=
"1775"></a><a href=
"#1775" id=
"line1775"> 1775</a> </span><span class=
"lineDeadCode"> : }
</span>
3282 <span class=
"lineNum" id=
"container1776"><a name=
"1776"></a><a href=
"#1776" id=
"line1776"> 1776</a> </span><span class=
"lineCov"> 3 : foreach ($property_str as $property =
> $value) {
</span>
3283 <span class=
"lineNum" id=
"container1777"><a name=
"1777"></a><a href=
"#1777" id=
"line1777"> 1777</a> </span><span class=
"lineCov"> 3 : if (is_numeric($property)) {
</span>
3284 <span class=
"lineNum" id=
"container1778"><a name=
"1778"></a><a href=
"#1778" id=
"line1778"> 1778</a> </span><span class=
"lineCov"> 1 : $property = $value;
</span>
3285 <span class=
"lineNum" id=
"container1779"><a name=
"1779"></a><a href=
"#1779" id=
"line1779"> 1779</a> </span><span class=
"lineCov"> 1 : $value = NULL;
</span>
3286 <span class=
"lineNum" id=
"container1780"><a name=
"1780"></a><a href=
"#1780" id=
"line1780"> 1780</a> </span><span class=
"lineCov"> 1 : }
</span>
3287 <span class=
"lineNum" id=
"container1781"><a name=
"1781"></a><a href=
"#1781" id=
"line1781"> 1781</a> </span><span class=
"lineCov"> 3 : $this-
>where($property, $value);
</span>
3288 <span class=
"lineNum" id=
"container1782"><a name=
"1782"></a><a href=
"#1782" id=
"line1782"> 1782</a> </span><span class=
"lineCov"> 3 : }
</span>
3289 <span class=
"lineNum" id=
"container1783"><a name=
"1783"></a><a href=
"#1783" id=
"line1783"> 1783</a> </span><span class=
"lineCov"> 3 : return $this;
</span>
3290 <span class=
"lineNum" id=
"container1784"><a name=
"1784"></a><a href=
"#1784" id=
"line1784"> 1784</a> </span><span class=
"lineDeadCode"> : }
</span>
3291 <span class=
"lineNum" id=
"container1785"><a name=
"1785"></a><a href=
"#1785" id=
"line1785"> 1785</a> </span> :
3292 <span class=
"lineNum" id=
"container1786"><a name=
"1786"></a><a href=
"#1786" id=
"line1786"> 1786</a> </span><span class=
"lineCov"> 22 : $column = explode(
" ", trim($property_str));
</span>
3293 <span class=
"lineNum" id=
"container1787"><a name=
"1787"></a><a href=
"#1787" id=
"line1787"> 1787</a> </span><span class=
"lineCov"> 22 : if (count($column) !=
1 && count($column) !=
2) {
</span>
3294 <span class=
"lineNum" id=
"container1788"><a name=
"1788"></a><a href=
"#1788" id=
"line1788"> 1788</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Failed while parsing '{$property_str}'
");
</span>
3295 <span class=
"lineNum" id=
"container1789"><a name=
"1789"></a><a href=
"#1789" id=
"line1789"> 1789</a> </span><span class=
"lineCov"> 21 : } else if (count($column) ==
2) {
</span>
3296 <span class=
"lineNum" id=
"container1790"><a name=
"1790"></a><a href=
"#1790" id=
"line1790"> 1790</a> </span> :
3297 <span class=
"lineNum" id=
"container1791"><a name=
"1791"></a><a href=
"#1791" id=
"line1791"> 1791</a> </span><span class=
"lineCov"> 13 : $exp_scalar = TRUE;
</span>
3298 <span class=
"lineNum" id=
"container1792"><a name=
"1792"></a><a href=
"#1792" id=
"line1792"> 1792</a> </span><span class=
"lineCov"> 13 : switch (strtolower($column[
1])) {
</span>
3299 <span class=
"lineNum" id=
"container1793"><a name=
"1793"></a><a href=
"#1793" id=
"line1793"> 1793</a> </span><span class=
"lineCov"> 13 : case '
>':
</span>
3300 <span class=
"lineNum" id=
"container1794"><a name=
"1794"></a><a href=
"#1794" id=
"line1794"> 1794</a> </span><span class=
"lineCov"> 13 : case '$gt':
</span>
3301 <span class=
"lineNum" id=
"container1795"><a name=
"1795"></a><a href=
"#1795" id=
"line1795"> 1795</a> </span><span class=
"lineCov"> 5 : $op = '$gt';
</span>
3302 <span class=
"lineNum" id=
"container1796"><a name=
"1796"></a><a href=
"#1796" id=
"line1796"> 1796</a> </span><span class=
"lineCov"> 5 : break;
</span>
3303 <span class=
"lineNum" id=
"container1797"><a name=
"1797"></a><a href=
"#1797" id=
"line1797"> 1797</a> </span> :
3304 <span class=
"lineNum" id=
"container1798"><a name=
"1798"></a><a href=
"#1798" id=
"line1798"> 1798</a> </span><span class=
"lineCov"> 13 : case '
>=':
</span>
3305 <span class=
"lineNum" id=
"container1799"><a name=
"1799"></a><a href=
"#1799" id=
"line1799"> 1799</a> </span><span class=
"lineCov"> 13 : case '$gte':
</span>
3306 <span class=
"lineNum" id=
"container1800"><a name=
"1800"></a><a href=
"#1800" id=
"line1800"> 1800</a> </span><span class=
"lineCov"> 1 : $op = '$gte';
</span>
3307 <span class=
"lineNum" id=
"container1801"><a name=
"1801"></a><a href=
"#1801" id=
"line1801"> 1801</a> </span><span class=
"lineCov"> 1 : break;
</span>
3308 <span class=
"lineNum" id=
"container1802"><a name=
"1802"></a><a href=
"#1802" id=
"line1802"> 1802</a> </span> :
3309 <span class=
"lineNum" id=
"container1803"><a name=
"1803"></a><a href=
"#1803" id=
"line1803"> 1803</a> </span><span class=
"lineCov"> 13 : case '
<':
</span>
3310 <span class=
"lineNum" id=
"container1804"><a name=
"1804"></a><a href=
"#1804" id=
"line1804"> 1804</a> </span><span class=
"lineCov"> 13 : case '$lt':
</span>
3311 <span class=
"lineNum" id=
"container1805"><a name=
"1805"></a><a href=
"#1805" id=
"line1805"> 1805</a> </span><span class=
"lineCov"> 5 : $op = '$lt';
</span>
3312 <span class=
"lineNum" id=
"container1806"><a name=
"1806"></a><a href=
"#1806" id=
"line1806"> 1806</a> </span><span class=
"lineCov"> 5 : break;
</span>
3313 <span class=
"lineNum" id=
"container1807"><a name=
"1807"></a><a href=
"#1807" id=
"line1807"> 1807</a> </span> :
3314 <span class=
"lineNum" id=
"container1808"><a name=
"1808"></a><a href=
"#1808" id=
"line1808"> 1808</a> </span><span class=
"lineCov"> 12 : case '
<=':
</span>
3315 <span class=
"lineNum" id=
"container1809"><a name=
"1809"></a><a href=
"#1809" id=
"line1809"> 1809</a> </span><span class=
"lineCov"> 12 : case '$lte':
</span>
3316 <span class=
"lineNum" id=
"container1810"><a name=
"1810"></a><a href=
"#1810" id=
"line1810"> 1810</a> </span><span class=
"lineCov"> 2 : $op = '$lte';
</span>
3317 <span class=
"lineNum" id=
"container1811"><a name=
"1811"></a><a href=
"#1811" id=
"line1811"> 1811</a> </span><span class=
"lineCov"> 2 : break;
</span>
3318 <span class=
"lineNum" id=
"container1812"><a name=
"1812"></a><a href=
"#1812" id=
"line1812"> 1812</a> </span> :
3319 <span class=
"lineNum" id=
"container1813"><a name=
"1813"></a><a href=
"#1813" id=
"line1813"> 1813</a> </span><span class=
"lineCov"> 12 : case '==':
</span>
3320 <span class=
"lineNum" id=
"container1814"><a name=
"1814"></a><a href=
"#1814" id=
"line1814"> 1814</a> </span><span class=
"lineCov"> 12 : case '$eq':
</span>
3321 <span class=
"lineNum" id=
"container1815"><a name=
"1815"></a><a href=
"#1815" id=
"line1815"> 1815</a> </span><span class=
"lineCov"> 12 : case '=':
</span>
3322 <span class=
"lineNum" id=
"container1816"><a name=
"1816"></a><a href=
"#1816" id=
"line1816"> 1816</a> </span><span class=
"lineCov"> 2 : if (is_array($value)) {
</span>
3323 <span class=
"lineNum" id=
"container1817"><a name=
"1817"></a><a href=
"#1817" id=
"line1817"> 1817</a> </span><span class=
"lineCov"> 2 : $op = '$all';
</span>
3324 <span class=
"lineNum" id=
"container1818"><a name=
"1818"></a><a href=
"#1818" id=
"line1818"> 1818</a> </span><span class=
"lineCov"> 2 : $exp_scalar = FALSE;
</span>
3325 <span class=
"lineNum" id=
"container1819"><a name=
"1819"></a><a href=
"#1819" id=
"line1819"> 1819</a> </span><span class=
"lineCov"> 2 : } else {
</span>
3326 <span class=
"lineNum" id=
"container1820"><a name=
"1820"></a><a href=
"#1820" id=
"line1820"> 1820</a> </span><span class=
"lineCov"> 1 : $op = NULL;
</span>
3327 <span class=
"lineNum" id=
"container1821"><a name=
"1821"></a><a href=
"#1821" id=
"line1821"> 1821</a> </span> : }
3328 <span class=
"lineNum" id=
"container1822"><a name=
"1822"></a><a href=
"#1822" id=
"line1822"> 1822</a> </span><span class=
"lineCov"> 2 : break;
</span>
3329 <span class=
"lineNum" id=
"container1823"><a name=
"1823"></a><a href=
"#1823" id=
"line1823"> 1823</a> </span> :
3330 <span class=
"lineNum" id=
"container1824"><a name=
"1824"></a><a href=
"#1824" id=
"line1824"> 1824</a> </span><span class=
"lineCov"> 12 : case '!=':
</span>
3331 <span class=
"lineNum" id=
"container1825"><a name=
"1825"></a><a href=
"#1825" id=
"line1825"> 1825</a> </span><span class=
"lineCov"> 12 : case '
<>':
</span>
3332 <span class=
"lineNum" id=
"container1826"><a name=
"1826"></a><a href=
"#1826" id=
"line1826"> 1826</a> </span><span class=
"lineCov"> 12 : case '$ne':
</span>
3333 <span class=
"lineNum" id=
"container1827"><a name=
"1827"></a><a href=
"#1827" id=
"line1827"> 1827</a> </span><span class=
"lineCov"> 3 : if (is_array($value)) {
</span>
3334 <span class=
"lineNum" id=
"container1828"><a name=
"1828"></a><a href=
"#1828" id=
"line1828"> 1828</a> </span><span class=
"lineCov"> 1 : $op = '$nin';
</span>
3335 <span class=
"lineNum" id=
"container1829"><a name=
"1829"></a><a href=
"#1829" id=
"line1829"> 1829</a> </span><span class=
"lineCov"> 1 : $exp_scalar = FALSE;
</span>
3336 <span class=
"lineNum" id=
"container1830"><a name=
"1830"></a><a href=
"#1830" id=
"line1830"> 1830</a> </span><span class=
"lineCov"> 1 : } else {
</span>
3337 <span class=
"lineNum" id=
"container1831"><a name=
"1831"></a><a href=
"#1831" id=
"line1831"> 1831</a> </span><span class=
"lineCov"> 3 : $op = '$ne';
</span>
3338 <span class=
"lineNum" id=
"container1832"><a name=
"1832"></a><a href=
"#1832" id=
"line1832"> 1832</a> </span> : }
3339 <span class=
"lineNum" id=
"container1833"><a name=
"1833"></a><a href=
"#1833" id=
"line1833"> 1833</a> </span><span class=
"lineCov"> 3 : break;
</span>
3340 <span class=
"lineNum" id=
"container1834"><a name=
"1834"></a><a href=
"#1834" id=
"line1834"> 1834</a> </span> :
3341 <span class=
"lineNum" id=
"container1835"><a name=
"1835"></a><a href=
"#1835" id=
"line1835"> 1835</a> </span><span class=
"lineCov"> 11 : case '%':
</span>
3342 <span class=
"lineNum" id=
"container1836"><a name=
"1836"></a><a href=
"#1836" id=
"line1836"> 1836</a> </span><span class=
"lineCov"> 11 : case 'mod':
</span>
3343 <span class=
"lineNum" id=
"container1837"><a name=
"1837"></a><a href=
"#1837" id=
"line1837"> 1837</a> </span><span class=
"lineCov"> 11 : case '$mod':
</span>
3344 <span class=
"lineNum" id=
"container1838"><a name=
"1838"></a><a href=
"#1838" id=
"line1838"> 1838</a> </span><span class=
"lineCov"> 1 : $op = '$mod';
</span>
3345 <span class=
"lineNum" id=
"container1839"><a name=
"1839"></a><a href=
"#1839" id=
"line1839"> 1839</a> </span><span class=
"lineCov"> 1 : $exp_scalar = FALSE;
</span>
3346 <span class=
"lineNum" id=
"container1840"><a name=
"1840"></a><a href=
"#1840" id=
"line1840"> 1840</a> </span><span class=
"lineCov"> 1 : break;
</span>
3347 <span class=
"lineNum" id=
"container1841"><a name=
"1841"></a><a href=
"#1841" id=
"line1841"> 1841</a> </span> :
3348 <span class=
"lineNum" id=
"container1842"><a name=
"1842"></a><a href=
"#1842" id=
"line1842"> 1842</a> </span><span class=
"lineCov"> 10 : case 'exists':
</span>
3349 <span class=
"lineNum" id=
"container1843"><a name=
"1843"></a><a href=
"#1843" id=
"line1843"> 1843</a> </span><span class=
"lineCov"> 10 : case '$exists':
</span>
3350 <span class=
"lineNum" id=
"container1844"><a name=
"1844"></a><a href=
"#1844" id=
"line1844"> 1844</a> </span><span class=
"lineCov"> 3 : if ($value === NULL) {
</span>
3351 <span class=
"lineNum" id=
"container1845"><a name=
"1845"></a><a href=
"#1845" id=
"line1845"> 1845</a> </span><span class=
"lineCov"> 1 : $value =
1;
</span>
3352 <span class=
"lineNum" id=
"container1846"><a name=
"1846"></a><a href=
"#1846" id=
"line1846"> 1846</a> </span><span class=
"lineCov"> 1 : }
</span>
3353 <span class=
"lineNum" id=
"container1847"><a name=
"1847"></a><a href=
"#1847" id=
"line1847"> 1847</a> </span><span class=
"lineCov"> 3 : $op = '$exists';
</span>
3354 <span class=
"lineNum" id=
"container1848"><a name=
"1848"></a><a href=
"#1848" id=
"line1848"> 1848</a> </span><span class=
"lineCov"> 3 : break;
</span>
3355 <span class=
"lineNum" id=
"container1849"><a name=
"1849"></a><a href=
"#1849" id=
"line1849"> 1849</a> </span> :
3356 <span class=
"lineNum" id=
"container1850"><a name=
"1850"></a><a href=
"#1850" id=
"line1850"> 1850</a> </span> : /* regexp */
3357 <span class=
"lineNum" id=
"container1851"><a name=
"1851"></a><a href=
"#1851" id=
"line1851"> 1851</a> </span><span class=
"lineCov"> 8 : case 'regexp':
</span>
3358 <span class=
"lineNum" id=
"container1852"><a name=
"1852"></a><a href=
"#1852" id=
"line1852"> 1852</a> </span><span class=
"lineCov"> 8 : case 'regex':
</span>
3359 <span class=
"lineNum" id=
"container1853"><a name=
"1853"></a><a href=
"#1853" id=
"line1853"> 1853</a> </span><span class=
"lineCov"> 3 : $value = new MongoRegex($value);
</span>
3360 <span class=
"lineNum" id=
"container1854"><a name=
"1854"></a><a href=
"#1854" id=
"line1854"> 1854</a> </span><span class=
"lineCov"> 3 : $op = NULL;
</span>
3361 <span class=
"lineNum" id=
"container1855"><a name=
"1855"></a><a href=
"#1855" id=
"line1855"> 1855</a> </span><span class=
"lineCov"> 3 : break;
</span>
3362 <span class=
"lineNum" id=
"container1856"><a name=
"1856"></a><a href=
"#1856" id=
"line1856"> 1856</a> </span> :
3363 <span class=
"lineNum" id=
"container1857"><a name=
"1857"></a><a href=
"#1857" id=
"line1857"> 1857</a> </span> : /* arrays */
3364 <span class=
"lineNum" id=
"container1858"><a name=
"1858"></a><a href=
"#1858" id=
"line1858"> 1858</a> </span><span class=
"lineCov"> 8 : case 'in':
</span>
3365 <span class=
"lineNum" id=
"container1859"><a name=
"1859"></a><a href=
"#1859" id=
"line1859"> 1859</a> </span><span class=
"lineCov"> 8 : case '$in':
</span>
3366 <span class=
"lineNum" id=
"container1860"><a name=
"1860"></a><a href=
"#1860" id=
"line1860"> 1860</a> </span><span class=
"lineCov"> 7 : $exp_scalar = FALSE;
</span>
3367 <span class=
"lineNum" id=
"container1861"><a name=
"1861"></a><a href=
"#1861" id=
"line1861"> 1861</a> </span><span class=
"lineCov"> 7 : $op = '$in';
</span>
3368 <span class=
"lineNum" id=
"container1862"><a name=
"1862"></a><a href=
"#1862" id=
"line1862"> 1862</a> </span><span class=
"lineCov"> 7 : break;
</span>
3369 <span class=
"lineNum" id=
"container1863"><a name=
"1863"></a><a href=
"#1863" id=
"line1863"> 1863</a> </span> :
3370 <span class=
"lineNum" id=
"container1864"><a name=
"1864"></a><a href=
"#1864" id=
"line1864"> 1864</a> </span><span class=
"lineCov"> 4 : case '$nin':
</span>
3371 <span class=
"lineNum" id=
"container1865"><a name=
"1865"></a><a href=
"#1865" id=
"line1865"> 1865</a> </span><span class=
"lineCov"> 4 : case 'nin':
</span>
3372 <span class=
"lineNum" id=
"container1866"><a name=
"1866"></a><a href=
"#1866" id=
"line1866"> 1866</a> </span><span class=
"lineCov"> 4 : $exp_scalar = FALSE;
</span>
3373 <span class=
"lineNum" id=
"container1867"><a name=
"1867"></a><a href=
"#1867" id=
"line1867"> 1867</a> </span><span class=
"lineCov"> 4 : $op = '$nin';
</span>
3374 <span class=
"lineNum" id=
"container1868"><a name=
"1868"></a><a href=
"#1868" id=
"line1868"> 1868</a> </span><span class=
"lineCov"> 4 : break;
</span>
3375 <span class=
"lineNum" id=
"container1869"><a name=
"1869"></a><a href=
"#1869" id=
"line1869"> 1869</a> </span> :
3376 <span class=
"lineNum" id=
"container1870"><a name=
"1870"></a><a href=
"#1870" id=
"line1870"> 1870</a> </span> :
3377 <span class=
"lineNum" id=
"container1871"><a name=
"1871"></a><a href=
"#1871" id=
"line1871"> 1871</a> </span> : /* geo operations */
3378 <span class=
"lineNum" id=
"container1872"><a name=
"1872"></a><a href=
"#1872" id=
"line1872"> 1872</a> </span><span class=
"lineCov"> 1 : case 'near':
</span>
3379 <span class=
"lineNum" id=
"container1873"><a name=
"1873"></a><a href=
"#1873" id=
"line1873"> 1873</a> </span><span class=
"lineCov"> 1 : case '$near':
</span>
3380 <span class=
"lineNum" id=
"container1874"><a name=
"1874"></a><a href=
"#1874" id=
"line1874"> 1874</a> </span><span class=
"lineCov"> 1 : $op = '$near';
</span>
3381 <span class=
"lineNum" id=
"container1875"><a name=
"1875"></a><a href=
"#1875" id=
"line1875"> 1875</a> </span><span class=
"lineCov"> 1 : $exp_scalar = FALSE;
</span>
3382 <span class=
"lineNum" id=
"container1876"><a name=
"1876"></a><a href=
"#1876" id=
"line1876"> 1876</a> </span><span class=
"lineCov"> 1 : break;
</span>
3383 <span class=
"lineNum" id=
"container1877"><a name=
"1877"></a><a href=
"#1877" id=
"line1877"> 1877</a> </span> :
3384 <span class=
"lineNum" id=
"container1878"><a name=
"1878"></a><a href=
"#1878" id=
"line1878"> 1878</a> </span><span class=
"lineCov"> 1 : default:
</span>
3385 <span class=
"lineNum" id=
"container1879"><a name=
"1879"></a><a href=
"#1879" id=
"line1879"> 1879</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Failed to parse '{$column[
1]}'
");
</span>
3386 <span class=
"lineNum" id=
"container1880"><a name=
"1880"></a><a href=
"#1880" id=
"line1880"> 1880</a> </span><span class=
"lineCov"> 13 : }
</span>
3387 <span class=
"lineNum" id=
"container1881"><a name=
"1881"></a><a href=
"#1881" id=
"line1881"> 1881</a> </span> :
3388 <span class=
"lineNum" id=
"container1882"><a name=
"1882"></a><a href=
"#1882" id=
"line1882"> 1882</a> </span><span class=
"lineCov"> 13 : if ($exp_scalar
&& is_array($value)) {
</span>
3389 <span class=
"lineNum" id=
"container1883"><a name=
"1883"></a><a href=
"#1883" id=
"line1883"> 1883</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Cannot use comparing operations with Array
");
</span>
3390 <span class=
"lineNum" id=
"container1884"><a name=
"1884"></a><a href=
"#1884" id=
"line1884"> 1884</a> </span><span class=
"lineCov"> 13 : } else if (!$exp_scalar
&& !is_array($value)) {
</span>
3391 <span class=
"lineNum" id=
"container1885"><a name=
"1885"></a><a href=
"#1885" id=
"line1885"> 1885</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"The operation {$column[
1]} expected an Array
");
</span>
3392 <span class=
"lineNum" id=
"container1886"><a name=
"1886"></a><a href=
"#1886" id=
"line1886"> 1886</a> </span><span class=
"lineDeadCode"> : }
</span>
3393 <span class=
"lineNum" id=
"container1887"><a name=
"1887"></a><a href=
"#1887" id=
"line1887"> 1887</a> </span> :
3394 <span class=
"lineNum" id=
"container1888"><a name=
"1888"></a><a href=
"#1888" id=
"line1888"> 1888</a> </span><span class=
"lineCov"> 12 : if ($op) {
</span>
3395 <span class=
"lineNum" id=
"container1889"><a name=
"1889"></a><a href=
"#1889" id=
"line1889"> 1889</a> </span><span class=
"lineCov"> 12 : $value = array($op =
> $value);
</span>
3396 <span class=
"lineNum" id=
"container1890"><a name=
"1890"></a><a href=
"#1890" id=
"line1890"> 1890</a> </span><span class=
"lineCov"> 12 : }
</span>
3397 <span class=
"lineNum" id=
"container1891"><a name=
"1891"></a><a href=
"#1891" id=
"line1891"> 1891</a> </span><span class=
"lineCov"> 20 : } else if (is_array($value)) {
</span>
3398 <span class=
"lineNum" id=
"container1892"><a name=
"1892"></a><a href=
"#1892" id=
"line1892"> 1892</a> </span><span class=
"lineCov"> 1 : $value = array('$in' =
> $value);
</span>
3399 <span class=
"lineNum" id=
"container1893"><a name=
"1893"></a><a href=
"#1893" id=
"line1893"> 1893</a> </span><span class=
"lineCov"> 1 : }
</span>
3400 <span class=
"lineNum" id=
"container1894"><a name=
"1894"></a><a href=
"#1894" id=
"line1894"> 1894</a> </span> :
3401 <span class=
"lineNum" id=
"container1895"><a name=
"1895"></a><a href=
"#1895" id=
"line1895"> 1895</a> </span><span class=
"lineCov"> 20 : $spot =
& $this-
>_query[$column[
0]];
</span>
3402 <span class=
"lineNum" id=
"container1896"><a name=
"1896"></a><a href=
"#1896" id=
"line1896"> 1896</a> </span><span class=
"lineCov"> 20 : if (is_array($spot)
&& is_array($value)) {
</span>
3403 <span class=
"lineNum" id=
"container1897"><a name=
"1897"></a><a href=
"#1897" id=
"line1897"> 1897</a> </span><span class=
"lineCov"> 4 : $spot[key($value)] = current($value);
</span>
3404 <span class=
"lineNum" id=
"container1898"><a name=
"1898"></a><a href=
"#1898" id=
"line1898"> 1898</a> </span><span class=
"lineCov"> 4 : } else {
</span>
3405 <span class=
"lineNum" id=
"container1899"><a name=
"1899"></a><a href=
"#1899" id=
"line1899"> 1899</a> </span> : /* simulate AND among same properties if
3406 <span class=
"lineNum" id=
"container1900"><a name=
"1900"></a><a href=
"#1900" id=
"line1900"> 1900</a> </span> : * multiple values is passed for same property
3407 <span class=
"lineNum" id=
"container1901"><a name=
"1901"></a><a href=
"#1901" id=
"line1901"> 1901</a> </span> : */
3408 <span class=
"lineNum" id=
"container1902"><a name=
"1902"></a><a href=
"#1902" id=
"line1902"> 1902</a> </span><span class=
"lineCov"> 20 : if (isset($spot)) {
</span>
3409 <span class=
"lineNum" id=
"container1903"><a name=
"1903"></a><a href=
"#1903" id=
"line1903"> 1903</a> </span><span class=
"lineCov"> 1 : if (is_array($spot)) {
</span>
3410 <span class=
"lineNum" id=
"container1904"><a name=
"1904"></a><a href=
"#1904" id=
"line1904"> 1904</a> </span><span class=
"lineCov"> 1 : $spot['$all'][] = $value;
</span>
3411 <span class=
"lineNum" id=
"container1905"><a name=
"1905"></a><a href=
"#1905" id=
"line1905"> 1905</a> </span><span class=
"lineCov"> 1 : } else {
</span>
3412 <span class=
"lineNum" id=
"container1906"><a name=
"1906"></a><a href=
"#1906" id=
"line1906"> 1906</a> </span><span class=
"lineCov"> 1 : $spot = array('$all' =
> array($spot, $value));
</span>
3413 <span class=
"lineNum" id=
"container1907"><a name=
"1907"></a><a href=
"#1907" id=
"line1907"> 1907</a> </span> : }
3414 <span class=
"lineNum" id=
"container1908"><a name=
"1908"></a><a href=
"#1908" id=
"line1908"> 1908</a> </span><span class=
"lineCov"> 1 : } else {
</span>
3415 <span class=
"lineNum" id=
"container1909"><a name=
"1909"></a><a href=
"#1909" id=
"line1909"> 1909</a> </span><span class=
"lineCov"> 20 : $spot = $value;
</span>
3416 <span class=
"lineNum" id=
"container1910"><a name=
"1910"></a><a href=
"#1910" id=
"line1910"> 1910</a> </span> : }
3417 <span class=
"lineNum" id=
"container1911"><a name=
"1911"></a><a href=
"#1911" id=
"line1911"> 1911</a> </span> : }
3418 <span class=
"lineNum" id=
"container1912"><a name=
"1912"></a><a href=
"#1912" id=
"line1912"> 1912</a> </span> :
3419 <span class=
"lineNum" id=
"container1913"><a name=
"1913"></a><a href=
"#1913" id=
"line1913"> 1913</a> </span><span class=
"lineCov"> 20 : return $this;
</span>
3420 <span class=
"lineNum" id=
"container1914"><a name=
"1914"></a><a href=
"#1914" id=
"line1914"> 1914</a> </span><span class=
"lineDeadCode"> : }
</span>
3421 <span class=
"lineNum" id=
"container1915"><a name=
"1915"></a><a href=
"#1915" id=
"line1915"> 1915</a> </span> : // }}}
3422 <span class=
"lineNum" id=
"container1916"><a name=
"1916"></a><a href=
"#1916" id=
"line1916"> 1916</a> </span> :
3423 <span class=
"lineNum" id=
"container1917"><a name=
"1917"></a><a href=
"#1917" id=
"line1917"> 1917</a> </span> : // sort($sort_str) {{{
3424 <span class=
"lineNum" id=
"container1918"><a name=
"1918"></a><a href=
"#1918" id=
"line1918"> 1918</a> </span> : /**
3425 <span class=
"lineNum" id=
"container1919"><a name=
"1919"></a><a href=
"#1919" id=
"line1919"> 1919</a> </span> : * Abstract the documents sorting.
3426 <span class=
"lineNum" id=
"container1920"><a name=
"1920"></a><a href=
"#1920" id=
"line1920"> 1920</a> </span> : *
3427 <span class=
"lineNum" id=
"container1921"><a name=
"1921"></a><a href=
"#1921" id=
"line1921"> 1921</a> </span> : * @param string $sort_str List of properties to use as sorting
3428 <span class=
"lineNum" id=
"container1922"><a name=
"1922"></a><a href=
"#1922" id=
"line1922"> 1922</a> </span> : *
3429 <span class=
"lineNum" id=
"container1923"><a name=
"1923"></a><a href=
"#1923" id=
"line1923"> 1923</a> </span> : * @return this
3430 <span class=
"lineNum" id=
"container1924"><a name=
"1924"></a><a href=
"#1924" id=
"line1924"> 1924</a> </span> : */
3431 <span class=
"lineNum" id=
"container1925"><a name=
"1925"></a><a href=
"#1925" id=
"line1925"> 1925</a> </span> : final function sort($sort_str)
3432 <span class=
"lineNum" id=
"container1926"><a name=
"1926"></a><a href=
"#1926" id=
"line1926"> 1926</a> </span> : {
3433 <span class=
"lineNum" id=
"container1927"><a name=
"1927"></a><a href=
"#1927" id=
"line1927"> 1927</a> </span><span class=
"lineCov"> 6 : $this-
>_assertNotInQuery();
</span>
3434 <span class=
"lineNum" id=
"container1928"><a name=
"1928"></a><a href=
"#1928" id=
"line1928"> 1928</a> </span> :
3435 <span class=
"lineNum" id=
"container1929"><a name=
"1929"></a><a href=
"#1929" id=
"line1929"> 1929</a> </span><span class=
"lineCov"> 6 : $this-
>_sort = array();
</span>
3436 <span class=
"lineNum" id=
"container1930"><a name=
"1930"></a><a href=
"#1930" id=
"line1930"> 1930</a> </span><span class=
"lineCov"> 6 : foreach ((array)explode(
",
", $sort_str) as $sort_part_str) {
</span>
3437 <span class=
"lineNum" id=
"container1931"><a name=
"1931"></a><a href=
"#1931" id=
"line1931"> 1931</a> </span><span class=
"lineCov"> 6 : $sort_part = explode(
" ", trim($sort_part_str),
2);
</span>
3438 <span class=
"lineNum" id=
"container1932"><a name=
"1932"></a><a href=
"#1932" id=
"line1932"> 1932</a> </span><span class=
"lineCov"> 6 : switch(count($sort_part)) {
</span>
3439 <span class=
"lineNum" id=
"container1933"><a name=
"1933"></a><a href=
"#1933" id=
"line1933"> 1933</a> </span><span class=
"lineCov"> 6 : case
1:
</span>
3440 <span class=
"lineNum" id=
"container1934"><a name=
"1934"></a><a href=
"#1934" id=
"line1934"> 1934</a> </span><span class=
"lineCov"> 1 : $sort_part[
1] = 'ASC';
</span>
3441 <span class=
"lineNum" id=
"container1935"><a name=
"1935"></a><a href=
"#1935" id=
"line1935"> 1935</a> </span><span class=
"lineCov"> 1 : break;
</span>
3442 <span class=
"lineNum" id=
"container1936"><a name=
"1936"></a><a href=
"#1936" id=
"line1936"> 1936</a> </span><span class=
"lineCov"> 6 : case
2:
</span>
3443 <span class=
"lineNum" id=
"container1937"><a name=
"1937"></a><a href=
"#1937" id=
"line1937"> 1937</a> </span><span class=
"lineCov"> 6 : break;
</span>
3444 <span class=
"lineNum" id=
"container1938"><a name=
"1938"></a><a href=
"#1938" id=
"line1938"> 1938</a> </span><span class=
"lineNoCov"> 0 : default:
</span>
3445 <span class=
"lineNum" id=
"container1939"><a name=
"1939"></a><a href=
"#1939" id=
"line1939"> 1939</a> </span><span class=
"lineNoCov"> 0 : throw new ActiveMongo_Exception(
"Don't know how to parse {$sort_part_str}
");
</span>
3446 <span class=
"lineNum" id=
"container1940"><a name=
"1940"></a><a href=
"#1940" id=
"line1940"> 1940</a> </span><span class=
"lineCov"> 6 : }
</span>
3447 <span class=
"lineNum" id=
"container1941"><a name=
"1941"></a><a href=
"#1941" id=
"line1941"> 1941</a> </span> :
3448 <span class=
"lineNum" id=
"container1942"><a name=
"1942"></a><a href=
"#1942" id=
"line1942"> 1942</a> </span> : /* Columns name can't be empty */
3449 <span class=
"lineNum" id=
"container1943"><a name=
"1943"></a><a href=
"#1943" id=
"line1943"> 1943</a> </span><span class=
"lineCov"> 6 : if (!trim($sort_part[
0])) {
</span>
3450 <span class=
"lineNum" id=
"container1944"><a name=
"1944"></a><a href=
"#1944" id=
"line1944"> 1944</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Don't know how to parse {$sort_part_str}
");
</span>
3451 <span class=
"lineNum" id=
"container1945"><a name=
"1945"></a><a href=
"#1945" id=
"line1945"> 1945</a> </span><span class=
"lineDeadCode"> : }
</span>
3452 <span class=
"lineNum" id=
"container1946"><a name=
"1946"></a><a href=
"#1946" id=
"line1946"> 1946</a> </span> :
3453 <span class=
"lineNum" id=
"container1947"><a name=
"1947"></a><a href=
"#1947" id=
"line1947"> 1947</a> </span><span class=
"lineCov"> 6 : switch (strtoupper($sort_part[
1])) {
</span>
3454 <span class=
"lineNum" id=
"container1948"><a name=
"1948"></a><a href=
"#1948" id=
"line1948"> 1948</a> </span><span class=
"lineCov"> 6 : case 'ASC':
</span>
3455 <span class=
"lineNum" id=
"container1949"><a name=
"1949"></a><a href=
"#1949" id=
"line1949"> 1949</a> </span><span class=
"lineCov"> 3 : $sort_part[
1] =
1;
</span>
3456 <span class=
"lineNum" id=
"container1950"><a name=
"1950"></a><a href=
"#1950" id=
"line1950"> 1950</a> </span><span class=
"lineCov"> 3 : break;
</span>
3457 <span class=
"lineNum" id=
"container1951"><a name=
"1951"></a><a href=
"#1951" id=
"line1951"> 1951</a> </span><span class=
"lineCov"> 6 : case 'DESC':
</span>
3458 <span class=
"lineNum" id=
"container1952"><a name=
"1952"></a><a href=
"#1952" id=
"line1952"> 1952</a> </span><span class=
"lineCov"> 6 : $sort_part[
1] = -
1;
</span>
3459 <span class=
"lineNum" id=
"container1953"><a name=
"1953"></a><a href=
"#1953" id=
"line1953"> 1953</a> </span><span class=
"lineCov"> 6 : break;
</span>
3460 <span class=
"lineNum" id=
"container1954"><a name=
"1954"></a><a href=
"#1954" id=
"line1954"> 1954</a> </span><span class=
"lineCov"> 1 : default:
</span>
3461 <span class=
"lineNum" id=
"container1955"><a name=
"1955"></a><a href=
"#1955" id=
"line1955"> 1955</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Invalid sorting direction `{$sort_part[
1]}`
");
</span>
3462 <span class=
"lineNum" id=
"container1956"><a name=
"1956"></a><a href=
"#1956" id=
"line1956"> 1956</a> </span><span class=
"lineCov"> 6 : }
</span>
3463 <span class=
"lineNum" id=
"container1957"><a name=
"1957"></a><a href=
"#1957" id=
"line1957"> 1957</a> </span><span class=
"lineCov"> 6 : $this-
>_sort[ $sort_part[
0] ] = $sort_part[
1];
</span>
3464 <span class=
"lineNum" id=
"container1958"><a name=
"1958"></a><a href=
"#1958" id=
"line1958"> 1958</a> </span><span class=
"lineCov"> 6 : }
</span>
3465 <span class=
"lineNum" id=
"container1959"><a name=
"1959"></a><a href=
"#1959" id=
"line1959"> 1959</a> </span> :
3466 <span class=
"lineNum" id=
"container1960"><a name=
"1960"></a><a href=
"#1960" id=
"line1960"> 1960</a> </span><span class=
"lineCov"> 6 : return $this;
</span>
3467 <span class=
"lineNum" id=
"container1961"><a name=
"1961"></a><a href=
"#1961" id=
"line1961"> 1961</a> </span><span class=
"lineDeadCode"> : }
</span>
3468 <span class=
"lineNum" id=
"container1962"><a name=
"1962"></a><a href=
"#1962" id=
"line1962"> 1962</a> </span> : // }}}
3469 <span class=
"lineNum" id=
"container1963"><a name=
"1963"></a><a href=
"#1963" id=
"line1963"> 1963</a> </span> :
3470 <span class=
"lineNum" id=
"container1964"><a name=
"1964"></a><a href=
"#1964" id=
"line1964"> 1964</a> </span> : // limit($limit, $skip) {{{
3471 <span class=
"lineNum" id=
"container1965"><a name=
"1965"></a><a href=
"#1965" id=
"line1965"> 1965</a> </span> : /**
3472 <span class=
"lineNum" id=
"container1966"><a name=
"1966"></a><a href=
"#1966" id=
"line1966"> 1966</a> </span> : * Abstract the limitation and pagination of documents.
3473 <span class=
"lineNum" id=
"container1967"><a name=
"1967"></a><a href=
"#1967" id=
"line1967"> 1967</a> </span> : *
3474 <span class=
"lineNum" id=
"container1968"><a name=
"1968"></a><a href=
"#1968" id=
"line1968"> 1968</a> </span> : * @param int $limit Number of max. documents to retrieve
3475 <span class=
"lineNum" id=
"container1969"><a name=
"1969"></a><a href=
"#1969" id=
"line1969"> 1969</a> </span> : * @param int $skip Number of documents to skip
3476 <span class=
"lineNum" id=
"container1970"><a name=
"1970"></a><a href=
"#1970" id=
"line1970"> 1970</a> </span> : *
3477 <span class=
"lineNum" id=
"container1971"><a name=
"1971"></a><a href=
"#1971" id=
"line1971"> 1971</a> </span> : * @return this
3478 <span class=
"lineNum" id=
"container1972"><a name=
"1972"></a><a href=
"#1972" id=
"line1972"> 1972</a> </span> : */
3479 <span class=
"lineNum" id=
"container1973"><a name=
"1973"></a><a href=
"#1973" id=
"line1973"> 1973</a> </span> : final function limit($limit=
0, $skip=
0)
3480 <span class=
"lineNum" id=
"container1974"><a name=
"1974"></a><a href=
"#1974" id=
"line1974"> 1974</a> </span> : {
3481 <span class=
"lineNum" id=
"container1975"><a name=
"1975"></a><a href=
"#1975" id=
"line1975"> 1975</a> </span><span class=
"lineCov"> 6 : $this-
>_assertNotInQuery();
</span>
3482 <span class=
"lineNum" id=
"container1976"><a name=
"1976"></a><a href=
"#1976" id=
"line1976"> 1976</a> </span> :
3483 <span class=
"lineNum" id=
"container1977"><a name=
"1977"></a><a href=
"#1977" id=
"line1977"> 1977</a> </span><span class=
"lineCov"> 6 : if ($limit
< 0 || $skip
< 0) {
</span>
3484 <span class=
"lineNum" id=
"container1978"><a name=
"1978"></a><a href=
"#1978" id=
"line1978"> 1978</a> </span><span class=
"lineCov"> 1 : return FALSE;
</span>
3485 <span class=
"lineNum" id=
"container1979"><a name=
"1979"></a><a href=
"#1979" id=
"line1979"> 1979</a> </span><span class=
"lineDeadCode"> : }
</span>
3486 <span class=
"lineNum" id=
"container1980"><a name=
"1980"></a><a href=
"#1980" id=
"line1980"> 1980</a> </span><span class=
"lineCov"> 5 : $this-
>_limit = $limit;
</span>
3487 <span class=
"lineNum" id=
"container1981"><a name=
"1981"></a><a href=
"#1981" id=
"line1981"> 1981</a> </span><span class=
"lineCov"> 5 : $this-
>_skip = $skip;
</span>
3488 <span class=
"lineNum" id=
"container1982"><a name=
"1982"></a><a href=
"#1982" id=
"line1982"> 1982</a> </span> :
3489 <span class=
"lineNum" id=
"container1983"><a name=
"1983"></a><a href=
"#1983" id=
"line1983"> 1983</a> </span><span class=
"lineCov"> 5 : return $this;
</span>
3490 <span class=
"lineNum" id=
"container1984"><a name=
"1984"></a><a href=
"#1984" id=
"line1984"> 1984</a> </span><span class=
"lineDeadCode"> : }
</span>
3491 <span class=
"lineNum" id=
"container1985"><a name=
"1985"></a><a href=
"#1985" id=
"line1985"> 1985</a> </span> : // }}}
3492 <span class=
"lineNum" id=
"container1986"><a name=
"1986"></a><a href=
"#1986" id=
"line1986"> 1986</a> </span> :
3493 <span class=
"lineNum" id=
"container1987"><a name=
"1987"></a><a href=
"#1987" id=
"line1987"> 1987</a> </span> : // FindAndModify(Array $document) {{{
3494 <span class=
"lineNum" id=
"container1988"><a name=
"1988"></a><a href=
"#1988" id=
"line1988"> 1988</a> </span> : /**
3495 <span class=
"lineNum" id=
"container1989"><a name=
"1989"></a><a href=
"#1989" id=
"line1989"> 1989</a> </span> : * findAndModify
3496 <span class=
"lineNum" id=
"container1990"><a name=
"1990"></a><a href=
"#1990" id=
"line1990"> 1990</a> </span> : *
3497 <span class=
"lineNum" id=
"container1991"><a name=
"1991"></a><a href=
"#1991" id=
"line1991"> 1991</a> </span> : *
3498 <span class=
"lineNum" id=
"container1992"><a name=
"1992"></a><a href=
"#1992" id=
"line1992"> 1992</a> </span> : */
3499 <span class=
"lineNum" id=
"container1993"><a name=
"1993"></a><a href=
"#1993" id=
"line1993"> 1993</a> </span> : final function findAndModify($document)
3500 <span class=
"lineNum" id=
"container1994"><a name=
"1994"></a><a href=
"#1994" id=
"line1994"> 1994</a> </span> : {
3501 <span class=
"lineNum" id=
"container1995"><a name=
"1995"></a><a href=
"#1995" id=
"line1995"> 1995</a> </span><span class=
"lineCov"> 2 : $this-
>_assertNotInQuery();
</span>
3502 <span class=
"lineNum" id=
"container1996"><a name=
"1996"></a><a href=
"#1996" id=
"line1996"> 1996</a> </span> :
3503 <span class=
"lineNum" id=
"container1997"><a name=
"1997"></a><a href=
"#1997" id=
"line1997"> 1997</a> </span><span class=
"lineCov"> 2 : if (count($document) ===
0) {
</span>
3504 <span class=
"lineNum" id=
"container1998"><a name=
"1998"></a><a href=
"#1998" id=
"line1998"> 1998</a> </span><span class=
"lineCov"> 1 : throw new ActiveMongo_Exception(
"Empty \$document is not allowed
");
</span>
3505 <span class=
"lineNum" id=
"container1999"><a name=
"1999"></a><a href=
"#1999" id=
"line1999"> 1999</a> </span><span class=
"lineDeadCode"> : }
</span>
3506 <span class=
"lineNum" id=
"container2000"><a name=
"2000"></a><a href=
"#2000" id=
"line2000"> 2000</a> </span> :
3507 <span class=
"lineNum" id=
"container2001"><a name=
"2001"></a><a href=
"#2001" id=
"line2001"> 2001</a> </span><span class=
"lineCov"> 2 : $this-
>_cursor_ex = self::FIND_AND_MODIFY;
</span>
3508 <span class=
"lineNum" id=
"container2002"><a name=
"2002"></a><a href=
"#2002" id=
"line2002"> 2002</a> </span><span class=
"lineCov"> 2 : $this-
>_findandmodify = $document;
</span>
3509 <span class=
"lineNum" id=
"container2003"><a name=
"2003"></a><a href=
"#2003" id=
"line2003"> 2003</a> </span> :
3510 <span class=
"lineNum" id=
"container2004"><a name=
"2004"></a><a href=
"#2004" id=
"line2004"> 2004</a> </span><span class=
"lineCov"> 2 : return $this;
</span>
3511 <span class=
"lineNum" id=
"container2005"><a name=
"2005"></a><a href=
"#2005" id=
"line2005"> 2005</a> </span><span class=
"lineDeadCode"> : }
</span>
3512 <span class=
"lineNum" id=
"container2006"><a name=
"2006"></a><a href=
"#2006" id=
"line2006"> 2006</a> </span> :
3513 <span class=
"lineNum" id=
"container2007"><a name=
"2007"></a><a href=
"#2007" id=
"line2007"> 2007</a> </span> : private function _execFindAndModify()
3514 <span class=
"lineNum" id=
"container2008"><a name=
"2008"></a><a href=
"#2008" id=
"line2008"> 2008</a> </span> : {
3515 <span class=
"lineNum" id=
"container2009"><a name=
"2009"></a><a href=
"#2009" id=
"line2009"> 2009</a> </span><span class=
"lineCov"> 1 : $query = (array)$this-
>_query;
</span>
3516 <span class=
"lineNum" id=
"container2010"><a name=
"2010"></a><a href=
"#2010" id=
"line2010"> 2010</a> </span> :
3517 <span class=
"lineNum" id=
"container2011"><a name=
"2011"></a><a href=
"#2011" id=
"line2011"> 2011</a> </span> : $query = array(
3518 <span class=
"lineNum" id=
"container2012"><a name=
"2012"></a><a href=
"#2012" id=
"line2012"> 2012</a> </span><span class=
"lineCov"> 1 :
"findandmodify
" =
> $this-
>CollectionName(),
</span>
3519 <span class=
"lineNum" id=
"container2013"><a name=
"2013"></a><a href=
"#2013" id=
"line2013"> 2013</a> </span><span class=
"lineCov"> 1 :
"query
" =
> $query,
</span>
3520 <span class=
"lineNum" id=
"container2014"><a name=
"2014"></a><a href=
"#2014" id=
"line2014"> 2014</a> </span><span class=
"lineCov"> 1 :
"update
" =
> array('$set' =
> $this-
>_findandmodify),
</span>
3521 <span class=
"lineNum" id=
"container2015"><a name=
"2015"></a><a href=
"#2015" id=
"line2015"> 2015</a> </span><span class=
"lineCov"> 1 :
"new
" =
> TRUE,
</span>
3522 <span class=
"lineNum" id=
"container2016"><a name=
"2016"></a><a href=
"#2016" id=
"line2016"> 2016</a> </span><span class=
"lineCov"> 1 : );
</span>
3523 <span class=
"lineNum" id=
"container2017"><a name=
"2017"></a><a href=
"#2017" id=
"line2017"> 2017</a> </span><span class=
"lineCov"> 1 : if (isset($this-
>_sort)) {
</span>
3524 <span class=
"lineNum" id=
"container2018"><a name=
"2018"></a><a href=
"#2018" id=
"line2018"> 2018</a> </span><span class=
"lineCov"> 1 : $query[
"sort
"] = $this-
>_sort;
</span>
3525 <span class=
"lineNum" id=
"container2019"><a name=
"2019"></a><a href=
"#2019" id=
"line2019"> 2019</a> </span><span class=
"lineCov"> 1 : }
</span>
3526 <span class=
"lineNum" id=
"container2020"><a name=
"2020"></a><a href=
"#2020" id=
"line2020"> 2020</a> </span><span class=
"lineCov"> 1 : $this-
>_cursor_ex_value = $this-
>sendCMD($query);
</span>
3527 <span class=
"lineNum" id=
"container2021"><a name=
"2021"></a><a href=
"#2021" id=
"line2021"> 2021</a> </span> :
3528 <span class=
"lineNum" id=
"container2022"><a name=
"2022"></a><a href=
"#2022" id=
"line2022"> 2022</a> </span><span class=
"lineCov"> 1 : $this-
>_findandmodify_cnt++;
</span>
3529 <span class=
"lineNum" id=
"container2023"><a name=
"2023"></a><a href=
"#2023" id=
"line2023"> 2023</a> </span><span class=
"lineCov"> 1 : }
</span>
3530 <span class=
"lineNum" id=
"container2024"><a name=
"2024"></a><a href=
"#2024" id=
"line2024"> 2024</a> </span> : // }}}
3531 <span class=
"lineNum" id=
"container2025"><a name=
"2025"></a><a href=
"#2025" id=
"line2025"> 2025</a> </span> :
3532 <span class=
"lineNum" id=
"container2026"><a name=
"2026"></a><a href=
"#2026" id=
"line2026"> 2026</a> </span> : // }}}
3533 <span class=
"lineNum" id=
"container2027"><a name=
"2027"></a><a href=
"#2027" id=
"line2027"> 2027</a> </span> :
3534 <span class=
"lineNum" id=
"container2028"><a name=
"2028"></a><a href=
"#2028" id=
"line2028"> 2028</a> </span> : // __sleep() {{{
3535 <span class=
"lineNum" id=
"container2029"><a name=
"2029"></a><a href=
"#2029" id=
"line2029"> 2029</a> </span> : /**
3536 <span class=
"lineNum" id=
"container2030"><a name=
"2030"></a><a href=
"#2030" id=
"line2030"> 2030</a> </span> : * Return a list of properties to serialize, to save
3537 <span class=
"lineNum" id=
"container2031"><a name=
"2031"></a><a href=
"#2031" id=
"line2031"> 2031</a> </span> : * into MongoDB
3538 <span class=
"lineNum" id=
"container2032"><a name=
"2032"></a><a href=
"#2032" id=
"line2032"> 2032</a> </span> : *
3539 <span class=
"lineNum" id=
"container2033"><a name=
"2033"></a><a href=
"#2033" id=
"line2033"> 2033</a> </span> : * @return array
3540 <span class=
"lineNum" id=
"container2034"><a name=
"2034"></a><a href=
"#2034" id=
"line2034"> 2034</a> </span> : */
3541 <span class=
"lineNum" id=
"container2035"><a name=
"2035"></a><a href=
"#2035" id=
"line2035"> 2035</a> </span> : function __sleep()
3542 <span class=
"lineNum" id=
"container2036"><a name=
"2036"></a><a href=
"#2036" id=
"line2036"> 2036</a> </span> : {
3543 <span class=
"lineNum" id=
"container2037"><a name=
"2037"></a><a href=
"#2037" id=
"line2037"> 2037</a> </span><span class=
"lineCov"> 19 : return array_keys(get_document_vars($this));
</span>
3544 <span class=
"lineNum" id=
"container2038"><a name=
"2038"></a><a href=
"#2038" id=
"line2038"> 2038</a> </span><span class=
"lineDeadCode"> : }
</span>
3545 <span class=
"lineNum" id=
"container2039"><a name=
"2039"></a><a href=
"#2039" id=
"line2039"> 2039</a> </span> : // }}}
3546 <span class=
"lineNum" id=
"container2040"><a name=
"2040"></a><a href=
"#2040" id=
"line2040"> 2040</a> </span> :
3547 <span class=
"lineNum" id=
"container2041"><a name=
"2041"></a><a href=
"#2041" id=
"line2041"> 2041</a> </span> : }
3548 <span class=
"lineNum" id=
"container2042"><a name=
"2042"></a><a href=
"#2042" id=
"line2042"> 2042</a> </span> :
3549 <span class=
"lineNum" id=
"container2043"><a name=
"2043"></a><a href=
"#2043" id=
"line2043"> 2043</a> </span> : require_once dirname(__FILE__).
"/Validators.php
";
3550 <span class=
"lineNum" id=
"container2044"><a name=
"2044"></a><a href=
"#2044" id=
"line2044"> 2044</a> </span> : require_once dirname(__FILE__).
"/Exceptions.php
";
3551 <span class=
"lineNum" id=
"container2045"><a name=
"2045"></a><a href=
"#2045" id=
"line2045"> 2045</a> </span> :
3552 <span class=
"lineNum" id=
"container2046"><a name=
"2046"></a><a href=
"#2046" id=
"line2046"> 2046</a> </span> : /*
3553 <span class=
"lineNum" id=
"container2047"><a name=
"2047"></a><a href=
"#2047" id=
"line2047"> 2047</a> </span> : * Local variables:
3554 <span class=
"lineNum" id=
"container2048"><a name=
"2048"></a><a href=
"#2048" id=
"line2048"> 2048</a> </span> : * tab-width:
4
3555 <span class=
"lineNum" id=
"container2049"><a name=
"2049"></a><a href=
"#2049" id=
"line2049"> 2049</a> </span> : * c-basic-offset:
4
3556 <span class=
"lineNum" id=
"container2050"><a name=
"2050"></a><a href=
"#2050" id=
"line2050"> 2050</a> </span> : * End:
3557 <span class=
"lineNum" id=
"container2051"><a name=
"2051"></a><a href=
"#2051" id=
"line2051"> 2051</a> </span> : * vim600: sw=
4 ts=
4 fdm=marker
3558 <span class=
"lineNum" id=
"container2052"><a name=
"2052"></a><a href=
"#2052" id=
"line2052"> 2052</a> </span> : * vim
<600: sw=
4 ts=
4
3559 <span class=
"lineNum" id=
"container2053"><a name=
"2053"></a><a href=
"#2053" id=
"line2053"> 2053</a> </span> : */
3566 <table width=
"100%" border=
"0" cellspacing=
"0" cellpadding=
"0">
3567 <tr><td class=
"ruler"><img src=
"glass.png" width=
"3" height=
"3" alt=
""></td></tr>
3568 <tr><td class=
"versionInfo">Generated by
<a href=
"http://www.phpunit.de/" target=
"_top">PHPUnit
3.4.12</a> and
<a href=
"http://www.xdebug.org/" target=
"_top">Xdebug
2.0.5</a> using
<a href=
"http://www.php.net/" target=
"_top">PHP
5.3.2</a> at Mon Jun
7 1:
48:
19 PYT
2010.
</td></tr>
3573 <script type=
"text/javascript">
3575 $E
= YAHOO
.util
.Event
;
3576 YAHOO
.namespace("phpunit.container");
3577 YAHOO
.phpunit
.container
.panelsData
= {
3579 "header": "36 tests cover line 49",
3580 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3584 "header": "36 tests cover line 50",
3585 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3589 "header": "11 tests cover line 51",
3590 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3594 "header": "11 tests cover line 52",
3595 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3599 "header": "36 tests cover line 53",
3600 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3604 "header": "1 test covers line 203",
3605 "body": "<ul><li class=\"testPassed\">QueryTest::testNamespace</li></ul>",
3609 "header": "1 test covers line 204",
3610 "body": "<ul><li class=\"testPassed\">QueryTest::testNamespace</li></ul>",
3614 "header": "42 tests cover line 208",
3615 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3619 "header": "42 tests cover line 209",
3620 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3624 "header": "1 test covers line 210",
3625 "body": "<ul><li class=\"testPassed\">QueryTest::testNamespace</li></ul>",
3629 "header": "1 test covers line 211",
3630 "body": "<ul><li class=\"testPassed\">QueryTest::testNamespace</li></ul>",
3634 "header": "42 tests cover line 212",
3635 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3639 "header": "41 tests cover line 213",
3640 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3644 "header": "41 tests cover line 214",
3645 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3649 "header": "4 tests cover line 215",
3650 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
3654 "header": "42 tests cover line 217",
3655 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3659 "header": "42 tests cover line 230",
3660 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3664 "header": "41 tests cover line 231",
3665 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNamespace</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3669 "header": "4 tests cover line 233",
3670 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
3674 "header": "10 tests cover line 247",
3675 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3679 "header": "10 tests cover line 250",
3680 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3684 "header": "1 test covers line 265",
3685 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3689 "header": "1 test covers line 266",
3690 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3694 "header": "1 test covers line 268",
3695 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3699 "header": "1 test covers line 269",
3700 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3704 "header": "1 test covers line 271",
3705 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3709 "header": "1 test covers line 272",
3710 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3714 "header": "1 test covers line 273",
3715 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3719 "header": "1 test covers line 274",
3720 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3724 "header": "1 test covers line 275",
3725 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3729 "header": "1 test covers line 276",
3730 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
3734 "header": "1 test covers line 295",
3735 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3739 "header": "1 test covers line 296",
3740 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3744 "header": "1 test covers line 297",
3745 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3749 "header": "1 test covers line 298",
3750 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3754 "header": "1 test covers line 299",
3755 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3759 "header": "6 tests cover line 312",
3760 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3764 "header": "6 tests cover line 318",
3765 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3769 "header": "6 tests cover line 319",
3770 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3774 "header": "6 tests cover line 320",
3775 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3779 "header": "6 tests cover line 323",
3780 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3784 "header": "1 test covers line 324",
3785 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3789 "header": "1 test covers line 325",
3790 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li></ul>",
3794 "header": "6 tests cover line 326",
3795 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3799 "header": "6 tests cover line 331",
3800 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3804 "header": "39 tests cover line 345",
3805 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3809 "header": "38 tests cover line 346",
3810 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3814 "header": "38 tests cover line 347",
3815 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3819 "header": "4 tests cover line 348",
3820 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
3824 "header": "39 tests cover line 350",
3825 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3829 "header": "3 tests cover line 351",
3830 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3834 "header": "3 tests cover line 352",
3835 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
3839 "header": "39 tests cover line 353",
3840 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInstall</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3844 "header": "20 tests cover line 370",
3845 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3849 "header": "20 tests cover line 371",
3850 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3854 "header": "20 tests cover line 372",
3855 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3859 "header": "8 tests cover line 373",
3860 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3864 "header": "20 tests cover line 375",
3865 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3869 "header": "20 tests cover line 376",
3870 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3874 "header": "20 tests cover line 377",
3875 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3879 "header": "3 tests cover line 407",
3880 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3884 "header": "3 tests cover line 408",
3885 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3889 "header": "3 tests cover line 409",
3890 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3894 "header": "2 tests cover line 413",
3895 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3899 "header": "1 test covers line 418",
3900 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3904 "header": "1 test covers line 419",
3905 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3909 "header": "1 test covers line 425",
3910 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
3914 "header": "2 tests cover line 429",
3915 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3919 "header": "3 tests cover line 430",
3920 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3924 "header": "2 tests cover line 431",
3925 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3929 "header": "2 tests cover line 432",
3930 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
3934 "header": "3 tests cover line 433",
3935 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3939 "header": "3 tests cover line 435",
3940 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3944 "header": "2 tests cover line 436",
3945 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3949 "header": "2 tests cover line 437",
3950 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3954 "header": "3 tests cover line 438",
3955 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3959 "header": "3 tests cover line 440",
3960 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
3964 "header": "20 tests cover line 460",
3965 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3969 "header": "20 tests cover line 461",
3970 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3974 "header": "20 tests cover line 463",
3975 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3979 "header": "20 tests cover line 464",
3980 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3984 "header": "20 tests cover line 465",
3985 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3989 "header": "20 tests cover line 468",
3990 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3994 "header": "20 tests cover line 470",
3995 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
3999 "header": "20 tests cover line 471",
4000 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4004 "header": "19 tests cover line 473",
4005 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4009 "header": "19 tests cover line 474",
4010 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4014 "header": "8 tests cover line 475",
4015 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4019 "header": "3 tests cover line 483",
4020 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4024 "header": "1 test covers line 488",
4025 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4029 "header": "1 test covers line 489",
4030 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4034 "header": "1 test covers line 490",
4035 "body": "<ul><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4039 "header": "3 tests cover line 493",
4040 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4044 "header": "8 tests cover line 496",
4045 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4049 "header": "6 tests cover line 501",
4050 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4054 "header": "6 tests cover line 502",
4055 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4059 "header": "6 tests cover line 503",
4060 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4064 "header": "6 tests cover line 504",
4065 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4069 "header": "8 tests cover line 505",
4070 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4074 "header": "18 tests cover line 510",
4075 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4079 "header": "18 tests cover line 511",
4080 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4084 "header": "19 tests cover line 513",
4085 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4089 "header": "19 tests cover line 516",
4090 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4094 "header": "8 tests cover line 517",
4095 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4099 "header": "8 tests cover line 518",
4100 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4104 "header": "8 tests cover line 519",
4105 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4109 "header": "1 test covers line 521",
4110 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4114 "header": "8 tests cover line 522",
4115 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4119 "header": "8 tests cover line 523",
4120 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4124 "header": "19 tests cover line 525",
4125 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4129 "header": "1 test covers line 526",
4130 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4134 "header": "19 tests cover line 529",
4135 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4139 "header": "19 tests cover line 530",
4140 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4144 "header": "19 tests cover line 532",
4145 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4149 "header": "7 tests cover line 547",
4150 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testInvalidHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4154 "header": "1 test covers line 548",
4155 "body": "<ul><li class=\"testPassed\">HookTest::testInvalidHooks</li></ul>",
4159 "header": "6 tests cover line 551",
4160 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4164 "header": "6 tests cover line 552",
4165 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4169 "header": "2 tests cover line 553",
4170 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4174 "header": "2 tests cover line 554",
4175 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4179 "header": "4 tests cover line 555",
4180 "body": "<ul><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4184 "header": "6 tests cover line 557",
4185 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4189 "header": "6 tests cover line 558",
4190 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4194 "header": "6 tests cover line 559",
4195 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4199 "header": "6 tests cover line 560",
4200 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4204 "header": "6 tests cover line 561",
4205 "body": "<ul><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">CacheTest::testInit</li></ul>",
4209 "header": "39 tests cover line 568",
4210 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4214 "header": "38 tests cover line 569",
4215 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4219 "header": "38 tests cover line 573",
4220 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4224 "header": "38 tests cover line 574",
4225 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4229 "header": "38 tests cover line 576",
4230 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4234 "header": "3 tests cover line 577",
4235 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
4239 "header": "3 tests cover line 578",
4240 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
4244 "header": "39 tests cover line 580",
4245 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4249 "header": "39 tests cover line 581",
4250 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4254 "header": "39 tests cover line 584",
4255 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4259 "header": "39 tests cover line 586",
4260 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4264 "header": "39 tests cover line 587",
4265 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4269 "header": "24 tests cover line 588",
4270 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4274 "header": "24 tests cover line 589",
4275 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4279 "header": "24 tests cover line 590",
4280 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4284 "header": "6 tests cover line 591",
4285 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4289 "header": "24 tests cover line 593",
4290 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4294 "header": "24 tests cover line 594",
4295 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4299 "header": "39 tests cover line 595",
4300 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4304 "header": "39 tests cover line 598",
4305 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4309 "header": "39 tests cover line 599",
4310 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4314 "header": "39 tests cover line 600",
4315 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4319 "header": "39 tests cover line 601",
4320 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4324 "header": "39 tests cover line 602",
4325 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4329 "header": "39 tests cover line 603",
4330 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4334 "header": "39 tests cover line 604",
4335 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4339 "header": "39 tests cover line 605",
4340 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4344 "header": "39 tests cover line 606",
4345 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4349 "header": "39 tests cover line 607",
4350 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4354 "header": "39 tests cover line 608",
4355 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4359 "header": "39 tests cover line 609",
4360 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4364 "header": "38 tests cover line 610",
4365 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4369 "header": "38 tests cover line 611",
4370 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4374 "header": "38 tests cover line 612",
4375 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4379 "header": "8 tests cover line 613",
4380 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4384 "header": "8 tests cover line 614",
4385 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4389 "header": "38 tests cover line 615",
4390 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4394 "header": "39 tests cover line 617",
4395 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testSuperHooks</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4399 "header": "19 tests cover line 633",
4400 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4404 "header": "19 tests cover line 634",
4405 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4409 "header": "1 test covers line 635",
4410 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4414 "header": "1 test covers line 636",
4415 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4419 "header": "1 test covers line 637",
4420 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4424 "header": "1 test covers line 639",
4425 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4429 "header": "1 test covers line 640",
4430 "body": "<ul><li class=\"testPassed\">HookTest::testFilters</li></ul>",
4434 "header": "19 tests cover line 641",
4435 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4439 "header": "28 tests cover line 659",
4440 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4444 "header": "28 tests cover line 660",
4445 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4449 "header": "28 tests cover line 661",
4450 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4454 "header": "28 tests cover line 662",
4455 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4459 "header": "35 tests cover line 679",
4460 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4464 "header": "34 tests cover line 680",
4465 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4469 "header": "35 tests cover line 681",
4470 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4474 "header": "35 tests cover line 682",
4475 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4479 "header": "35 tests cover line 685",
4480 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4484 "header": "32 tests cover line 686",
4485 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4489 "header": "32 tests cover line 689",
4490 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4494 "header": "35 tests cover line 690",
4495 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4499 "header": "35 tests cover line 693",
4500 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4504 "header": "35 tests cover line 694",
4505 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4509 "header": "3 tests cover line 708",
4510 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4514 "header": "3 tests cover line 709",
4515 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4519 "header": "3 tests cover line 710",
4520 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4524 "header": "3 tests cover line 711",
4525 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4529 "header": "3 tests cover line 712",
4530 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4534 "header": "3 tests cover line 713",
4535 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4539 "header": "3 tests cover line 714",
4540 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4544 "header": "1 test covers line 715",
4545 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
4549 "header": "1 test covers line 716",
4550 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
4554 "header": "1 test covers line 717",
4555 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
4559 "header": "3 tests cover line 718",
4560 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4564 "header": "3 tests cover line 719",
4565 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4569 "header": "3 tests cover line 720",
4570 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4574 "header": "2 tests cover line 721",
4575 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4579 "header": "2 tests cover line 722",
4580 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4584 "header": "1 test covers line 723",
4585 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li></ul>",
4589 "header": "3 tests cover line 725",
4590 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4594 "header": "3 tests cover line 726",
4595 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4599 "header": "3 tests cover line 727",
4600 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4604 "header": "3 tests cover line 728",
4605 "body": "<ul><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
4609 "header": "20 tests cover line 749",
4610 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4614 "header": "20 tests cover line 750",
4615 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4619 "header": "20 tests cover line 751",
4620 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4624 "header": "19 tests cover line 752",
4625 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4629 "header": "19 tests cover line 754",
4630 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4634 "header": "8 tests cover line 755",
4635 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4639 "header": "8 tests cover line 756",
4640 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4644 "header": "19 tests cover line 758",
4645 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4649 "header": "1 test covers line 759",
4650 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4654 "header": "19 tests cover line 763",
4655 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4659 "header": "19 tests cover line 765",
4660 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4664 "header": "8 tests cover line 766",
4665 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4669 "header": "8 tests cover line 767",
4670 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4674 "header": "7 tests cover line 768",
4675 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4679 "header": "7 tests cover line 769",
4680 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4684 "header": "7 tests cover line 770",
4685 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4689 "header": "7 tests cover line 771",
4690 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4694 "header": "7 tests cover line 772",
4695 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4699 "header": "2 tests cover line 773",
4700 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4704 "header": "2 tests cover line 774",
4705 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4709 "header": "2 tests cover line 775",
4710 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4714 "header": "2 tests cover line 776",
4715 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4719 "header": "2 tests cover line 777",
4720 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4724 "header": "1 test covers line 778",
4725 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4729 "header": "1 test covers line 779",
4730 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4734 "header": "1 test covers line 780",
4735 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4739 "header": "2 tests cover line 781",
4740 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4744 "header": "2 tests cover line 782",
4745 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4749 "header": "7 tests cover line 784",
4750 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4754 "header": "7 tests cover line 785",
4755 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4759 "header": "8 tests cover line 786",
4760 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4764 "header": "2 tests cover line 787",
4765 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4769 "header": "2 tests cover line 788",
4770 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4774 "header": "1 test covers line 789",
4775 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4779 "header": "1 test covers line 790",
4780 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4784 "header": "1 test covers line 791",
4785 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4789 "header": "2 tests cover line 792",
4790 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4794 "header": "2 tests cover line 793",
4795 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4799 "header": "2 tests cover line 794",
4800 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4804 "header": "2 tests cover line 795",
4805 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4809 "header": "2 tests cover line 796",
4810 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4814 "header": "1 test covers line 797",
4815 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4819 "header": "1 test covers line 798",
4820 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4824 "header": "1 test covers line 799",
4825 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li></ul>",
4829 "header": "2 tests cover line 800",
4830 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4834 "header": "2 tests cover line 801",
4835 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4839 "header": "2 tests cover line 803",
4840 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4844 "header": "2 tests cover line 804",
4845 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li></ul>",
4849 "header": "8 tests cover line 805",
4850 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4854 "header": "18 tests cover line 806",
4855 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4859 "header": "18 tests cover line 807",
4860 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4864 "header": "19 tests cover line 810",
4865 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4869 "header": "19 tests cover line 812",
4870 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4874 "header": "4 tests cover line 825",
4875 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4879 "header": "4 tests cover line 826",
4880 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4884 "header": "1 test covers line 827",
4885 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4889 "header": "1 test covers line 828",
4890 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4894 "header": "1 test covers line 829",
4895 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4899 "header": "1 test covers line 830",
4900 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4904 "header": "1 test covers line 831",
4905 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
4909 "header": "4 tests cover line 833",
4910 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4914 "header": "4 tests cover line 836",
4915 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4919 "header": "4 tests cover line 837",
4920 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4924 "header": "4 tests cover line 838",
4925 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4929 "header": "4 tests cover line 841",
4930 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4934 "header": "4 tests cover line 843",
4935 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li></ul>",
4939 "header": "3 tests cover line 869",
4940 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4944 "header": "3 tests cover line 871",
4945 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4949 "header": "3 tests cover line 872",
4950 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4954 "header": "3 tests cover line 875",
4955 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4959 "header": "3 tests cover line 876",
4960 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4964 "header": "3 tests cover line 879",
4965 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4969 "header": "3 tests cover line 881",
4970 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li></ul>",
4974 "header": "5 tests cover line 893",
4975 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4979 "header": "5 tests cover line 894",
4980 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4984 "header": "1 test covers line 895",
4985 "body": "<ul><li class=\"testPassed\">QueryTest::testDrop</li></ul>",
4989 "header": "5 tests cover line 897",
4990 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4994 "header": "5 tests cover line 898",
4995 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
4999 "header": "5 tests cover line 899",
5000 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5004 "header": "5 tests cover line 900",
5005 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5009 "header": "5 tests cover line 901",
5010 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5014 "header": "3 tests cover line 902",
5015 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testDrop</li></ul>",
5019 "header": "4 tests cover line 904",
5020 "body": "<ul><li class=\"testPassed\">QueryTest::testConnect</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">CacheTest::testInit</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5024 "header": "9 tests cover line 918",
5025 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5029 "header": "9 tests cover line 919",
5030 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5034 "header": "1 test covers line 921",
5035 "body": "<ul><li class=\"testPassed\">ArrayTest::testCount</li></ul>",
5039 "header": "1 test covers line 933",
5040 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5044 "header": "3 tests cover line 948",
5045 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5049 "header": "3 tests cover line 950",
5050 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5054 "header": "1 test covers line 951",
5055 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5059 "header": "3 tests cover line 955",
5060 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5064 "header": "3 tests cover line 956",
5065 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5069 "header": "3 tests cover line 957",
5070 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5074 "header": "3 tests cover line 958",
5075 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5079 "header": "3 tests cover line 960",
5080 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5084 "header": "3 tests cover line 961",
5085 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5089 "header": "3 tests cover line 962",
5090 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5094 "header": "2 tests cover line 963",
5095 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5099 "header": "2 tests cover line 964",
5100 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5104 "header": "3 tests cover line 965",
5105 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5109 "header": "3 tests cover line 966",
5110 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5114 "header": "3 tests cover line 967",
5115 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5119 "header": "2 tests cover line 968",
5120 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5124 "header": "1 test covers line 969",
5125 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5129 "header": "2 tests cover line 971",
5130 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5134 "header": "2 tests cover line 972",
5135 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li></ul>",
5139 "header": "3 tests cover line 973",
5140 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5144 "header": "3 tests cover line 974",
5145 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5149 "header": "3 tests cover line 976",
5150 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testInvalidBatchInsert</li><li class=\"testPassed\">HookTest::testChanges</li></ul>",
5154 "header": "1 test covers line 994",
5155 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5159 "header": "1 test covers line 995",
5160 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5164 "header": "1 test covers line 997",
5165 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5169 "header": "1 test covers line 998",
5170 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5174 "header": "1 test covers line 999",
5175 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5179 "header": "1 test covers line 1001",
5180 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5184 "header": "1 test covers line 1002",
5185 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5189 "header": "1 test covers line 1003",
5190 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5194 "header": "1 test covers line 1004",
5195 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5199 "header": "1 test covers line 1005",
5200 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5204 "header": "1 test covers line 1006",
5205 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5209 "header": "1 test covers line 1008",
5210 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5214 "header": "1 test covers line 1009",
5215 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5219 "header": "1 test covers line 1010",
5220 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5224 "header": "1 test covers line 1011",
5225 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5229 "header": "1 test covers line 1012",
5230 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5234 "header": "1 test covers line 1014",
5235 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5239 "header": "1 test covers line 1016",
5240 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5244 "header": "1 test covers line 1028",
5245 "body": "<ul><li class=\"testPassed\">QueryTest::testInstall</li></ul>",
5249 "header": "1 test covers line 1043",
5250 "body": "<ul><li class=\"testPassed\">QueryTest::testToSTring</li></ul>",
5254 "header": "1 test covers line 1058",
5255 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5259 "header": "2 tests cover line 1073",
5260 "body": "<ul><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5264 "header": "15 tests cover line 1086",
5265 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5269 "header": "1 test covers line 1087",
5270 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li></ul>",
5274 "header": "15 tests cover line 1089",
5275 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5279 "header": "15 tests cover line 1090",
5280 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5284 "header": "15 tests cover line 1091",
5285 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5289 "header": "15 tests cover line 1092",
5290 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5294 "header": "15 tests cover line 1093",
5295 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5299 "header": "15 tests cover line 1094",
5300 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5304 "header": "15 tests cover line 1095",
5305 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5309 "header": "15 tests cover line 1096",
5310 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5314 "header": "15 tests cover line 1097",
5315 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5319 "header": "18 tests cover line 1110",
5320 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5324 "header": "18 tests cover line 1111",
5325 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5329 "header": "17 tests cover line 1112",
5330 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5334 "header": "4 tests cover line 1113",
5335 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ArrayTest::testCount</li></ul>",
5339 "header": "4 tests cover line 1114",
5340 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ArrayTest::testCount</li></ul>",
5344 "header": "17 tests cover line 1115",
5345 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5349 "header": "17 tests cover line 1116",
5350 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5354 "header": "1 test covers line 1117",
5355 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5359 "header": "1 test covers line 1118",
5360 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5364 "header": "1 test covers line 1119",
5365 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5369 "header": "1 test covers line 1120",
5370 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5374 "header": "1 test covers line 1121",
5375 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5379 "header": "1 test covers line 1122",
5380 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5384 "header": "1 test covers line 1123",
5385 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5389 "header": "1 test covers line 1126",
5390 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5394 "header": "18 tests cover line 1129",
5395 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5399 "header": "14 tests cover line 1141",
5400 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5404 "header": "1 test covers line 1142",
5405 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5409 "header": "14 tests cover line 1144",
5410 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5414 "header": "13 tests cover line 1145",
5415 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5419 "header": "13 tests cover line 1146",
5420 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5424 "header": "13 tests cover line 1147",
5425 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5429 "header": "1 test covers line 1149",
5430 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5434 "header": "1 test covers line 1150",
5435 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5439 "header": "1 test covers line 1151",
5440 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5444 "header": "1 test covers line 1152",
5445 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5449 "header": "1 test covers line 1155",
5450 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5454 "header": "1 test covers line 1157",
5455 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5459 "header": "14 tests cover line 1169",
5460 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5464 "header": "13 tests cover line 1170",
5465 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5469 "header": "13 tests cover line 1171",
5470 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5474 "header": "1 test covers line 1172",
5475 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5479 "header": "1 test covers line 1173",
5480 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5484 "header": "1 test covers line 1174",
5485 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5489 "header": "1 test covers line 1177",
5490 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5494 "header": "1 test covers line 1178",
5495 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5499 "header": "1 test covers line 1181",
5500 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5504 "header": "14 tests cover line 1183",
5505 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5509 "header": "13 tests cover line 1193",
5510 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5514 "header": "1 test covers line 1194",
5515 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li></ul>",
5519 "header": "13 tests cover line 1196",
5520 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5524 "header": "12 tests cover line 1198",
5525 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5529 "header": "7 tests cover line 1199",
5530 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li></ul>",
5534 "header": "7 tests cover line 1200",
5535 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li></ul>",
5539 "header": "12 tests cover line 1201",
5540 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5544 "header": "12 tests cover line 1202",
5545 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5549 "header": "12 tests cover line 1203",
5550 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5554 "header": "1 test covers line 1205",
5555 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5559 "header": "1 test covers line 1206",
5560 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5564 "header": "1 test covers line 1207",
5565 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5569 "header": "1 test covers line 1208",
5570 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5574 "header": "1 test covers line 1211",
5575 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5579 "header": "1 test covers line 1213",
5580 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
5584 "header": "4 tests cover line 1221",
5585 "body": "<ul><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5589 "header": "5 tests cover line 1226",
5590 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
5594 "header": "3 tests cover line 1231",
5595 "body": "<ul><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5599 "header": "3 tests cover line 1232",
5600 "body": "<ul><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5604 "header": "1 test covers line 1236",
5605 "body": "<ul><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5609 "header": "1 test covers line 1237",
5610 "body": "<ul><li class=\"testPassed\">ArrayTest::testUnsetIsset</li></ul>",
5614 "header": "6 tests cover line 1256",
5615 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testInvalidRefernce</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5619 "header": "1 test covers line 1257",
5620 "body": "<ul><li class=\"testPassed\">ReferencesTest::testInvalidRefernce</li></ul>",
5624 "header": "5 tests cover line 1261",
5625 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5629 "header": "5 tests cover line 1262",
5630 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5634 "header": "5 tests cover line 1263",
5635 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5639 "header": "5 tests cover line 1264",
5640 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5644 "header": "5 tests cover line 1265",
5645 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5649 "header": "5 tests cover line 1267",
5650 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5654 "header": "4 tests cover line 1268",
5655 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5659 "header": "1 test covers line 1269",
5660 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5664 "header": "1 test covers line 1270",
5665 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5669 "header": "4 tests cover line 1272",
5670 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5674 "header": "1 test covers line 1273",
5675 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
5679 "header": "3 tests cover line 1276",
5680 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5684 "header": "3 tests cover line 1277",
5685 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5689 "header": "3 tests cover line 1280",
5690 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5694 "header": "3 tests cover line 1281",
5695 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5699 "header": "3 tests cover line 1282",
5700 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5704 "header": "3 tests cover line 1283",
5705 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5709 "header": "3 tests cover line 1284",
5710 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5714 "header": "3 tests cover line 1285",
5715 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
5719 "header": "4 tests cover line 1286",
5720 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
5724 "header": "2 tests cover line 1305",
5725 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5729 "header": "2 tests cover line 1306",
5730 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5734 "header": "2 tests cover line 1307",
5735 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5739 "header": "2 tests cover line 1308",
5740 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5744 "header": "2 tests cover line 1309",
5745 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5749 "header": "2 tests cover line 1310",
5750 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5754 "header": "2 tests cover line 1311",
5755 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5759 "header": "1 test covers line 1312",
5760 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5764 "header": "1 test covers line 1313",
5765 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5769 "header": "1 test covers line 1314",
5770 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5774 "header": "2 tests cover line 1316",
5775 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5779 "header": "2 tests cover line 1317",
5780 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5784 "header": "2 tests cover line 1318",
5785 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5789 "header": "2 tests cover line 1334",
5790 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5794 "header": "2 tests cover line 1337",
5795 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5799 "header": "2 tests cover line 1356",
5800 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5804 "header": "2 tests cover line 1359",
5805 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5809 "header": "2 tests cover line 1360",
5810 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5814 "header": "2 tests cover line 1361",
5815 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5819 "header": "2 tests cover line 1363",
5820 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5824 "header": "2 tests cover line 1366",
5825 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5829 "header": "2 tests cover line 1367",
5830 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5834 "header": "1 test covers line 1383",
5835 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5839 "header": "1 test covers line 1384",
5840 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5844 "header": "1 test covers line 1385",
5845 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5849 "header": "1 test covers line 1386",
5850 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5854 "header": "1 test covers line 1387",
5855 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5859 "header": "1 test covers line 1388",
5860 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5864 "header": "1 test covers line 1389",
5865 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5869 "header": "1 test covers line 1390",
5870 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5874 "header": "1 test covers line 1392",
5875 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5879 "header": "1 test covers line 1394",
5880 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5884 "header": "2 tests cover line 1414",
5885 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5889 "header": "2 tests cover line 1416",
5890 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5894 "header": "2 tests cover line 1418",
5895 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5899 "header": "2 tests cover line 1419",
5900 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5904 "header": "2 tests cover line 1421",
5905 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5909 "header": "2 tests cover line 1426",
5910 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5914 "header": "2 tests cover line 1427",
5915 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5919 "header": "2 tests cover line 1428",
5920 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5924 "header": "1 test covers line 1433",
5925 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5929 "header": "1 test covers line 1438",
5930 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5934 "header": "1 test covers line 1444",
5935 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5939 "header": "1 test covers line 1448",
5940 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5944 "header": "2 tests cover line 1450",
5945 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5949 "header": "1 test covers line 1454",
5950 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5954 "header": "1 test covers line 1457",
5955 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5959 "header": "1 test covers line 1459",
5960 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5964 "header": "1 test covers line 1462",
5965 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5969 "header": "1 test covers line 1463",
5970 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5974 "header": "1 test covers line 1464",
5975 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5979 "header": "1 test covers line 1467",
5980 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5984 "header": "1 test covers line 1468",
5985 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5989 "header": "1 test covers line 1469",
5990 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5994 "header": "1 test covers line 1471",
5995 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
5999 "header": "1 test covers line 1473",
6000 "body": "<ul><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6004 "header": "2 tests cover line 1475",
6005 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6009 "header": "2 tests cover line 1478",
6010 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6014 "header": "2 tests cover line 1483",
6015 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6019 "header": "2 tests cover line 1484",
6020 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6024 "header": "2 tests cover line 1487",
6025 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6029 "header": "2 tests cover line 1488",
6030 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6034 "header": "2 tests cover line 1489",
6035 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6039 "header": "2 tests cover line 1490",
6040 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6044 "header": "2 tests cover line 1493",
6045 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6049 "header": "2 tests cover line 1497",
6050 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6054 "header": "2 tests cover line 1498",
6055 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6059 "header": "2 tests cover line 1499",
6060 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6064 "header": "2 tests cover line 1500",
6065 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6069 "header": "2 tests cover line 1501",
6070 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6074 "header": "2 tests cover line 1503",
6075 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6079 "header": "2 tests cover line 1505",
6080 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6084 "header": "2 tests cover line 1506",
6085 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6089 "header": "2 tests cover line 1511",
6090 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6094 "header": "2 tests cover line 1512",
6095 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6099 "header": "2 tests cover line 1516",
6100 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6104 "header": "2 tests cover line 1517",
6105 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6109 "header": "2 tests cover line 1518",
6110 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6114 "header": "2 tests cover line 1519",
6115 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6119 "header": "1 test covers line 1530",
6120 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
6124 "header": "1 test covers line 1531",
6125 "body": "<ul><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
6129 "header": "20 tests cover line 1543",
6130 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6134 "header": "20 tests cover line 1546",
6135 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6139 "header": "20 tests cover line 1547",
6140 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6144 "header": "20 tests cover line 1548",
6145 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6149 "header": "7 tests cover line 1549",
6150 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6154 "header": "1 test covers line 1555",
6155 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6159 "header": "1 test covers line 1556",
6160 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6164 "header": "1 test covers line 1557",
6165 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6169 "header": "1 test covers line 1558",
6170 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6174 "header": "1 test covers line 1561",
6175 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6179 "header": "1 test covers line 1562",
6180 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6184 "header": "7 tests cover line 1563",
6185 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6189 "header": "20 tests cover line 1565",
6190 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6194 "header": "2 tests cover line 1566",
6195 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
6199 "header": "2 tests cover line 1567",
6200 "body": "<ul><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li></ul>",
6204 "header": "20 tests cover line 1568",
6205 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6209 "header": "20 tests cover line 1570",
6210 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6214 "header": "20 tests cover line 1571",
6215 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6219 "header": "3 tests cover line 1585",
6220 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6224 "header": "1 test covers line 1586",
6225 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li></ul>",
6229 "header": "3 tests cover line 1588",
6230 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6234 "header": "3 tests cover line 1589",
6235 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6239 "header": "3 tests cover line 1590",
6240 "body": "<ul><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li></ul>",
6244 "header": "26 tests cover line 1606",
6245 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testInvalidRefernce</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6249 "header": "18 tests cover line 1607",
6250 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6254 "header": "23 tests cover line 1609",
6255 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testInvalidRefernce</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6259 "header": "3 tests cover line 1621",
6260 "body": "<ul><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6264 "header": "32 tests cover line 1639",
6265 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidLimits</li><li class=\"testPassed\">QueryTest::testInvalidProperties</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6269 "header": "2 tests cover line 1640",
6270 "body": "<ul><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li></ul>",
6274 "header": "32 tests cover line 1642",
6275 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidLimits</li><li class=\"testPassed\">QueryTest::testInvalidProperties</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6279 "header": "6 tests cover line 1655",
6280 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6284 "header": "26 tests cover line 1667",
6285 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6289 "header": "26 tests cover line 1676",
6290 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6294 "header": "26 tests cover line 1679",
6295 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6299 "header": "26 tests cover line 1680",
6300 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6304 "header": "26 tests cover line 1681",
6305 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6309 "header": "26 tests cover line 1682",
6310 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6314 "header": "26 tests cover line 1683",
6315 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6319 "header": "26 tests cover line 1684",
6320 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6324 "header": "26 tests cover line 1685",
6325 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6329 "header": "26 tests cover line 1687",
6330 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6334 "header": "26 tests cover line 1689",
6335 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6339 "header": "26 tests cover line 1691",
6340 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6344 "header": "6 tests cover line 1692",
6345 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6349 "header": "6 tests cover line 1693",
6350 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6354 "header": "6 tests cover line 1694",
6355 "body": "<ul><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6359 "header": "25 tests cover line 1697",
6360 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6364 "header": "25 tests cover line 1698",
6365 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6369 "header": "3 tests cover line 1699",
6370 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6374 "header": "3 tests cover line 1700",
6375 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6379 "header": "22 tests cover line 1701",
6380 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6384 "header": "25 tests cover line 1703",
6385 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6389 "header": "3 tests cover line 1704",
6390 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6394 "header": "3 tests cover line 1705",
6395 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6399 "header": "25 tests cover line 1706",
6400 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6404 "header": "3 tests cover line 1707",
6405 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6409 "header": "3 tests cover line 1708",
6410 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6414 "header": "25 tests cover line 1709",
6415 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6419 "header": "3 tests cover line 1710",
6420 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6424 "header": "3 tests cover line 1711",
6425 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">ReferencesTest::testReferences</li></ul>",
6429 "header": "25 tests cover line 1713",
6430 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6434 "header": "25 tests cover line 1716",
6435 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6439 "header": "25 tests cover line 1718",
6440 "body": "<ul><li class=\"testPassed\">QueryTest::testBulkInserts</li><li class=\"testPassed\">QueryTest::testReset</li><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testToSTring</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">BugsTest::testNormalIteration</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testCount</li><li class=\"testPassed\">ArrayTest::testArrayAccess</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6444 "header": "4 tests cover line 1733",
6445 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidProperties</li></ul>",
6449 "header": "4 tests cover line 1735",
6450 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidProperties</li></ul>",
6454 "header": "1 test covers line 1736",
6455 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidProperties</li></ul>",
6459 "header": "3 tests cover line 1739",
6460 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6464 "header": "3 tests cover line 1740",
6465 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6469 "header": "3 tests cover line 1741",
6470 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6474 "header": "3 tests cover line 1743",
6475 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6479 "header": "3 tests cover line 1744",
6480 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6484 "header": "3 tests cover line 1745",
6485 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6489 "header": "3 tests cover line 1746",
6490 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6494 "header": "3 tests cover line 1750",
6495 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6499 "header": "3 tests cover line 1752",
6500 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6504 "header": "3 tests cover line 1754",
6505 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6509 "header": "1 test covers line 1759",
6510 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidProperties</li></ul>",
6514 "header": "23 tests cover line 1770",
6515 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6519 "header": "22 tests cover line 1772",
6520 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6524 "header": "4 tests cover line 1773",
6525 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
6529 "header": "1 test covers line 1774",
6530 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
6534 "header": "3 tests cover line 1776",
6535 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6539 "header": "3 tests cover line 1777",
6540 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6544 "header": "1 test covers line 1778",
6545 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6549 "header": "1 test covers line 1779",
6550 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6554 "header": "1 test covers line 1780",
6555 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6559 "header": "3 tests cover line 1781",
6560 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6564 "header": "3 tests cover line 1782",
6565 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6569 "header": "3 tests cover line 1783",
6570 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6574 "header": "22 tests cover line 1786",
6575 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6579 "header": "22 tests cover line 1787",
6580 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6584 "header": "1 test covers line 1788",
6585 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
6589 "header": "21 tests cover line 1789",
6590 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6594 "header": "13 tests cover line 1791",
6595 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6599 "header": "13 tests cover line 1792",
6600 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6604 "header": "13 tests cover line 1793",
6605 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6609 "header": "13 tests cover line 1794",
6610 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6614 "header": "5 tests cover line 1795",
6615 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6619 "header": "5 tests cover line 1796",
6620 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6624 "header": "13 tests cover line 1798",
6625 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6629 "header": "13 tests cover line 1799",
6630 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6634 "header": "1 test covers line 1800",
6635 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6639 "header": "1 test covers line 1801",
6640 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6644 "header": "13 tests cover line 1803",
6645 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6649 "header": "13 tests cover line 1804",
6650 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6654 "header": "5 tests cover line 1805",
6655 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
6659 "header": "5 tests cover line 1806",
6660 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
6664 "header": "12 tests cover line 1808",
6665 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6669 "header": "12 tests cover line 1809",
6670 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6674 "header": "2 tests cover line 1810",
6675 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6679 "header": "2 tests cover line 1811",
6680 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6684 "header": "12 tests cover line 1813",
6685 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6689 "header": "12 tests cover line 1814",
6690 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6694 "header": "12 tests cover line 1815",
6695 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6699 "header": "2 tests cover line 1816",
6700 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6704 "header": "2 tests cover line 1817",
6705 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6709 "header": "2 tests cover line 1818",
6710 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6714 "header": "2 tests cover line 1819",
6715 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6719 "header": "1 test covers line 1820",
6720 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6724 "header": "2 tests cover line 1822",
6725 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li></ul>",
6729 "header": "12 tests cover line 1824",
6730 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6734 "header": "12 tests cover line 1825",
6735 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6739 "header": "12 tests cover line 1826",
6740 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6744 "header": "3 tests cover line 1827",
6745 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6749 "header": "1 test covers line 1828",
6750 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6754 "header": "1 test covers line 1829",
6755 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6759 "header": "1 test covers line 1830",
6760 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6764 "header": "3 tests cover line 1831",
6765 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6769 "header": "3 tests cover line 1833",
6770 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
6774 "header": "11 tests cover line 1835",
6775 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6779 "header": "11 tests cover line 1836",
6780 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6784 "header": "11 tests cover line 1837",
6785 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6789 "header": "1 test covers line 1838",
6790 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li></ul>",
6794 "header": "1 test covers line 1839",
6795 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li></ul>",
6799 "header": "1 test covers line 1840",
6800 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li></ul>",
6804 "header": "10 tests cover line 1842",
6805 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6809 "header": "10 tests cover line 1843",
6810 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6814 "header": "3 tests cover line 1844",
6815 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6819 "header": "1 test covers line 1845",
6820 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6824 "header": "1 test covers line 1846",
6825 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li></ul>",
6829 "header": "3 tests cover line 1847",
6830 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6834 "header": "3 tests cover line 1848",
6835 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
6839 "header": "8 tests cover line 1851",
6840 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6844 "header": "8 tests cover line 1852",
6845 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6849 "header": "3 tests cover line 1853",
6850 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6854 "header": "3 tests cover line 1854",
6855 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6859 "header": "3 tests cover line 1855",
6860 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6864 "header": "8 tests cover line 1858",
6865 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6869 "header": "8 tests cover line 1859",
6870 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6874 "header": "7 tests cover line 1860",
6875 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6879 "header": "7 tests cover line 1861",
6880 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6884 "header": "7 tests cover line 1862",
6885 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6889 "header": "4 tests cover line 1864",
6890 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6894 "header": "4 tests cover line 1865",
6895 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6899 "header": "4 tests cover line 1866",
6900 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6904 "header": "4 tests cover line 1867",
6905 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6909 "header": "4 tests cover line 1868",
6910 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
6914 "header": "1 test covers line 1872",
6915 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6919 "header": "1 test covers line 1873",
6920 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6924 "header": "1 test covers line 1874",
6925 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6929 "header": "1 test covers line 1875",
6930 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6934 "header": "1 test covers line 1876",
6935 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6939 "header": "1 test covers line 1878",
6940 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6944 "header": "1 test covers line 1879",
6945 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6949 "header": "13 tests cover line 1880",
6950 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6954 "header": "13 tests cover line 1882",
6955 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6959 "header": "1 test covers line 1883",
6960 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6964 "header": "13 tests cover line 1884",
6965 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testQueryRequireArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6969 "header": "1 test covers line 1885",
6970 "body": "<ul><li class=\"testPassed\">QueryTest::testQueryRequireArray</li></ul>",
6974 "header": "12 tests cover line 1888",
6975 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6979 "header": "12 tests cover line 1889",
6980 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6984 "header": "12 tests cover line 1890",
6985 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6989 "header": "20 tests cover line 1891",
6990 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
6994 "header": "1 test covers line 1892",
6995 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
6999 "header": "1 test covers line 1893",
7000 "body": "<ul><li class=\"testPassed\">QueryTest::testDelete</li></ul>",
7004 "header": "20 tests cover line 1895",
7005 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7009 "header": "20 tests cover line 1896",
7010 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7014 "header": "4 tests cover line 1897",
7015 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
7019 "header": "4 tests cover line 1898",
7020 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li></ul>",
7024 "header": "20 tests cover line 1902",
7025 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7029 "header": "1 test covers line 1903",
7030 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7034 "header": "1 test covers line 1904",
7035 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7039 "header": "1 test covers line 1905",
7040 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7044 "header": "1 test covers line 1906",
7045 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7049 "header": "1 test covers line 1908",
7050 "body": "<ul><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li></ul>",
7054 "header": "20 tests cover line 1909",
7055 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7059 "header": "20 tests cover line 1913",
7060 "body": "<ul><li class=\"testPassed\">QueryTest::testModQuery</li><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testMultipleOperationsPerProperty</li><li class=\"testPassed\">QueryTest::testMultipleUpdate</li><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testOnQueryModifyError</li><li class=\"testPassed\">QueryTest::testDelete</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li><li class=\"testPassed\">ReferencesTest::testDeferencing</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">SleepTest::testSleep</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testFetchFromCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7064 "header": "6 tests cover line 1927",
7065 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7069 "header": "6 tests cover line 1929",
7070 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7074 "header": "6 tests cover line 1930",
7075 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7079 "header": "6 tests cover line 1931",
7080 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7084 "header": "6 tests cover line 1932",
7085 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7089 "header": "6 tests cover line 1933",
7090 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7094 "header": "1 test covers line 1934",
7095 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7099 "header": "1 test covers line 1935",
7100 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7104 "header": "6 tests cover line 1936",
7105 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7109 "header": "6 tests cover line 1937",
7110 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7114 "header": "6 tests cover line 1940",
7115 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7119 "header": "6 tests cover line 1943",
7120 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7124 "header": "1 test covers line 1944",
7125 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7129 "header": "6 tests cover line 1947",
7130 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7134 "header": "6 tests cover line 1948",
7135 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7139 "header": "3 tests cover line 1949",
7140 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7144 "header": "3 tests cover line 1950",
7145 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7149 "header": "6 tests cover line 1951",
7150 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7154 "header": "6 tests cover line 1952",
7155 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7159 "header": "6 tests cover line 1953",
7160 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7164 "header": "1 test covers line 1954",
7165 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7169 "header": "1 test covers line 1955",
7170 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidQueries</li></ul>",
7174 "header": "6 tests cover line 1956",
7175 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7179 "header": "6 tests cover line 1957",
7180 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7184 "header": "6 tests cover line 1958",
7185 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7189 "header": "6 tests cover line 1960",
7190 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidQueries</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7194 "header": "6 tests cover line 1975",
7195 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidLimits</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7199 "header": "6 tests cover line 1977",
7200 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testInvalidLimits</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7204 "header": "1 test covers line 1978",
7205 "body": "<ul><li class=\"testPassed\">QueryTest::testInvalidLimits</li></ul>",
7209 "header": "5 tests cover line 1980",
7210 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7214 "header": "5 tests cover line 1981",
7215 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7219 "header": "5 tests cover line 1983",
7220 "body": "<ul><li class=\"testPassed\">QueryTest::testQuery</li><li class=\"testPassed\">QueryTest::testQueryArray</li><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7224 "header": "2 tests cover line 1995",
7225 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7229 "header": "2 tests cover line 1997",
7230 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7234 "header": "1 test covers line 1998",
7235 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7239 "header": "2 tests cover line 2001",
7240 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7244 "header": "2 tests cover line 2002",
7245 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7249 "header": "2 tests cover line 2004",
7250 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li><li class=\"testPassed\">ReferencesTest::testReferencesWithFindAndReferences</li></ul>",
7254 "header": "1 test covers line 2009",
7255 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7259 "header": "1 test covers line 2012",
7260 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7264 "header": "1 test covers line 2013",
7265 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7269 "header": "1 test covers line 2014",
7270 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7274 "header": "1 test covers line 2015",
7275 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7279 "header": "1 test covers line 2016",
7280 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7284 "header": "1 test covers line 2017",
7285 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7289 "header": "1 test covers line 2018",
7290 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7294 "header": "1 test covers line 2019",
7295 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7299 "header": "1 test covers line 2020",
7300 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7304 "header": "1 test covers line 2022",
7305 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7309 "header": "1 test covers line 2023",
7310 "body": "<ul><li class=\"testPassed\">QueryTest::testFindAndModify</li></ul>",
7314 "header": "19 tests cover line 2037",
7315 "body": "<ul><li class=\"testPassed\">QueryTest::testNullUpdate</li><li class=\"testPassed\">QueryTest::testClone</li><li class=\"testPassed\">QueryTest::testDrop</li><li class=\"testPassed\">QueryTest::testFindWithSingleID</li><li class=\"testPassed\">ReferencesTest::testReferences</li><li class=\"testPassed\">ReferencesTest::testFindAndReferences</li><li class=\"testPassed\">ValidatorsTest::testValidatesPresence</li><li class=\"testPassed\">HookTest::testFilters</li><li class=\"testPassed\">HookTest::testChanges</li><li class=\"testPassed\">HookTest::testBeforeValidate</li><li class=\"testPassed\">HookTest::testBeforeDelete</li><li class=\"testPassed\">HookTest::testAfterDelete</li><li class=\"testPassed\">ArrayTest::testScalarToArray</li><li class=\"testPassed\">ArrayTest::testArrayUnsetNull</li><li class=\"testPassed\">CacheTest::testCacheSimple</li><li class=\"testPassed\">CacheTest::testCacheMultiple</li><li class=\"testPassed\">CacheTest::testUpdateCache</li><li class=\"testPassed\">CacheTest::testUpdateQueryCache</li><li class=\"testPassed\">CacheTest::testDrivers</li></ul>",
7321 YAHOO
.phpunit
.container
.prepare = function (e
) {
7322 var elemId
= $E
.getTarget(e
).id
;
7323 var line
= elemId
.substr(4);
7324 var panelId
= "panel" + line
;
7325 var containerId
= "container" + line
;
7327 var panelData
= YAHOO
.phpunit
.container
.panelsData
[panelId
];
7329 var panel
= new YAHOO
.widget
.Panel(panelId
, { visible
:false, draggable
:false, close
:true } );
7330 panel
.setHeader(panelData
["header"]);
7331 panel
.setBody(panelData
["body"]);
7332 panel
.setFooter(panelData
["footer"]);
7333 panel
.render(containerId
);
7335 $E
.addListener(elemId
, "click", panel
.show
, panel
, true);
7336 $E
.removeListener(elemId
, "mouseover");
7340 var ypc
= YAHOO
.phpunit
.container
;
7341 for (var panelId
in ypc
.panelsData
) {
7342 var elemId
= "line" + panelId
.substr(5);
7343 $E
.addListener(elemId
, "mouseover", ypc
.prepare
);
7347 $E
.addListener(window
, "load", init
);