Path of Exile Wiki:Known issues

Issues on this wiki that are known to the admins/sysops and possible solutions on how to fix it. Consider the talk page if you want something added.

Item
The template uses the Cargo database to store data so it can be queried and displayed in tables automatically.

Items not showing up or is out of sync in lists, item tables and other places
Can occur due to:
 * 1) caching issues
 * 2) invalid queries
 * 3) template errors

Fixing item caching issues
Please see Path of Exile Wiki:Known issues - changes (if needed) should be applied to the item's main page and the page(s) not showing the items.

Fixing invalid queries
The general process here is to check whether your query uses the correct conditions.

Some tips:
 * Start by null editing the source page and the list page.
 * If the query is performed by the template you're using and not by yourself, make sure to check the template's documentation first
 * If an item isn't included in the query, but you think it should be check the item's page values. Adjust your query if needed or check for caching issues
 * Adjust the query terms to be more broader or more precise
 * If hitting query limits, consider creating a concept or simplifying the query

Fixing template errors
Template errors will prevent the templates from performing correctly. In some cases there are shown on purpose to avoid people using invalid data, but may also be caused by errors in the template itself.

If you can't fix the error right away, check the documentation of the template.

If the error appears in the code of the template itself and if you're unable to fix it, please create a new section on the template talk page and/or notify the template authors/wiki admins on their user pages.

Page is not added to transcluded categories from pages with
The symptom is generally that the page shows the category correctly at the bottom, but is not actually added to it.

Solution:
 * Null edit the page the category is transcluded to.

Fixing caching issues
Prior to attempt to fix caching issues, please note there are multiple caches deployed:
 * Cache of your browser (i.e. client-side)
 * Intermediate cache from Cloudflare
 * Cache used by the Mediawiki software and addons

Client-side cache issues should require no action on the wiki. Consider clearing your browser's cache or using a different browser to verify it's not client-side.

Issues with the Cloudflare will fix themselves eventually; if you preview a page you will get the current version. If you perform a null edit and you still see a version different from the version you just saved, don't worry about it - you're seeing a cached version which will be eventually updated to the saved version. Please note that if you have a gamepedia PRO subscription you'll see the live version of pages instead, bypassing the cloud flare cache.

Mediawiki and addon related caching issues can be generally resolved by null edit the affected pages. Please note you may need to null edit other pages if you're transcluding content from other pages or are fetching semantic values (from Semantic MediaWiki). If the edits are still not being applied, consider doing a dummy edit.

Scribunto (Modules/Lua)
The Scribunto extension allows for embedding scripting languages in MediaWiki. Currently the only supported scripting language is Lua. For a reference manual see the Lua reference manual.

mw.text.split is very slow
Solution:
 * If possible use  instead

Cargo
Cargo is a type of database used to store interesting values in various items, mods, versions etc. as rows in cargo tables. The syntax is very similar to MySQL or SQL because it uses MySQL at its core.

Missing rows
Cargo sometimes misses pages when it repopulates the tables. Null editing each page works most of the time. Check "Page values" on the page, if "_pageData" holds no data, the page hasn't been populated entirely and needs to be repopulated by null-editing.

Pages affected by this can be found using queries:

For regular items:

For skills and skill items:

Duplicate rows
When updating pages cargo sometimes does not remove the old rows. So the old row values would still be there and show up in queries.

Solutions:
 * Having data in template that changes every time needs to be removed; for example or   tags
 * Null-editing the page or purging the cache until no more duplicates show under the data
 * helps clean up duplicates but there is no guarantee that you will get latest version.

One template declares/attaches to multiple cargo tables
Cargo tables can become quite large with a lot fields. Since multiple tables can be joined together and queried for it is more elegant to move the fields to other tables instead. The caveat is that the templates need to be split as well otherwise cargo bugs out and cannot populate the tables automatically. 1 template per cargo table works best. There is a workaround for this, let's say you have the following template:

Template:Cargo_store

This template now #cargo_stores to two tables. But attaching is only allowed once per template. The workaround is to create a new template with the other #cargo_attach in the noinclude and nothing in the includeonly:

Template:Cargo_store/Attach_2

Now transclude this template in the storing template:

Template:Cargo_store

Errors during previews
Cargo doesn't handle incorrect cargo queries gracefully and sometimes throws major errors that forces you to go back a page. Copy the source before submitting/previewing so your work doesn't get lost.

HOLDS doesn't work as expected
Cargo bug. Instead of using HOLDS try, *__full instead. The lists then becomes a ordinary string and can be queried as such.

