From 9d1734fa9155e8664566102e3d37c4c0e783cc8f Mon Sep 17 00:00:00 2001 From: Reedy Date: Fri, 24 May 2019 00:16:42 +0100 Subject: [PATCH] resourceloader: Use AND instead of OR for upsert conds in saveFileDependencies() Follows-up e7b57d881a, which changed it from replace() to upsert() but lost one of the wrapping arrays in doing so. Previously updated many more rows than expected on Postgresql, when it should only be updating individual rows, not all rows that match either criteria. SQL query before: WHERE ((md_module = 'jquery.makeCollapsible.styles') OR (md_skin = 'vector|en-gb')) SQL query after: WHERE ((md_module = 'jquery.makeCollapsible.styles' AND md_skin = 'vector|en-gb')) Not a problem on MySQL as upsert() is implemented differently there. Bug: T222385 Change-Id: If8a458bf4543b297b3a06f31e09c0e77666bf7e6 --- includes/resourceloader/ResourceLoaderModule.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/resourceloader/ResourceLoaderModule.php b/includes/resourceloader/ResourceLoaderModule.php index ca311d9de5..66a4edfb1c 100644 --- a/includes/resourceloader/ResourceLoaderModule.php +++ b/includes/resourceloader/ResourceLoaderModule.php @@ -504,7 +504,7 @@ abstract class ResourceLoaderModule implements LoggerAwareInterface { 'md_skin' => $vary, 'md_deps' => $deps, ], - [ 'md_module', 'md_skin' ], + [ [ 'md_module', 'md_skin' ] ], [ 'md_deps' => $deps, ], -- 2.20.1