Issue #3259671 by alexpott, _KASH_, Lendude: Slow query in titleQuery Vid.php
parent
5b89b5353b
commit
334790ce2d
|
@ -59,6 +59,7 @@ class Vid extends NumericArgument {
|
||||||
->accessCheck(FALSE)
|
->accessCheck(FALSE)
|
||||||
->allRevisions()
|
->allRevisions()
|
||||||
->groupBy('title')
|
->groupBy('title')
|
||||||
|
->condition('vid', $this->value, 'IN')
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
foreach ($results as $result) {
|
foreach ($results as $result) {
|
||||||
|
|
|
@ -13,45 +13,12 @@ base_table: node_field_data
|
||||||
base_field: nid
|
base_field: nid
|
||||||
display:
|
display:
|
||||||
default:
|
default:
|
||||||
display_plugin: default
|
|
||||||
id: default
|
id: default
|
||||||
display_title: Default
|
display_title: Default
|
||||||
|
display_plugin: default
|
||||||
position: 0
|
position: 0
|
||||||
display_options:
|
display_options:
|
||||||
access:
|
title: test_node_revision_id_argument
|
||||||
type: perm
|
|
||||||
options:
|
|
||||||
perm: 'access content'
|
|
||||||
cache:
|
|
||||||
type: tag
|
|
||||||
options: { }
|
|
||||||
query:
|
|
||||||
type: views_query
|
|
||||||
options:
|
|
||||||
disable_sql_rewrite: false
|
|
||||||
distinct: false
|
|
||||||
replica: false
|
|
||||||
query_comment: ''
|
|
||||||
query_tags: { }
|
|
||||||
exposed_form:
|
|
||||||
type: basic
|
|
||||||
options:
|
|
||||||
submit_button: Apply
|
|
||||||
reset_button: false
|
|
||||||
reset_button_label: Reset
|
|
||||||
exposed_sorts_label: 'Sort by'
|
|
||||||
expose_sort_order: true
|
|
||||||
sort_asc_label: Asc
|
|
||||||
sort_desc_label: Desc
|
|
||||||
pager:
|
|
||||||
type: none
|
|
||||||
options:
|
|
||||||
items_per_page: null
|
|
||||||
offset: 0
|
|
||||||
style:
|
|
||||||
type: default
|
|
||||||
row:
|
|
||||||
type: fields
|
|
||||||
fields:
|
fields:
|
||||||
title:
|
title:
|
||||||
id: title
|
id: title
|
||||||
|
@ -60,6 +27,9 @@ display:
|
||||||
relationship: none
|
relationship: none
|
||||||
group_type: group
|
group_type: group
|
||||||
admin_label: ''
|
admin_label: ''
|
||||||
|
entity_type: node
|
||||||
|
entity_field: title
|
||||||
|
plugin_id: field
|
||||||
label: ''
|
label: ''
|
||||||
exclude: false
|
exclude: false
|
||||||
alter:
|
alter:
|
||||||
|
@ -115,16 +85,30 @@ display:
|
||||||
multi_type: separator
|
multi_type: separator
|
||||||
separator: ', '
|
separator: ', '
|
||||||
field_api_classes: false
|
field_api_classes: false
|
||||||
entity_type: node
|
pager:
|
||||||
entity_field: title
|
type: none
|
||||||
plugin_id: field
|
options:
|
||||||
filters: { }
|
offset: 0
|
||||||
sorts: { }
|
items_per_page: null
|
||||||
title: test_node_revision_id_argument
|
exposed_form:
|
||||||
header: { }
|
type: basic
|
||||||
footer: { }
|
options:
|
||||||
|
submit_button: Apply
|
||||||
|
reset_button: false
|
||||||
|
reset_button_label: Reset
|
||||||
|
exposed_sorts_label: 'Sort by'
|
||||||
|
expose_sort_order: true
|
||||||
|
sort_asc_label: Asc
|
||||||
|
sort_desc_label: Desc
|
||||||
|
access:
|
||||||
|
type: perm
|
||||||
|
options:
|
||||||
|
perm: 'access content'
|
||||||
|
cache:
|
||||||
|
type: tag
|
||||||
|
options: { }
|
||||||
empty: { }
|
empty: { }
|
||||||
relationships: { }
|
sorts: { }
|
||||||
arguments:
|
arguments:
|
||||||
vid:
|
vid:
|
||||||
id: vid
|
id: vid
|
||||||
|
@ -133,13 +117,16 @@ display:
|
||||||
relationship: none
|
relationship: none
|
||||||
group_type: group
|
group_type: group
|
||||||
admin_label: ''
|
admin_label: ''
|
||||||
|
entity_type: node
|
||||||
|
entity_field: vid
|
||||||
|
plugin_id: node_vid
|
||||||
default_action: ignore
|
default_action: ignore
|
||||||
exception:
|
exception:
|
||||||
value: all
|
value: all
|
||||||
title_enable: false
|
title_enable: false
|
||||||
title: All
|
title: All
|
||||||
title_enable: false
|
title_enable: true
|
||||||
title: ''
|
title: '{{ arguments.vid }}'
|
||||||
default_argument_type: fixed
|
default_argument_type: fixed
|
||||||
default_argument_options:
|
default_argument_options:
|
||||||
argument: ''
|
argument: ''
|
||||||
|
@ -147,8 +134,8 @@ display:
|
||||||
summary_options:
|
summary_options:
|
||||||
base_path: ''
|
base_path: ''
|
||||||
count: true
|
count: true
|
||||||
items_per_page: 25
|
|
||||||
override: false
|
override: false
|
||||||
|
items_per_page: 25
|
||||||
summary:
|
summary:
|
||||||
sort_order: asc
|
sort_order: asc
|
||||||
number_of_records: 0
|
number_of_records: 0
|
||||||
|
@ -160,38 +147,51 @@ display:
|
||||||
validate_options: { }
|
validate_options: { }
|
||||||
break_phrase: false
|
break_phrase: false
|
||||||
not: false
|
not: false
|
||||||
entity_type: node
|
filters: { }
|
||||||
entity_field: vid
|
|
||||||
plugin_id: node_vid
|
|
||||||
display_extenders: { }
|
|
||||||
filter_groups:
|
filter_groups:
|
||||||
operator: AND
|
operator: AND
|
||||||
groups: { }
|
groups: { }
|
||||||
|
style:
|
||||||
|
type: default
|
||||||
|
row:
|
||||||
|
type: fields
|
||||||
|
query:
|
||||||
|
type: views_query
|
||||||
|
options:
|
||||||
|
query_comment: ''
|
||||||
|
disable_sql_rewrite: false
|
||||||
|
distinct: false
|
||||||
|
replica: false
|
||||||
|
query_tags: { }
|
||||||
|
relationships: { }
|
||||||
|
header: { }
|
||||||
|
footer: { }
|
||||||
|
display_extenders: { }
|
||||||
cache_metadata:
|
cache_metadata:
|
||||||
|
max-age: -1
|
||||||
contexts:
|
contexts:
|
||||||
- 'languages:language_content'
|
- 'languages:language_content'
|
||||||
- 'languages:language_interface'
|
- 'languages:language_interface'
|
||||||
- url
|
- url
|
||||||
- 'user.node_grants:view'
|
- 'user.node_grants:view'
|
||||||
- user.permissions
|
- user.permissions
|
||||||
cacheable: false
|
|
||||||
max-age: -1
|
|
||||||
tags: { }
|
tags: { }
|
||||||
|
cacheable: false
|
||||||
page_1:
|
page_1:
|
||||||
display_plugin: page
|
|
||||||
id: page_1
|
id: page_1
|
||||||
display_title: Page
|
display_title: Page
|
||||||
|
display_plugin: page
|
||||||
position: 1
|
position: 1
|
||||||
display_options:
|
display_options:
|
||||||
display_extenders: { }
|
display_extenders: { }
|
||||||
path: test-revision-vid-argument
|
path: test-revision-vid-argument
|
||||||
cache_metadata:
|
cache_metadata:
|
||||||
|
max-age: -1
|
||||||
contexts:
|
contexts:
|
||||||
- 'languages:language_content'
|
- 'languages:language_content'
|
||||||
- 'languages:language_interface'
|
- 'languages:language_interface'
|
||||||
- url
|
- url
|
||||||
- 'user.node_grants:view'
|
- 'user.node_grants:view'
|
||||||
- user.permissions
|
- user.permissions
|
||||||
cacheable: false
|
|
||||||
max-age: -1
|
|
||||||
tags: { }
|
tags: { }
|
||||||
|
cacheable: false
|
||||||
|
|
|
@ -45,13 +45,16 @@ class ArgumentNodeRevisionIdTest extends ViewsKernelTestBase {
|
||||||
NodeType::create(['type' => 'page', 'name' => 'page'])->save();
|
NodeType::create(['type' => 'page', 'name' => 'page'])->save();
|
||||||
$node = Node::create(['type' => 'page', 'title' => 'test1', 'uid' => 1]);
|
$node = Node::create(['type' => 'page', 'title' => 'test1', 'uid' => 1]);
|
||||||
$node->save();
|
$node->save();
|
||||||
|
$first_revision_id = $node->getRevisionId();
|
||||||
$node->setNewRevision();
|
$node->setNewRevision();
|
||||||
$node->setTitle('test2');
|
$node->setTitle('test2');
|
||||||
$node->save();
|
$node->save();
|
||||||
|
$second_revision_id = $node->getRevisionId();
|
||||||
|
|
||||||
$view_nid = Views::getView('test_node_revision_id_argument');
|
$view_nid = Views::getView('test_node_revision_id_argument');
|
||||||
$this->executeView($view_nid, [$node->getRevisionId()]);
|
$this->executeView($view_nid, [$second_revision_id]);
|
||||||
$this->assertIdenticalResultset($view_nid, [['title' => 'test2']]);
|
$this->assertIdenticalResultset($view_nid, [['title' => 'test2']]);
|
||||||
|
$this->assertSame('test2', $view_nid->getTitle());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue