MediaWiki  master
docs/deferred.txt File Reference

Functions

deferred txt A few of the
database updates required by
various functions here can be
deferred until after the
result page is displayed to
the user For updating the view
updating the linked to tables
after a etc PHP does not yet
have any way to tell the
server to actually return and
disconnect while still running
these 
updates (as a Java servelet could)
 

Variables

deferred txt A few of the
database updates required by
various functions here can be
deferred until after the
result page is displayed to
the user For updating the view 
counts
 
deferred txt A few of the
database updates required by
various functions here can be
deferred until after the
result page is displayed to
the user For updating the view
updating the linked to tables
after a etc PHP does not yet
have any way to tell the
server to actually return and
disconnect while still running
these but it might have such a
feature in the future We
handle these by creating a
deferred update object and
putting those objects on a
global then executing the
whole list after the page is
displayed We don t do anything
smart like collating updates
to the same table or such
because the list is almost
always going to have just one
item on if so it s not worth
the trouble Since there is a
job queue in the jobs which is
used to update link tables of
transcluding pages after 
edits
 
deferred txt A few of the
database updates required by
various functions here can be
deferred until after the
result page is displayed to
the user For 
example
 
deferred txt A few of the
database updates required by
various functions here can be
deferred until after the
result page is displayed to
the user For updating the view
updating the linked to tables
after a etc PHP does not yet
have any way to tell the
server to actually return and
disconnect while still running
these but it might have such a
feature in the future We
handle these by creating a
deferred update object and
putting those objects on a
global then executing the
whole list after the page is
displayed We don t do anything
smart like collating updates
to the same table or such
because the list is almost
always going to have just one
item on 
it
 
deferred txt A few of the
database updates required by
various functions here can be
deferred until after the
result page is displayed to
the user For updating the view
updating the linked to tables
after a etc PHP does not yet
have any way to tell the
server to actually return and
disconnect while still running
these but it might have such a
feature in the future We
handle these by creating a
deferred update object and
putting those objects on a
global 
list
 
deferred txt A few of the
database updates required by
various functions here can be
deferred until after the
result page is displayed to
the user For updating the view
updating the linked to tables
after a 
save
 
deferred txt A few of the
database updates required by
various functions here can be
deferred until after the
result page is displayed to
the user For updating the view
updating the linked to tables
after a etc PHP does not yet
have any way to tell the
server to actually return and
disconnect while still running
these but it might have such a
feature in the future We
handle these by creating a
deferred update object and
putting those objects on a
global then executing the
whole list after the page is
displayed We don t do anything
smart like collating updates
to the same table or such
because the list is almost
always going to have just one
item on if so it s not worth
the trouble Since there is a
job queue in the jobs 
table
 
deferred txt A few of the
database updates required by
various functions here can be
deferred until after the
result page is displayed to
the user For updating the view
updating the linked to tables
after a etc PHP does not yet
have any way to tell the
server to actually return and
disconnect while still running
these but it might have such a
feature in the future We
handle these by creating a
deferred update object and
putting those objects on a
global then executing the
whole list after the page is
displayed We don t do anything
smart like collating updates
to the same table or such
because the list is almost
always going to have just one
item on if 
that
 

Function Documentation

deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these updates ( as a Java servelet  could)

Variable Documentation

deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view counts

Definition at line 4 of file deferred.txt.

deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global then executing the whole list after the page is displayed We don t do anything smart like collating updates to the same table or such because the list is almost always going to have just one item on if so it s not worth the trouble Since there is a job queue in the jobs which is used to update link tables of transcluding pages after edits
this hook is for auditing only etc instead of letting the login form give the generic error message that the account does not exist For example

Definition at line 4 of file deferred.txt.

Referenced by showUsage().

deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global then executing the whole list after the page is displayed We don t do anything smart like collating updates to the same table or such because the list is almost always going to have just one item on it

Definition at line 11 of file deferred.txt.

deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global list

Definition at line 11 of file deferred.txt.

Referenced by DBConnRef::__call(), RevDelArchiveItem::__construct(), RevDelArchivedRevisionItem::__construct(), WordLevelDiff::__construct(), ForeignDBViaLBRepo::__construct(), FileOp::__construct(), LinksUpdate::__construct(), IndexPager::__construct(), RevisionItemBase::__construct(), License::__construct(), ResourceLoaderFileModule::__construct(), PPNode_Hash_Tree::__construct(), MemcachedClient::_connect_sock(), MemcachedClient::_load_items(), RedisBagOStuff::add(), BackupDumperPageTest::addDBData(), TextPassDumperDatabaseTest::addDBData(), SwiftFileBackend::addMissingMetadata(), LocalFileMoveBatch::addOlds(), OutputPage::addParserOutputMetadata(), MediaWiki\Tidy\Balancer::advance(), ApiQuerySiteinfo::appendDbReplLagInfo(), SwiftVirtualRESTService::applyAuthResponse(), FileBackendGroup::backendFromPath(), ExternalStoreDB::batchFetchFromURLs(), Parser::braceSubstitution(), SpecialRevisionDelete::buildCheckBoxes(), ProtectionForm::buildForm(), SkinTemplate::buildPersonalUrls(), Parser::callParserFunction(), RevDelLogItem::canView(), ChangeTagsLogItem::canView(), RevDelRevisionItem::canView(), RevDelFileItem::canView(), RevDelRevisionItem::canViewContent(), RevDelFileItem::canViewContent(), SqlBagOStuff::cas(), SpecialRecentChanges::categoryFilterForm(), CheckStorage::check(), ApiQueryTestBase::check(), Title::checkCascadingSourcesRestrictions(), FindOrphanedFiles::checkFiles(), ApiMain::checkMaxLag(), JobRunner::checkMemoryOK(), Title::checkReadPermissions(), UploadBase::checkSvgScriptCallback(), FileRepo::cleanupBatch(), SpecialEditWatchlist::cleanupWatchlist(), Sanitizer::cleanUrl(), Exif::collapseData(), UpdateMediaWiki::compatChecks(), StreamFile::contentTypeFromPath(), MediaWiki\Auth\ConfirmLinkSecondaryAuthenticationProvider::continueLinkAttempt(), WatchedItemStore::countVisitingWatchersMultiple(), SwiftFileBackend::createContainer(), NaiveForeignTitleFactory::createForeignTitle(), SwiftFileBackendFileList::current(), JobQueueAggregatorRedis::decodeQueueName(), Makefile::defaultWordsTable(), RESTBagOStuff::delete(), RedisBagOStuff::delete(), SqlBagOStuff::delete(), FileRepo::deleteBatch(), SwiftFileBackend::deleteContainer(), ApiBase::dieStatus(), FileBackendStore::directoryExists(), XMPReader::doAttribs(), FileBackendStore::doClean(), FSFileBackend::doCleanInternal(), SwiftFileBackend::doCopyInternal(), SwiftFileBackend::doCreateInternal(), LocalFileDeleteBatch::doDBDeletes(), LocalFileDeleteBatch::doDBInserts(), SwiftFileBackend::doDeleteInternal(), SwiftFileBackend::doDescribeInternal(), FSFileBackend::doDirectoryExists(), Installer::doEnvironmentChecks(), SwiftFileBackend::doExecuteOpHandlesInternal(), RESTBagOStuff::doGet(), RedisBagOStuff::doGet(), JobQueueAggregatorRedis::doGetAllReadyWikiQueues(), SwiftFileBackend::doGetFileContentsMulti(), SwiftFileBackend::doGetFileStatMulti(), SwiftFileBackend::doGetLocalCopyMulti(), WANObjectCache::doGetWithSetCallback(), SwiftFileBackend::doMoveInternal(), FileBackendStore::doPrepare(), FSFileBackend::doPrepareInternal(), FileBackendStore::doPublish(), FSFileBackend::doPublishInternal(), MysqlUpdater::doSchemaRestructuring(), FileBackendStore::doSecure(), FSFileBackend::doSecureInternal(), SwiftFileBackend::doStoreInternal(), SwiftFileBackend::doStreamFile(), LinkHolderArray::doVariants(), XmlTypeCheck::elementClose(), XMPReader::endElementModeLi(), XMPReader::endElementModeQDesc(), XMPReader::endElementModeSimple(), XMPReader::endElementNested(), Installer::envCheckShellLocale(), ApiEditPage::execute(), ApiQueryBlocks::execute(), ApiParse::execute(), ApiBlock::execute(), UpdateLogging::execute(), DeleteOrphanedRevisions::execute(), UpdateSpecialPages::execute(), SpecialUnblock::execute(), ApiQueryLogEvents::execute(), CopyJobQueue::execute(), PurgeChangedPages::execute(), ApiUserrights::execute(), ConvertLinks::execute(), GenerateJqueryMsgData::execute(), SpecialEmailUser::execute(), MIMEsearchPage::execute(), ZipDirectoryReader::execute(), QueryPage::execute(), Exif::exifGPStoNumber(), SpecialPageFactory::exists(), PPFrame_Hash::expand(), Parser::extensionSubstitution(), SpecialRevisionDelete::extractBitParams(), ExternalStoreDB::fetchFromURL(), ExternalStore::fetchFromURL(), HistoryAction::fetchRevisions(), UserrightsPage::fetchUser(), DatabaseMssql::fieldExists(), DatabaseMssql::fieldInfo(), WikitextContent::fillParserOutput(), DatabaseBase::fillPreparedArg(), findFiles(), Title::fixSpecialName(), OldChangesList::formatChangeLine(), RevisionItemBase::formatDate(), Parser::formatHeadings(), Linker::formatLinksInComment(), SpecialUndelete::formatRevisionRow(), SpecialNewpages::formatRow(), ContribsPager::formatRow(), RevisionItemBase::formatTime(), BlockListPager::formatValue(), File::generateThumbName(), MediaWiki\Interwiki\ClassicInterwikiLookup::getAllPrefixesCached(), RevDelArchivedFileItem::getApiData(), RevDelLogItem::getApiData(), RevDelRevisionItem::getApiData(), RevDelFileItem::getApiData(), SwiftFileBackend::getAuthentication(), FileBackendDBRepoWrapper::getBackendPaths(), SpecialBlockList::getBlockListPager(), JobQueueDB::getCacheKey(), SectionProfiler::getCallTreeLine(), RevDelFileItem::getComment(), XhprofData::getCompleteMetrics(), RefreshImageMetadata::getConditions(), RedisConnectionPool::getConnection(), FileBackendStore::getContainerShard(), SwiftFileBackend::getContainerStat(), FileBackendStore::getContainerSuffixes(), SpecialVersion::getCreditsForExtension(), MultiHttpClient::getCurlHandle(), Title::getDefaultMessageText(), RevDelArchiveItem::getDiffLink(), RevDelRevisionItem::getDiffLink(), RevisionItem::getDiffLink(), FileBackendStore::getDirectoryList(), FSFileBackend::getDirectoryListInternal(), HTMLFormField::getDiv(), MediaWikiTestCase::getExternalStoreDatabaseConnections(), SpecialUnblock::getFields(), SwiftFileBackend::getFileHttpUrl(), FileBackendStore::getFileList(), FSFileBackend::getFileListInternal(), RepoGroup::getFileProps(), SpecialChangePasswordPreAuthManager::getFormFields(), LocalFileDeleteBatch::getHashes(), WebResponse::getHeader(), HTMLForm::getHiddenFields(), ChangeTagsRevisionItem::getHTML(), ChangeTagsLogItem::getHTML(), RevDelLogItem::getHTML(), RevDelRevisionItem::getHTML(), RevDelFileItem::getHTML(), XhprofData::getInclusiveMetrics(), ApiQueryImageInfo::getInfo(), HTMLFormField::getInline(), HTMLFormFieldCloner::getInputHTMLForKey(), MediaWiki\Interwiki\ClassicInterwikiLookup::getInterwikiCached(), OutputPage::getJSVars(), DatabaseMysqlBase::getLagFromPtHeartbeat(), QueryPage::getLimitOffset(), RevDelArchivedFileItem::getLink(), RevDelFileItem::getLink(), HashRing::getLocations(), DeleteLogFormatter::getMessageParameters(), PNGMetadataExtractor::getMetadata(), ApiModuleManager::getModule(), RedisBagOStuff::getMulti(), SqlBagOStuff::getMulti(), WANObjectCache::getMulti(), DjVuImage::getMultiPageInfo(), SpecialPageFactory::getPage(), Skin::getPageClasses(), UsersPager::getPageHeader(), DjVuImage::getPageInfo(), ParserTest::getParser(), BotPassword::getPassword(), FSFile::getProps(), DeletedContribsPager::getQueryInfo(), ContribsPager::getQueryInfo(), LinkSearchPage::getQueryInfo(), JobQueueRedis::getQueueKey(), Block::getRangeEnd(), Block::getRangeStart(), HTMLFormField::getRaw(), Revision::getRecentChange(), Sanitizer::getRecognizedTagData(), WikitextContent::getRedirectTarget(), ApiCSPReport::getReport(), XMPReader::getResults(), RevDelArchiveItem::getRevisionLink(), RevDelRevisionItem::getRevisionLink(), RevisionItem::getRevisionLink(), JobQueue::getRootJobCacheKey(), MediaWiki\Session\Session::getSecret(), LBFactoryMulti::getSectionForWiki(), WatchedItemQueryService::getStartFromConds(), ZipDirectoryReader::getStructSize(), SpecialBlock::getSuggestedDurations(), HTMLHiddenField::getTableRow(), HTMLCheckMatrix::getTableRow(), HTMLFormField::getTableRow(), SpecialBlock::getTargetAndType(), Parser::getTemplateDom(), SearchResult::getTextSnippet(), ImagePage::getThumbPrevText(), SpecialRandomInCategory::getTimestampOffset(), UploadBase::getTitle(), SpecialPageFactory::getTitleForAlias(), LogPage::getTitleLink(), RevDelFileItem::getUserTools(), WatchedItemStore::getVisitingWatchersCondition(), WikiMap::getWikiReferenceFromWgConf(), FileRepo::getZonePath(), WikiImporter::handlePage(), Title::hasSourceText(), FauxResponse::header(), CheckLanguageCLI::help(), HistoryPager::historyLine(), User::idFromName(), ImageHistoryList::imageHistoryLine(), RedisBagOStuff::incr(), SqlBagOStuff::incr(), PoolCounterRedis::initAndPopPoolSlotList(), FileRepo::initDirectory(), Xml::inputLabel(), ExternalStore::insert(), DatabaseOracle::insertSelect(), DatabaseBase::insertSelect(), ChangesList::insertTags(), ExternalStore::insertWithFallback(), UIDGenerator::intervalsSinceGregorianBinary(), PasswordReset::isAllowed(), Title::isCascadeProtected(), HTMLFormField::isHiddenRecurse(), RevDelRevisionItem::isHideCurrentOp(), LocalFile::isMissing(), SwiftFileBackend::isPathUsableInternal(), FileBackendStore::isSingleShardPathInternal(), Title::isSpecial(), FixBug20757::isUnbrokenStub(), FormatMetadata::langItem(), LogPager::limitTitle(), SpecialSearch::load(), MessageCache::load(), User::loadFromDatabase(), WikiPage::loadPageData(), DifferenceEngine::loadRevisionIds(), BotPassword::login(), LogEventsList::logLine(), FormatMetadata::makeFormattedData(), LinkHolderArray::makeHolder(), Parser::makeImage(), Parser::makeKnownLinkHolder(), Licenses::makeLicenses(), Linker::makeSelfLinkObj(), Makefile::manualWordsTable(), MagicWordArray::matchAndRemove(), MagicWordArray::matchStartAndRemove(), ApiQueryTestBase::merge(), UIDGenerator::millisecondsSinceEpochBinary(), UIDGenerator::millitime(), NamespaceConflictChecker::movePage(), BotPassword::newFromCentralId(), Block::newFromTarget(), Block::newLoad(), LBFactoryMulti::newMainLB(), Linker::normaliseSpecialPage(), FileBackend::normalizeStoragePath(), CategoryMembershipChangeJob::notifyUpdatesForRevision(), SwiftFileBackend::objectListing(), SpecialChangeCredentials::onAuthChangeFormFields(), RestbaseVirtualRESTService::onParsoid1Request(), ParsoidVirtualRESTService::onParsoid1Request(), RestbaseVirtualRESTService::onParsoid3Request(), ParsoidVirtualRESTService::onRequests(), LoadBalancer::openForeignConnection(), ImagePage::openShowImage(), TextPassDumper::openSpawn(), SpecialSpecialpages::outputPageList(), MediaStatisticsPage::outputResults(), FileBackend::parentStoragePath(), ApiStashEdit::parseAndStash(), DeleteLogFormatter::parseBitField(), CookieJar::parseCookieResponseHeader(), MagicWordArray::parseMatch(), SearchMySQL::parseQuery(), SearchSqlite::parseQuery(), StreamFile::parseRange(), NamespaceAwareForeignTitleFactory::parseTitleNoNs(), BacklinkCache::partition(), BacklinkJobUtils::partitionBacklinkJob(), MediaWiki::performRequest(), User::pingLimiter(), FileBackendStore::preloadCache(), FileBackendStore::primeContainerCache(), FileBackendStore::primeFileCache(), SpecialBlock::processForm(), BackupDumper::processOptions(), SquidPurgeClient::processStatusLine(), SpecialUnblock::processUnblock(), SectionProfiler::profileOutInternal(), MediaWikiServicesTest::provideGetters(), MediaWiki\Session\CookieSessionProvider::provideSessionInfo(), XhprofData::pruneData(), FileRepo::publishBatch(), NewParserTest::publishTestArticles(), FileRepo::quickImportBatch(), ContribsPager::reallyDoQuery(), ImageListPager::reallyDoQuery(), IndexPager::reallyDoQuery(), RebuildRecentchanges::rebuildRecentChangesTablePass4(), ResourceLoader::register(), PoolCounterRedis::release(), Sanitizer::removeHTMLtags(), LocalFileDeleteBatch::removeNonexistentFiles(), Makefile::removeRules(), Parser::renderImageGallery(), MessageCache::replace(), Parser::replaceExternalLinks(), Message::replaceParameters(), LinkHolderArray::replaceTextCallback(), Parser::replaceTransparentTags(), MemoryFileBackend::resolveHashKey(), FormatMetadata::resolveMultivalueValue(), FileBackendStore::resolveStoragePath(), FileBackendStore::resolveStoragePathReal(), FSFileBackend::resolveToFSPath(), FileRepo::resolveVirtualUrl(), SquidPurgeClientPool::run(), ApiQueryWatchlistRaw::run(), ApiQueryWatchlist::run(), ApiQueryAllImages::run(), RefreshLinksJob::run(), JobRunner::run(), ApiQueryRandom::run(), VirtualRESTServiceClient::runMulti(), DatabaseBase::runOnTransactionIdleCallbacks(), DatabaseBase::runOnTransactionPreCommitCallbacks(), ApiOpenSearch::search(), DatabaseBase::selectSQLText(), RESTBagOStuff::set(), RedisBagOStuff::set(), RevDelArchiveItem::setBits(), RevDelFileItem::setBits(), SwiftFileBackend::setContainerAccess(), ApiContinuationManager::setContinuationIntoResult(), ParserOutput::setLimitReportData(), RedisBagOStuff::setMulti(), SqlBagOStuff::setMulti(), SpecialBlock::setParameter(), LocalFile::setProps(), MediaWiki\Session\Session::setSecret(), MWHttpRequest::setStatus(), Block::setTarget(), NewParserTest::setupGlobals(), ParserTest::setupGlobals(), ProtectionForm::show(), SpecialAllPages::showChunk(), Article::showDiffPage(), EditPage::showHeader(), SpecialBookSources::showList(), SpecialPrefixindex::showPrefixChunk(), EditPage::showSummaryInput(), showUsage(), UserOptions::showUsageAndExit(), MemcachedClient::sock_to_host(), CoreParserFunctions::special(), UserrightsPage::splitGroups(), XMPReader::startElement(), XMPReader::startElementModeLi(), XMPReader::startElementModeSimple(), UploadStash::stashFile(), FileRepo::storeBatch(), DatabaseMssql::tableExists(), DatabaseBase::tableName(), MediaWiki\Auth\AuthPluginPrimaryAuthenticationProviderTest::testAccountCreation(), MediaWiki\Auth\AuthPluginPrimaryAuthenticationProviderTest::testAuthentication(), MediaWiki\Auth\AuthManagerTest::testBeginAuthentication(), MediaWiki\Auth\AuthManagerTest::testCanAuthenticateNow(), UploadBaseTest::testCheckSvgScriptCallback(), SpecialEditWatchlistTest::testClearPage_hasClearButtonForm(), IPTest::testCombineHostAndPort(), SpecialPageFactoryTest::testConflictResolution(), XhprofDataTest::testCriticalPath(), ApiEditPageTest::testEdit_redirect(), ApiEditPageTest::testEditAppend(), ApiEditPageTest::testEditConflict_bug41990(), ApiEditPageTest::testEditConflict_newSection(), ApiEditPageTest::testEditNewSection(), SpecialEditWatchlistTest::testEditRawPage_hasTitlesBox(), ApiEditPageTest::testEditSection(), FileBackendDBRepoWrapperTest::testGetBackendPaths(), FileBackendDBRepoWrapperTest::testGetFileContentsMulti(), WatchedItemQueryServiceUnitTest::testGetWatchedItemsWithRecentChangeInfo(), SpecialBlankPageTest::testHasWikiMsg(), MediaWiki\Auth\UserDataAuthenticationRequestTest::testLoadFromSubmission(), DifferenceEngineTest::testLoadRevisionData(), ApiUploadTest::testLogin(), DifferenceEngineTest::testMapDiffPrevNext(), FileContentsHasherTest::testMultipleFileHash(), MediaWiki\Auth\AuthPluginPrimaryAuthenticationProviderTest::testProviderChangeAuthenticationData(), DatabaseMysqlBaseTest::testPtHeartbeat(), ApiPageSetTest::testRedirectMergePolicyWithApiResult(), ApiPageSetTest::testRedirectMergePolicyWithArrayResult(), RefreshLinksPartitionTest::testRefreshLinks(), SpecialPageFactoryTest::testResolveAlias(), SpecialEditWatchlistTest::testRootPage_displaysExplanationMessage(), MediaWiki\Session\SessionTest::testSecrets(), MediaWiki\Auth\AuthManagerTest::testSecuritySensitiveOperationStatus(), LanguageTest::testTranslateBlockExpiry(), LinksUpdateTest::testUpdate_categorylinks(), LinksUpdateTest::testUpdate_externallinks(), LinksUpdateTest::testUpdate_imagelinks(), LinksUpdateTest::testUpdate_iwlinks(), LinksUpdateTest::testUpdate_langlinks(), LinksUpdateTest::testUpdate_page_props(), LinksUpdateTest::testUpdate_pagelinks(), LinksUpdateTest::testUpdate_templatelinks(), ApiUploadTest::testUpload(), ApiUploadTest::testUploadChunks(), ApiUploadTest::testUploadSameContent(), ApiUploadTest::testUploadSameFileName(), ApiUploadTest::testUploadStash(), MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::testUserExists(), MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider::testUserExists(), SpecialWatchlistTest::testUserWithNoWatchedItems_displaysNoWatchlistMessage(), IPTC::timeHelper(), TraditionalImageGallery::toHTML(), TransactionProfiler::transactionWritingOut(), BitmapHandler::transformGd(), BitmapHandler::transformImageMagick(), BitmapHandler::transformImageMagickExt(), MediaWikiI18N::translate(), LanguageFi::translateBlockExpiry(), Language::truncateHtml(), MediaWiki::tryNormaliseRedirect(), ZipDirectoryReader::unpack(), ChangeTags::updateTagsWithChecks(), OldLocalFile::upgradeRow(), LocalFile::upgradeRow(), Exif::validate(), SpecialBlock::validateTarget(), wfArrayDiff2_cmp(), wfCgiToArray(), wfExtractThumbParams(), wfExtractThumbRequestInfo(), wfRequestExtension(), and wfStreamThumb().

deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a save
deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global then executing the whole list after the page is displayed We don t do anything smart like collating updates to the same table or such because the list is almost always going to have just one item on if so it s not worth the trouble Since there is a job queue in the jobs table
deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global then executing the whole list after the page is displayed We don t do anything smart like collating updates to the same table or such because the list is almost always going to have just one item on if that