Merge "Rewrite HashRing to use consistent hashing"
[lhc/web/wiklou.git] / tests / phpunit / includes / Storage / NoContentModelRevisionStoreDbTest.php
1 <?php
2 namespace MediaWiki\Tests\Storage;
3
4 /**
5 * Tests RevisionStore against the pre-MCR, pre-ContentHandler DB schema.
6 *
7 * @covers \MediaWiki\Storage\RevisionStore
8 *
9 * @group RevisionStore
10 * @group Storage
11 * @group Database
12 * @group medium
13 */
14 class NoContentModelRevisionStoreDbTest extends RevisionStoreDbTestBase {
15
16 use PreMcrSchemaOverride;
17
18 protected function getContentHandlerUseDB() {
19 return false;
20 }
21
22 public function provideGetArchiveQueryInfo() {
23 yield [
24 [
25 'tables' => [ 'archive' ],
26 'fields' => array_merge(
27 $this->getDefaultArchiveFields(),
28 [
29 'ar_comment_text' => 'ar_comment',
30 'ar_comment_data' => 'NULL',
31 'ar_comment_cid' => 'NULL',
32 'ar_user_text' => 'ar_user_text',
33 'ar_user' => 'ar_user',
34 'ar_actor' => 'NULL',
35 ]
36 ),
37 'joins' => [],
38 ]
39 ];
40 }
41
42 public function provideGetQueryInfo() {
43 yield [
44 [],
45 [
46 'tables' => [ 'revision' ],
47 'fields' => array_merge(
48 $this->getDefaultQueryFields(),
49 $this->getCommentQueryFields(),
50 $this->getActorQueryFields()
51 ),
52 'joins' => [],
53 ]
54 ];
55 yield [
56 [ 'page' ],
57 [
58 'tables' => [ 'revision', 'page' ],
59 'fields' => array_merge(
60 $this->getDefaultQueryFields(),
61 $this->getCommentQueryFields(),
62 $this->getActorQueryFields(),
63 [
64 'page_namespace',
65 'page_title',
66 'page_id',
67 'page_latest',
68 'page_is_redirect',
69 'page_len',
70 ]
71 ),
72 'joins' => [
73 'page' => [ 'INNER JOIN', [ 'page_id = rev_page' ] ],
74 ],
75 ]
76 ];
77 yield [
78 [ 'user' ],
79 [
80 'tables' => [ 'revision', 'user' ],
81 'fields' => array_merge(
82 $this->getDefaultQueryFields(),
83 $this->getCommentQueryFields(),
84 $this->getActorQueryFields(),
85 [
86 'user_name',
87 ]
88 ),
89 'joins' => [
90 'user' => [ 'LEFT JOIN', [ 'rev_user != 0', 'user_id = rev_user' ] ],
91 ],
92 ]
93 ];
94 yield [
95 [ 'text' ],
96 [
97 'tables' => [ 'revision', 'text' ],
98 'fields' => array_merge(
99 $this->getDefaultQueryFields(),
100 $this->getCommentQueryFields(),
101 $this->getActorQueryFields(),
102 [
103 'old_text',
104 'old_flags',
105 ]
106 ),
107 'joins' => [
108 'text' => [ 'INNER JOIN', [ 'rev_text_id=old_id' ] ],
109 ],
110 ]
111 ];
112 }
113
114 }