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)
|
||||
->allRevisions()
|
||||
->groupBy('title')
|
||||
->condition('vid', $this->value, 'IN')
|
||||
->execute();
|
||||
|
||||
foreach ($results as $result) {
|
||||
|
|
|
@ -13,45 +13,12 @@ base_table: node_field_data
|
|||
base_field: nid
|
||||
display:
|
||||
default:
|
||||
display_plugin: default
|
||||
id: default
|
||||
display_title: Default
|
||||
display_plugin: default
|
||||
position: 0
|
||||
display_options:
|
||||
access:
|
||||
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
|
||||
title: test_node_revision_id_argument
|
||||
fields:
|
||||
title:
|
||||
id: title
|
||||
|
@ -60,6 +27,9 @@ display:
|
|||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
entity_type: node
|
||||
entity_field: title
|
||||
plugin_id: field
|
||||
label: ''
|
||||
exclude: false
|
||||
alter:
|
||||
|
@ -115,16 +85,30 @@ display:
|
|||
multi_type: separator
|
||||
separator: ', '
|
||||
field_api_classes: false
|
||||
entity_type: node
|
||||
entity_field: title
|
||||
plugin_id: field
|
||||
filters: { }
|
||||
sorts: { }
|
||||
title: test_node_revision_id_argument
|
||||
header: { }
|
||||
footer: { }
|
||||
pager:
|
||||
type: none
|
||||
options:
|
||||
offset: 0
|
||||
items_per_page: null
|
||||
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
|
||||
access:
|
||||
type: perm
|
||||
options:
|
||||
perm: 'access content'
|
||||
cache:
|
||||
type: tag
|
||||
options: { }
|
||||
empty: { }
|
||||
relationships: { }
|
||||
sorts: { }
|
||||
arguments:
|
||||
vid:
|
||||
id: vid
|
||||
|
@ -133,13 +117,16 @@ display:
|
|||
relationship: none
|
||||
group_type: group
|
||||
admin_label: ''
|
||||
entity_type: node
|
||||
entity_field: vid
|
||||
plugin_id: node_vid
|
||||
default_action: ignore
|
||||
exception:
|
||||
value: all
|
||||
title_enable: false
|
||||
title: All
|
||||
title_enable: false
|
||||
title: ''
|
||||
title_enable: true
|
||||
title: '{{ arguments.vid }}'
|
||||
default_argument_type: fixed
|
||||
default_argument_options:
|
||||
argument: ''
|
||||
|
@ -147,8 +134,8 @@ display:
|
|||
summary_options:
|
||||
base_path: ''
|
||||
count: true
|
||||
items_per_page: 25
|
||||
override: false
|
||||
items_per_page: 25
|
||||
summary:
|
||||
sort_order: asc
|
||||
number_of_records: 0
|
||||
|
@ -160,38 +147,51 @@ display:
|
|||
validate_options: { }
|
||||
break_phrase: false
|
||||
not: false
|
||||
entity_type: node
|
||||
entity_field: vid
|
||||
plugin_id: node_vid
|
||||
display_extenders: { }
|
||||
filters: { }
|
||||
filter_groups:
|
||||
operator: AND
|
||||
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:
|
||||
max-age: -1
|
||||
contexts:
|
||||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
- url
|
||||
- 'user.node_grants:view'
|
||||
- user.permissions
|
||||
cacheable: false
|
||||
max-age: -1
|
||||
tags: { }
|
||||
cacheable: false
|
||||
page_1:
|
||||
display_plugin: page
|
||||
id: page_1
|
||||
display_title: Page
|
||||
display_plugin: page
|
||||
position: 1
|
||||
display_options:
|
||||
display_extenders: { }
|
||||
path: test-revision-vid-argument
|
||||
cache_metadata:
|
||||
max-age: -1
|
||||
contexts:
|
||||
- 'languages:language_content'
|
||||
- 'languages:language_interface'
|
||||
- url
|
||||
- 'user.node_grants:view'
|
||||
- user.permissions
|
||||
cacheable: false
|
||||
max-age: -1
|
||||
tags: { }
|
||||
cacheable: false
|
||||
|
|
|
@ -45,13 +45,16 @@ class ArgumentNodeRevisionIdTest extends ViewsKernelTestBase {
|
|||
NodeType::create(['type' => 'page', 'name' => 'page'])->save();
|
||||
$node = Node::create(['type' => 'page', 'title' => 'test1', 'uid' => 1]);
|
||||
$node->save();
|
||||
$first_revision_id = $node->getRevisionId();
|
||||
$node->setNewRevision();
|
||||
$node->setTitle('test2');
|
||||
$node->save();
|
||||
$second_revision_id = $node->getRevisionId();
|
||||
|
||||
$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->assertSame('test2', $view_nid->getTitle());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue