Difference between revisions of "Template:Card query"
Dinoguy1000 (talk | contribs) (store medium+type combinations in Property:((Card query)) medium and type value, except those already covered by a concept) |
Dinoguy1000 (talk | contribs) (support Cross Duel monsters sometimes having both Level and Rank) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 29: | Line 29: | ||
| ocg-only = [[Medium::OCG-only]] | | ocg-only = [[Medium::OCG-only]] | ||
| tcg-only = [[Medium::TCG-only]] | | tcg-only = [[Medium::TCG-only]] | ||
− | | rush duel = [[ | + | | rush duel = [[Concept:Rush Duel cards]] |
| anime = [[Concept:Anime cards]] | | anime = [[Concept:Anime cards]] | ||
| anime-only = [[Category:Anime cards with no OCG/TCG counterpart]] | | anime-only = [[Category:Anime cards with no OCG/TCG counterpart]] | ||
Line 36: | Line 36: | ||
| vg = [[Concept:Video game cards]] | | vg = [[Concept:Video game cards]] | ||
| vg-only = [[Category:Video game cards with no OCG/TCG counterpart]] | | vg-only = [[Category:Video game cards with no OCG/TCG counterpart]] | ||
− | | duel links = [[ | + | | duel links = [[Concept:Duel Links cards]] |
| non-official = <q>[[Concept:Anime cards]] OR [[Concept:Manga cards]] OR [[Concept:Video game cards]]</q> | | non-official = <q>[[Concept:Anime cards]] OR [[Concept:Manga cards]] OR [[Concept:Video game cards]]</q> | ||
}} | }} | ||
Line 89: | Line 89: | ||
}} | }} | ||
}}{{ #if: {{ #var: $cq_medium }} | {{ #if: {{ #var: $cq_card_type }} | {{ #switch: {{ #var: $cq_medium }}, {{ #var: $cq_card_type }} | }}{{ #if: {{ #var: $cq_medium }} | {{ #if: {{ #var: $cq_card_type }} | {{ #switch: {{ #var: $cq_medium }}, {{ #var: $cq_card_type }} | ||
− | | official, monster | official, spell | official, trap | official, non-monster | + | | official, monster | official, spell | official, trap | official, non-monster |
− | | anime, monster | + | | duel links, monster | duel links, non-monster |
− | | manga, monster | + | | rush duel, monster | rush duel, non-monster |
− | | #default | + | | anime, monster | anime, non-monster |
+ | | manga, monster | manga, non-monster = <!-- already covered by concepts --> | ||
+ | | #default = [[((Card query)) medium and type value::{{ #var: $cq_medium }}, {{ #var: $cq_card_type }}| ]] | ||
}} | }} | ||
}} | }} | ||
Line 137: | Line 139: | ||
}} | }} | ||
}}{{ #vardefine: $cq_concept_query | {{ #switch: {{ #var: $cq_medium }}/{{ #var: $cq_card_type }} | }}{{ #vardefine: $cq_concept_query | {{ #switch: {{ #var: $cq_medium }}/{{ #var: $cq_card_type }} | ||
− | | official/monster | + | | official/monster = [[Concept:CG monsters]] |
− | | official/spell | + | | official/spell = [[Concept:CG Spell Cards]] |
− | | official/trap | + | | official/trap = [[Concept:CG Trap Cards]] |
− | | official/non-monster = [[Concept:CG non-monster cards]] | + | | official/non-monster = [[Concept:CG non-monster cards]] |
− | | | + | | duel links/monster = [[Concept:Duel Links monsters]] |
− | | | + | | duel links/non-monster = [[Concept:Duel Links non-monsters]] |
− | | | + | | rush duel/monster = [[Concept:Rush Duel monsters]] |
− | | | + | | rush duel/non-monster = [[Concept:Rush Duel non-monsters]] |
− | | | + | | anime/monster = [[Concept:Anime monsters]] |
− | | | + | | anime/non-monster = [[Concept:Anime non-monsters]] |
− | + | | manga/monster = [[Concept:Manga monsters]] | |
− | + | | manga/non-monster = [[Concept:Manga non-monsters]] | |
− | | | ||
− | | | ||
− | |||
− | |||
}} | }} | ||
}}{{ #vardefine: $cq_full_query | {{ #var: $cq_concept_query | {{ #var: $cq_medium_query }}{{ #var: $cq_card_type_query }} }}{{ #var: $cq_query }} | }}{{ #vardefine: $cq_full_query | {{ #var: $cq_concept_query | {{ #var: $cq_medium_query }}{{ #var: $cq_card_type_query }} }}{{ #var: $cq_query }} | ||
Line 220: | Line 218: | ||
}} | }} | ||
}} | }} | ||
− | }}{{ #vardefine: $cq_col_level/rank/link | {{ #if: {{ #var: $cq_col_level/rank/link_label }} | + | }}<!-- I'm sure I'll pay for this eventually |
− | + | -->{{ #ifeq: {{{medium}}} | Cross Duel | |
+ | | {{ #if: {{ #var: $cq_level_in_results }} | {{ #vardefine: $cq_col_level | ?Level string = [[Level]] }} | ||
+ | }}{{ #if: {{ #var: $cq_rank_in_results }} | {{ #vardefine: $cq_col_rank | ?Rank string = [[Rank]] }} | ||
+ | }} | ||
+ | | {{ #vardefine: $cq_col_level/rank/link | {{ #if: {{ #var: $cq_col_level/rank/link_label }} | ||
+ | | ?Stars string = {{ #var: $cq_col_level/rank/link_label }} | ||
+ | }} | ||
}} | }} | ||
}}<!-- | }}<!-- | ||
Line 239: | Line 243: | ||
}} }} | }} }} | ||
}}{{ #vardefine: $cq_col_link_rating | {{ #ifeq: {{ #ask: {{ #var: $cq_full_query }} [[Link Rating::+]] | format=count }} | 0 | }}{{ #vardefine: $cq_col_link_rating | {{ #ifeq: {{ #ask: {{ #var: $cq_full_query }} [[Link Rating::+]] | format=count }} | 0 | ||
− | || ?Link Rating = [[Link Rating|Link]] | + | || {{ #if: {{ #pos: {{ #var: $cq_query_lc }} | {{!((}}link rating:: }} | {{ #if: {{ #pos: {{ #var: $cq_query_normalized }} | {{!((}}link rating::^ }} | ?Link Rating = [[Link Rating|Link]] }} | ?Link Rating = [[Link Rating|Link]] }} |
+ | }} | ||
+ | }}{{ #vardefine: $cq_col_maximum_atk | {{ #ifeq: {{ #var: $cq_medium }} | rush duel | {{ #ifeq: {{ #ask: {{ #var: $cq_full_query }} [[MAXIMUM ATK::+]] | format=count }} | 0 | ||
+ | || {{ #if: {{ #pos: {{ #var: $cq_query_lc }} | {{!((}}maximum atk:: }} | {{ #if: {{ #pos: {{ #var: $cq_query_normalized }} | {{!((}}maximum atk::^ }} | ?MAXIMUM ATK#- = [[MAXIMUM ATK]] }} | ?MAXIMUM ATK#- = [[MAXIMUM ATK]] }} | ||
+ | }} | ||
}} | }} | ||
− | |||
}} | }} | ||
| {{ #vardefine: $cq_col_property | {{ #if: {{ #pos: {{ #var: $cq_query_lc }} | {{!((}}property:: }} | {{ #if: {{ #pos: {{ #var: $cq_query_normalized }} | {{!((}}property::^ }} | ?Property = [[Property]] | {{ #ifeq: {{{extra_column}}} | Property | ?Property = [[Property]] }} }} | ?Property = [[Property]] }} | | {{ #vardefine: $cq_col_property | {{ #if: {{ #pos: {{ #var: $cq_query_lc }} | {{!((}}property:: }} | {{ #if: {{ #pos: {{ #var: $cq_query_normalized }} | {{!((}}property::^ }} | ?Property = [[Property]] | {{ #ifeq: {{{extra_column}}} | Property | ?Property = [[Property]] }} }} | ?Property = [[Property]] }} | ||
Line 275: | Line 282: | ||
|{{ #var: $cq_col_type }} | |{{ #var: $cq_col_type }} | ||
|{{ #var: $cq_col_level/rank/link }} | |{{ #var: $cq_col_level/rank/link }} | ||
+ | |{{ #var: $cq_col_level }} | ||
+ | |{{ #var: $cq_col_rank }} | ||
|{{ #var: $cq_col_scale }} | |{{ #var: $cq_col_scale }} | ||
|{{ #var: $cq_col_atk }} | |{{ #var: $cq_col_atk }} | ||
Line 308: | Line 317: | ||
{{ #var: $cq_col_type }} | {{ #var: $cq_col_type }} | ||
{{ #var: $cq_col_level/rank/link }} | {{ #var: $cq_col_level/rank/link }} | ||
+ | {{ #var: $cq_col_level }} | ||
+ | {{ #var: $cq_col_rank }} | ||
{{ #var: $cq_col_scale }} | {{ #var: $cq_col_scale }} | ||
{{ #var: $cq_col_atk }} | {{ #var: $cq_col_atk }} | ||
Line 358: | Line 369: | ||
-->{{ #if: {{{debug<includeonly>|</includeonly>}}} | <nowiki/> | -->{{ #if: {{{debug<includeonly>|</includeonly>}}} | <nowiki/> | ||
− | * <code>#ask</code> query: <code>{{ #tag: nowiki | {{ #var: $cq_full_query }} }}</code> | + | * <code>#ask</code> query ($cq_full_query): <code>{{ #tag: nowiki | {{ #var: $cq_full_query }} }}</code> |
* <abbr title="query entered">$cq_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_query }} }}</code> | * <abbr title="query entered">$cq_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_query }} }}</code> | ||
* <abbr title="lowercased query entered">$cq_query_lc</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_query_lc }} }}</code> | * <abbr title="lowercased query entered">$cq_query_lc</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_query_lc }} }}</code> | ||
Line 368: | Line 379: | ||
* <abbr title="processed $cq_card_type ready to use on the query">$cq_card_type_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_card_type_query }} }}</code> | * <abbr title="processed $cq_card_type ready to use on the query">$cq_card_type_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_card_type_query }} }}</code> | ||
* <abbr title="concept used to reduce load for queries asking for common medium+card type combos">$cq_concept_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_concept_query }} }}</code> | * <abbr title="concept used to reduce load for queries asking for common medium+card type combos">$cq_concept_query</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_concept_query }} }}</code> | ||
+ | * <abbr title="determined number of monster results">$cq_monster_count</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_monster_count }} }}</code> | ||
+ | * <abbr title="determined number of nonmonster results">$cq_nonmonster_count</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_nonmonster_count }} }}</code> | ||
+ | * <abbr title="determined number of Spell Card results">$cq_spell_count</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_spell_count }} }}</code> | ||
+ | * <abbr title="determined number of Trap Card results">$cq_trap_count</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_trap_count }} }}</code> | ||
* <abbr title="enable/disable «?Card type» column">$cq_col_card_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_card_type }} }}</code> | * <abbr title="enable/disable «?Card type» column">$cq_col_card_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_card_type }} }}</code> | ||
+ | * <abbr title="enable/disable «?Character» column">$cq_col_character</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_character }} }}</code> | ||
+ | * <abbr title="enable/disable «?Japanese name» column">$cq_col_japanese_name</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_japanese_name }} }}</code> | ||
* <abbr title="for monster cards, enable/disable «?Primary type» column">$cq_col_primary_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_primary_type }} }}</code> | * <abbr title="for monster cards, enable/disable «?Primary type» column">$cq_col_primary_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_primary_type }} }}</code> | ||
* <abbr title="for monster cards, enable/disable «?Secondary type» column">$cq_col_secondary_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_secondary_type }} }}</code> | * <abbr title="for monster cards, enable/disable «?Secondary type» column">$cq_col_secondary_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_secondary_type }} }}</code> | ||
* <abbr title="for monster cards, enable/disable «?Attribute» column">$cq_col_attribute</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_attribute }} }}</code> | * <abbr title="for monster cards, enable/disable «?Attribute» column">$cq_col_attribute</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_attribute }} }}</code> | ||
* <abbr title="for monster cards, enable/disable «?Type» column">$cq_col_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_type }} }}</code> | * <abbr title="for monster cards, enable/disable «?Type» column">$cq_col_type</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_type }} }}</code> | ||
+ | * <abbr title="whether any results have a value stored in Property:Level string">$cq_level_in_results</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_level_in_results }} }}</code> | ||
+ | * <abbr title="whether any results have a value stored in Property:Rank string">$cq_rank_in_results</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_rank_in_results }} }}</code> | ||
+ | * <abbr title="whether any results have a value stored in Property:Link Rating">$cq_link_in_results</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_link_in_results }} }}</code> | ||
+ | * <abbr title="determined label for Stars column">$cq_col_level/rank/link_label</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_level/rank/link_label }} }}</code> | ||
* <abbr title="for monster cards, enable/disable «?Stars string» column">$cq_col_level/rank/link</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_level/rank/link }} }}</code> | * <abbr title="for monster cards, enable/disable «?Stars string» column">$cq_col_level/rank/link</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_level/rank/link }} }}</code> | ||
+ | * <abbr title="for Cross Duel monster cards, enable/disable «?Level string» column">$cq_col_level</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_level }} }}</code> | ||
+ | * <abbr title="for Cross Duel monster cards, enable/disable «?Rank string» column">$cq_col_rank</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_rank}} }}</code> | ||
* <abbr title="for monster cards, enable/disable «?Pendulum Scale» column">$cq_col_scale</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_scale }} }}</code> | * <abbr title="for monster cards, enable/disable «?Pendulum Scale» column">$cq_col_scale</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_scale }} }}</code> | ||
* <abbr title="for monster cards, enable/disable «?Link Rating» column">$cq_col_link_rating</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_link_rating }} }}</code> | * <abbr title="for monster cards, enable/disable «?Link Rating» column">$cq_col_link_rating</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_link_rating }} }}</code> | ||
+ | * <abbr title="whether the query only returns results with same ATK/DEF">$cq_equal_atkdef</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_equal_atkdef }} }}</code> | ||
* <abbr title="for monster cards, enable/disable «?ATK string» column">$cq_col_atk</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_atk }} }}</code> | * <abbr title="for monster cards, enable/disable «?ATK string» column">$cq_col_atk</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_atk }} }}</code> | ||
* <abbr title="for monster cards, enable/disable «?DEF string» column">$cq_col_def</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_def }} }}</code> | * <abbr title="for monster cards, enable/disable «?DEF string» column">$cq_col_def</abbr>: <code>{{ #tag: nowiki | {{ #var: $cq_col_def }} }}</code> | ||
Line 404: | Line 428: | ||
}}{{ #vardefine: $cq_col_level_rank_flags | }}{{ #vardefine: $cq_col_level_rank_flags | ||
}}{{ #vardefine: $cq_col_level/rank/link | }}{{ #vardefine: $cq_col_level/rank/link | ||
+ | }}{{ #vardefine: $cq_col_level | ||
+ | }}{{ #vardefine: $cq_col_rank | ||
}}{{ #vardefine: $cq_col_scale | }}{{ #vardefine: $cq_col_scale | ||
}}{{ #vardefine: $cq_col_atk | }}{{ #vardefine: $cq_col_atk |
Revision as of 16:49, 25 January 2024
SQLStore debug output
ASK Query
[[Card type::Monster Card]]
SQL Query
SELECT DISTINCT
t0.smw_id AS id,
t0.smw_title AS t,
t0.smw_namespace AS ns,
t0.smw_iw AS iw,
t0.smw_subobject AS so,
t0.smw_sortkey AS sortkey, t0.smw_sort,
t0.smw_title,
t0.smw_subobject
FROM
`smw_object_ids` AS t0
INNER JOIN
`smw_di_wikipage` AS t1 ON t0.smw_id=t1.s_id
WHERE
(t1.p_id='596' AND t1.o_id='1389')
AND t0.smw_iw!=':smw'
AND t0.smw_iw!=':smw-delete'
AND t0.smw_iw!=':smw-redi'
ORDER BY
t0.smw_sort ASC,
t0.smw_title ASC,
t0.smw_subobject ASC
LIMIT
55
OFFSET
0
t0.smw_id AS id,
t0.smw_title AS t,
t0.smw_namespace AS ns,
t0.smw_iw AS iw,
t0.smw_subobject AS so,
t0.smw_sortkey AS sortkey, t0.smw_sort,
t0.smw_title,
t0.smw_subobject
FROM
`smw_object_ids` AS t0
INNER JOIN
`smw_di_wikipage` AS t1 ON t0.smw_id=t1.s_id
WHERE
(t1.p_id='596' AND t1.o_id='1389')
AND t0.smw_iw!=':smw'
AND t0.smw_iw!=':smw-delete'
AND t0.smw_iw!=':smw-redi'
ORDER BY
t0.smw_sort ASC,
t0.smw_title ASC,
t0.smw_subobject ASC
LIMIT
55
OFFSET
0
SQL Explain
ID | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
---|---|---|---|---|---|---|---|---|---|
1 | SIMPLE | t1 | ref | s_id,o_id,p_id,s_id_2,s_id_3,o_id_2,o_id_3 | o_id_2 | 5 | const | 71086 | Using where; Using temporary; Using filesort |
1 | SIMPLE | t0 | eq_ref | PRIMARY,smw_id,smw_iw,smw_iw_2 | PRIMARY | 4 | ygowiki.t1.s_id | 1 | Using where |
Auxilliary Tables
No auxilliary tables used.Query Metrics
Query-Size:2Query-Depth:1
Errors and Warnings
NoneShowing first 50 results, of 44947 total ¦ Show next 50 results ¦ Show first [20 · 50 · 100 · 250 · 500] results (all links open a new page) |
#ask
query ($cq_full_query):[[Card type::Monster Card]]
- $cq_query:
- $cq_query_lc:
- $cq_query_normalized:
- $cq_medium:
- $cq_medium_query:
- $cq_query_medium:
- $cq_card_type:
monster
- $cq_card_type_query:
[[Card type::Monster Card]]
- $cq_concept_query:
- $cq_monster_count:
44947
- $cq_nonmonster_count:
22379
- $cq_spell_count:
13091
- $cq_trap_count:
8875
- $cq_col_card_type:
?Card type =
- $cq_col_character:
- $cq_col_japanese_name:
?Japanese name
- $cq_col_primary_type:
?Primary type
- $cq_col_secondary_type:
?Secondary type
- $cq_col_attribute:
?Attribute = [[Attribute]]
- $cq_col_type:
?Type = [[Type]]
- $cq_level_in_results:
1
- $cq_rank_in_results:
1
- $cq_link_in_results:
- $cq_col_level/rank/link_label:
[[Level]]/<br />[[Rank]]
- $cq_col_level/rank/link:
?Stars string = [[Level]]/<br />[[Rank]]
- $cq_col_level:
- $cq_col_rank:
- $cq_col_scale:
?Pendulum Scale = [[Pendulum Scale|Scale]]
- $cq_col_link_rating:
?Link Rating = [[Link Rating|Link]]
- $cq_equal_atkdef:
- $cq_col_atk:
?ATK string = [[ATK]]
- $cq_col_def:
?DEF string = [[DEF]]
- $cq_col_maximum_atk:
- $cq_col_card_type_st:
- $cq_col_property:
{{{extra_column}}}
:{{{extra_column2}}}
:- $cq_col_extra:
- $cq_col_extra_2:
- limit: 50
- $cq_sort:
#
- $cq_order:
- $cq_default:
- $cq_count: 44947