Example:
 * Replace  with
 * Use regexp for more advanced queries:.
 * The delimiter in this case is
 * Replace  with   in normal wikitext.

Case sensitivity
Cargo is case insensitive. Use BINARY instead. Read more here.

Recreation jobs are queued?
It's possible to see if a cargo data recreation job is active. See this page

Number can't be used in #expr

 * #cargo_query returns integers/floats with thousand separator. Not surprisingly this will break most calculators. Wrap  or   around the number field to remove thousand separators.
 * #cargo_query sometimes returns the numbers with hidden characters as well. Use  to remove those.

Cannot execute query from Wikimedia\Rdbms\DatabaseMysqlBase::tableExists while transaction status is ERROR
This error can appear if a template that queries a cargo table is on the same page as a template that stores to an uncreated cargo table. Make sure all tables are declared and created before storing.

[e2e6cbe98a6849d175cbc70f] /News Wikimedia\Rdbms\DBTransactionStateError from line 1313 of includes/libs/rdbms/database/Database.php: Cannot execute query from Wikimedia\Rdbms\DatabaseMysqlBase::tableExists while transaction status is ERROR.

Backtrace:

{main}
 * 1) 0 includes/libs/rdbms/database/Database.php(1096): Wikimedia\Rdbms\Database->assertTransactionStatus(string, string)
 * 2) 1 includes/libs/rdbms/database/DatabaseMysqlBase.php(622): Wikimedia\Rdbms\Database->query(string, string)
 * 3) 2 extensions/Cargo/includes/parserfunctions/CargoStore.php(77): Wikimedia\Rdbms\DatabaseMysqlBase->tableExists(string)
 * 4) 3 includes/parser/Parser.php(3426): CargoStore::run(Parser, string, string, string, string, string, string, string, string, string, string, string, string, string)
 * 5) 4 includes/parser/Parser.php(3127): Parser->callParserFunction(PPTemplateFrame_DOM, string, array)
 * 6) 5 includes/parser/Preprocessor_DOM.php(1277): Parser->braceSubstitution(array, PPTemplateFrame_DOM)
 * 7) 6 extensions/ParserFunctions/includes/ExtParserFunctions.php(123): PPFrame_DOM->expand(DOMElement)
 * 8) 7 includes/parser/Parser.php(3426): ExtParserFunctions::ifeqObj(Parser, PPTemplateFrame_DOM, array)
 * 9) 8 includes/parser/Parser.php(3127): Parser->callParserFunction(PPTemplateFrame_DOM, string, array)
 * 10) 9 includes/parser/Preprocessor_DOM.php(1277): Parser->braceSubstitution(array, PPTemplateFrame_DOM)
 * 11) 10 includes/parser/Parser.php(3305): PPFrame_DOM->expand(DOMElement)
 * 12) 11 includes/parser/Preprocessor_DOM.php(1277): Parser->braceSubstitution(array, PPFrame_DOM)
 * 13) 12 includes/parser/Parser.php(2942): PPFrame_DOM->expand(DOMElement, integer)
 * 14) 13 includes/parser/Parser.php(1293): Parser->replaceVariables(string)
 * 15) 14 includes/parser/Parser.php(443): Parser->internalParse(string)
 * 16) 15 includes/content/WikitextContent.php(323): Parser->parse(string, Title, ParserOptions, boolean, boolean, integer)
 * 17) 16 includes/content/AbstractContent.php(516): WikitextContent->fillParserOutput(Title, integer, ParserOptions, boolean, ParserOutput)
 * 18) 17 includes/poolcounter/PoolWorkArticleView.php(144): AbstractContent->getParserOutput(Title, integer, ParserOptions)
 * 19) 18 includes/poolcounter/PoolCounterWork.php(123): PoolWorkArticleView->doWork
 * 20) 19 includes/page/Article.php(604): PoolCounterWork->execute
 * 21) 20 includes/actions/ViewAction.php(68): Article->view
 * 22) 21 includes/MediaWiki.php(500): ViewAction->show
 * 23) 22 includes/MediaWiki.php(294): MediaWiki->performAction(Article, Title)
 * 24) 23 includes/MediaWiki.php(861): MediaWiki->performRequest
 * 25) 24 includes/MediaWiki.php(524): MediaWiki->main
 * 26) 25 index.php(42): MediaWiki->run
 * 26

Querying list fields from different tables with the same name
Cargo will drop the table specific portion when querying list fields that share the same name even if the full table name is specified in the query. To avoid this problem,  must be appended individually to the all the list fields that share the same name. Error: Fixed: