+ /**
+ * Get the full path of a patch file. Originally based on archive()
+ * from updaters.inc. Keep in mind this always returns a patch, as
+ * it fails back to MySQL if no DB-specific patch can be found
+ *
+ * @param IDatabase $db
+ * @param string $patch The name of the patch, like patch-something.sql
+ * @return string Full path to patch file
+ */
+ public function patchPath( IDatabase $db, $patch ) {
+ global $IP;
+
+ $dbType = $db->getType();
+ if ( file_exists( "$IP/maintenance/$dbType/archives/$patch" ) ) {
+ return "$IP/maintenance/$dbType/archives/$patch";
+ } else {
+ return "$IP/maintenance/archives/$patch";
+ }
+ }
+