Aaron Schulz [Sat, 30 Mar 2019 02:02:15 +0000 (19:02 -0700)]
jobqueue: fix DBO_TRX logic in JobQueueDB for avoiding transactions
Various methods were missing the flag setting logic and tests could
fail or have "outer scope" warnings in the logs for sqlite.
Change-Id: Ia0607d189a307667297f06109a34363c92e37d92
jenkins-bot [Mon, 1 Apr 2019 22:19:01 +0000 (22:19 +0000)]
Merge "Update help icon from OOUI"
jenkins-bot [Mon, 1 Apr 2019 21:56:48 +0000 (21:56 +0000)]
Merge "Change job table params from blob to mediumblob"
jenkins-bot [Mon, 1 Apr 2019 21:07:00 +0000 (21:07 +0000)]
Merge "MediaResultWidget: Remove unused code depending on VisualEditor"
Volker E [Mon, 1 Apr 2019 19:53:17 +0000 (12:53 -0700)]
DateInputWidget: Fix focus reflow
Second attempt, follow-up to I1b5beee6553. This time with correct
specificity.
Change-Id: Ifeefe668c6d50b9452f6702dc632d67439a68135
Translation updater bot [Mon, 1 Apr 2019 20:18:41 +0000 (22:18 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I167dae8a2111bbad1f1656d6edfa41555e854a9f
Ed Sanders [Sat, 30 Mar 2019 23:15:48 +0000 (23:15 +0000)]
Update help icon from OOUI
The normal 'help' icon no longer has a ring outline,
so use 'helpNotice' as this looks less confusing in
an unframed button.
Bug: T219719
Change-Id: I6af23236e9d3983cab6d2ce331dd67e3b42913ff
jenkins-bot [Mon, 1 Apr 2019 17:10:29 +0000 (17:10 +0000)]
Merge "Fix flaky test BlockListPagerTest::testFormatValue"
jenkins-bot [Mon, 1 Apr 2019 16:39:45 +0000 (16:39 +0000)]
Merge "i18n: Add line-break in email notificaton for minor edits"
Erik Bernhardson [Mon, 1 Apr 2019 16:05:08 +0000 (09:05 -0700)]
Change job table params from blob to mediumblob
The default blob type holds 65kB which is often enough, but some
jobs push over this limit. When using mysql these are silently
truncated to 65kB which only issues errors when the data is retrieved.
Increase from blob to mediumblob which gives a max size of 16MB. There
may be some valid use cases for jobs > 64kB, but there should be no
use case for jobs > 16MB.
Bug: T124196
Change-Id: I6df6634bd3a5b5fa27ce6f8ff20d251a9b5eba32
David Barratt [Mon, 1 Apr 2019 14:27:39 +0000 (10:27 -0400)]
Fix flaky test BlockListPagerTest::testFormatValue
The test relied on being executed within the same minute as when it starts
which is not always the case.
Bug: T219695
Change-Id: I99eb0d25138069ca08c2975ff2e60c7f1df0a99f
Bartosz Dziewoński [Mon, 1 Apr 2019 15:55:17 +0000 (17:55 +0200)]
MediaResultWidget: Remove unused code depending on VisualEditor
It seems that this property is not actually used. The default thumb size
is also loaded in MediaResourceProvider by querying the meta=siteinfo API.
Bug: T219675
Change-Id: I42610a2ac1ba6b19f08ee9fc9a8fd4aa23e090a7
Thiemo Kreuz [Wed, 27 Mar 2019 17:37:39 +0000 (18:37 +0100)]
linkeddata: Simplity PageDataRequestHandler test setup
Most notably this gets rid of all regular expressions and replaces them
with straight string comparisons. This is mostly done for readability,
but also makes the test more independend from the setup of the server
that is running the test.
Change-Id: I8c34cf1756c8e6c126b95b3eda163561d53186b9
Thiemo Kreuz [Wed, 27 Mar 2019 15:22:39 +0000 (16:22 +0100)]
linkeddata: Fix broken check in PageDataRequestHandler
First I noticed a weird check that assumes that explode() would return
an integer. But it returns an array of strings. There is obviously a
count() missing.
Then I started simplifying the code:
* The count can only be 2 or 1, never anything else.
* If it is one, the first element in the array contains the original string.
* The empty string is already checked above and can never end down there.
* Finally I made the remaining `if ( … ) return true else return false` a
straight `return …`.
Change-Id: I289144e64f449ee0875009aaa22e10a5c0eb2734
jenkins-bot [Mon, 1 Apr 2019 07:39:30 +0000 (07:39 +0000)]
Merge "Don't return a result of a void function"
GeoffreyT2000 [Sun, 31 Mar 2019 04:17:43 +0000 (21:17 -0700)]
Remove redundant parentheses from the "Historyempty" message
With pseudo-elements now being used, the parentheses in the "Historyempty"
message become redundant, and should be removed to avoid showing "((empty))"
on empty revisions in page histories.
Bug: T219714
Change-Id: I8aacd6ede4ab0cc03b00fb891088ef0c847a6b20
jenkins-bot [Sun, 31 Mar 2019 23:14:28 +0000 (23:14 +0000)]
Merge "MediaResultWidget: Fix defaultThumbSzie config"
Ed Sanders [Sun, 31 Mar 2019 21:17:01 +0000 (22:17 +0100)]
MediaResultWidget: Fix defaultThumbSzie config
Bug: T219675
Change-Id: I38bc34f6d44460ec59881b5e968dc8cf27d75fa3
Translation updater bot [Sun, 31 Mar 2019 19:55:51 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I99e4d02a0dce78e9ac24a3a6040183bec5a56d60
jenkins-bot [Sun, 31 Mar 2019 16:36:23 +0000 (16:36 +0000)]
Merge "maintenance: Deprecate Maintenance::hasArg/getArg with no param"
Umherirrender [Sat, 30 Mar 2019 11:16:51 +0000 (12:16 +0100)]
Move MediaTransformOutput classes to own files
Change-Id: I1c676f18101250ffc28ea412213d568c5a4f527d
jenkins-bot [Sat, 30 Mar 2019 11:21:46 +0000 (11:21 +0000)]
Merge "Move class SearchEngineDummy to own file"
jenkins-bot [Sat, 30 Mar 2019 10:05:01 +0000 (10:05 +0000)]
Merge "resourceloader: Remove deprecated MessageBlobStore::getBlob"
jenkins-bot [Sat, 30 Mar 2019 04:26:02 +0000 (04:26 +0000)]
Merge "Do not return invalid JSON in runJobs.php"
Aaron Schulz [Sat, 30 Mar 2019 03:44:56 +0000 (20:44 -0700)]
Do not return invalid JSON in runJobs.php
Change-Id: Ib94c23bfc5e599a628a5fd65bb14baf750874995
Timo Tijhof [Sat, 30 Mar 2019 02:57:57 +0000 (02:57 +0000)]
resourceloader: Remove deprecated MessageBlobStore::getBlob
This class is basically `@internal`, but not yet marked as such.
The only non-core use case is a WikimediaMaintenance script,
so I suppose we can keep it public.
It's purpose is for batching, the single blob method is not
used anywhere in Wikimedia Git.
Change-Id: If2a0497b1412efbfd55b34b512d2b9e5346359fb
jenkins-bot [Sat, 30 Mar 2019 02:48:06 +0000 (02:48 +0000)]
Merge "auth: Make 'LocalUserCreated' hook non-abortable"
jenkins-bot [Sat, 30 Mar 2019 01:35:34 +0000 (01:35 +0000)]
Merge "mediawiki.user: Use then() instead of done()"
jenkins-bot [Sat, 30 Mar 2019 01:24:03 +0000 (01:24 +0000)]
Merge "mediawiki.user: Improve test suite"
jenkins-bot [Sat, 30 Mar 2019 00:43:45 +0000 (00:43 +0000)]
Merge "Avoid use of deprecated wikiId field in JobQueue"
jenkins-bot [Sat, 30 Mar 2019 00:43:36 +0000 (00:43 +0000)]
Merge "Avoid use of deprecated "wikiId" parameter for FileBackend"
jenkins-bot [Sat, 30 Mar 2019 00:22:25 +0000 (00:22 +0000)]
Merge "Fix function/class case"
jenkins-bot [Sat, 30 Mar 2019 00:08:28 +0000 (00:08 +0000)]
Merge "Replace several uses of wfWikiId() with WikiMap methods"
Krinkle [Sat, 30 Mar 2019 00:07:01 +0000 (00:07 +0000)]
Merge "Make RefreshLinksJob run DataUpdates such that they have outer scope"
jenkins-bot [Fri, 29 Mar 2019 23:55:28 +0000 (23:55 +0000)]
Merge "Clean up some database domain ID related code and fix some comments"
Aaron Schulz [Fri, 29 Mar 2019 01:59:42 +0000 (18:59 -0700)]
Make RefreshLinksJob run DataUpdates such that they have outer scope
This is how DeferrableUpdates are supposed to run as documented.
Change-Id: Ie4fb8c9a64b94bc2422d7e51391998315f4eeddb
Max Semenik [Fri, 29 Mar 2019 23:27:09 +0000 (16:27 -0700)]
Don't return a result of a void function
Change-Id: Ie22b0a44a489bb2f1115608c8dd782656b45537e
jenkins-bot [Fri, 29 Mar 2019 23:21:26 +0000 (23:21 +0000)]
Merge "Fix partially blocked admin undelete permissions"
Max Semenik [Fri, 29 Mar 2019 23:20:50 +0000 (16:20 -0700)]
Fix function/class case
Change-Id: I18c205736be9d76d2c09a6dc4d7377740a742ccc
jenkins-bot [Fri, 29 Mar 2019 22:54:58 +0000 (22:54 +0000)]
Merge "Make Job::hasExecutionFlag() actually work"
Aaron Schulz [Fri, 29 Mar 2019 22:26:25 +0000 (15:26 -0700)]
Avoid use of deprecated wikiId field in JobQueue
Change-Id: I9e30519e7985c20525572b685234ad239d62c214
Aaron Schulz [Fri, 29 Mar 2019 22:10:02 +0000 (15:10 -0700)]
Avoid use of deprecated "wikiId" parameter for FileBackend
Also cleaned up the parameter/field naming for DBFileJournal
Change-Id: I70f2a870706f0813311a694cb8ea31ced58dcabb
jenkins-bot [Fri, 29 Mar 2019 22:19:51 +0000 (22:19 +0000)]
Merge "Rename NameTableStore wiki ID field to a DB domain field"
jenkins-bot [Fri, 29 Mar 2019 22:19:42 +0000 (22:19 +0000)]
Merge "Use the WebRequest::getCheck() shortcut where possible"
jenkins-bot [Fri, 29 Mar 2019 22:19:33 +0000 (22:19 +0000)]
Merge "Fix flakey MCR test in RevisionDbTestBase by mocking the time"
Aaron Schulz [Fri, 29 Mar 2019 21:56:18 +0000 (14:56 -0700)]
Replace several uses of wfWikiId() with WikiMap methods
Also, reword some related comments.
Change-Id: I8aefa42f96b90e9ea871cf7ec1afcc7ed82a19b2
Aaron Schulz [Fri, 29 Mar 2019 21:30:21 +0000 (14:30 -0700)]
Clean up some database domain ID related code and fix some comments
Change-Id: Id5c5640e05301161dbb7c2be363e32d7d1c9a511
jenkins-bot [Fri, 29 Mar 2019 21:23:07 +0000 (21:23 +0000)]
Merge "jobqueue: simplify the signature of Job::factory() and Job::__construct()"
Aaron Schulz [Fri, 29 Mar 2019 21:14:05 +0000 (14:14 -0700)]
Fix flakey MCR test in RevisionDbTestBase by mocking the time
Change-Id: I1d089d7b155adb865b42f7e8a26466553508c9be
Dayllan Maza [Fri, 29 Mar 2019 17:13:22 +0000 (13:13 -0400)]
Fix partially blocked admin undelete permissions
If an admin is partially blocked they should be able to restore/undelete
any given page.
Bug: T219305
Change-Id: I404730273c33d72d7552cd69e93ccec78c5fad5a
jenkins-bot [Fri, 29 Mar 2019 20:18:20 +0000 (20:18 +0000)]
Merge "Convert EnqueueJob to using DB domains"
jenkins-bot [Fri, 29 Mar 2019 20:18:07 +0000 (20:18 +0000)]
Merge "Make WikiMap::isCurrentWikiDbDomain() more rigorous"
jenkins-bot [Fri, 29 Mar 2019 20:17:57 +0000 (20:17 +0000)]
Merge "Fix invalid namespace restriction when js is disabled"
Aaron Schulz [Fri, 29 Mar 2019 20:15:58 +0000 (13:15 -0700)]
jobqueue: simplify the signature of Job::factory() and Job::__construct()
Remove the $title argument from these methods to simplify subclasses that
do not have a meaningful title to use. The Job::getTitle() method can be
overriden by subclasses to return something meaningful.
The old call signature is still supported for backwards compatibility.
This will automatically determine what getTitle() returns as before.
Use "Blankpage" as the "not applicable" title for jobs instead of one
that looks like some error occured.
Change-Id: I3d5bd012d9cef1e7daaccfb0d5d319552eb89fb6
Timo Tijhof [Fri, 29 Mar 2019 18:36:48 +0000 (18:36 +0000)]
mediawiki.user: Use then() instead of done()
Makes it compatible with standard ES6 Promise, and also
allows the browser to respond sooner to user input (if there was
any) rather than (synchronously) continuing within this same async
block.
Change-Id: I82aac439cecd7680f53a82649196c9168eda6755
Timo Tijhof [Fri, 29 Mar 2019 20:09:32 +0000 (20:09 +0000)]
mediawiki.user: Improve test suite
* Add missing test for getRights with Promise.
* Separate the 'callback' and 'Promise' test cases.
Change-Id: Ia332f05e117512f32f71ff2e22bd76f8f1ee101c
Umherirrender [Fri, 29 Mar 2019 19:35:35 +0000 (20:35 +0100)]
Move class SearchEngineDummy to own file
Each class should have its own file, even it is a no-op
Change-Id: I90124ed35e354c546fcd69d52dc1febb71b2c71f
Volker E [Fri, 29 Mar 2019 19:30:38 +0000 (12:30 -0700)]
Unify code comments across special page stylesheets
Change-Id: I6311b441552bfd05f737f106b534f213797d426a
Dayllan Maza [Thu, 28 Mar 2019 20:02:44 +0000 (16:02 -0400)]
Fix invalid namespace restriction when js is disabled
When JS is disabled on Special:Block you were able to specify
any namespace as part of the namespace restrictions field. This patch
rejects any virtual namespace submitted on that field
Bug: T216831
Change-Id: If09c43e5f836e1fdd9438b856d7f44f434c29fe1
Aaron Schulz [Thu, 28 Mar 2019 22:37:52 +0000 (15:37 -0700)]
Make WikiMap::isCurrentWikiDbDomain() more rigorous
This already requires a DB domain ID, so there is no reason to have
hacks for trying to handle a wiki ID being passed in instead. If the
provided domain has a schema, it should not simply be ignored in the
comparison.
Change-Id: I9ced7a46fa05f32843a9a7d17391c5d0576b099c
Aaron Schulz [Fri, 29 Mar 2019 03:58:45 +0000 (20:58 -0700)]
Convert EnqueueJob to using DB domains
Change-Id: Id0c38ce65d22be850d7bc720195c4563ca1f1192
jenkins-bot [Fri, 29 Mar 2019 18:48:23 +0000 (18:48 +0000)]
Merge "Restore #mw-history-search id on history action fieldset"
Timo Tijhof [Fri, 29 Mar 2019 18:41:56 +0000 (18:41 +0000)]
auth: Make 'LocalUserCreated' hook non-abortable
Its return value was already not used. By using runWithoutAbort()
it means that if a hook accidentally returns false, it will throw
an exception instead of silently skipping other hook handlers.
This type of mistake has repeatedly caused problems in WMF prod
over the years.
Change-Id: I6af2261957eb20f18fa5f0d50c4c4835d3850cfe
Aaron Schulz [Fri, 29 Mar 2019 17:34:04 +0000 (10:34 -0700)]
Rename NameTableStore wiki ID field to a DB domain field
Change-Id: Ia0616c76792e9fc878b413e3f86bef9b799b665e
jenkins-bot [Fri, 29 Mar 2019 18:20:34 +0000 (18:20 +0000)]
Merge "Use isset() to avoid an E_NOTICE about an undefined index"
jenkins-bot [Fri, 29 Mar 2019 18:00:57 +0000 (18:00 +0000)]
Merge "Update DeferredUpdates::enqueueUpdates() to look for the DB domain"
jenkins-bot [Fri, 29 Mar 2019 18:00:44 +0000 (18:00 +0000)]
Merge "filerepo: only trigger maybeUpgradeRow() on action=purge"
Jack Phoenix [Fri, 29 Mar 2019 17:49:36 +0000 (19:49 +0200)]
Use isset() to avoid an E_NOTICE about an undefined index
Change-Id: Ida990c474a7e4269dc2df989232eea5cb7b83345
jenkins-bot [Fri, 29 Mar 2019 17:32:14 +0000 (17:32 +0000)]
Merge "objectcache: Remove hacky testMerge_fork() method in BagOStuffTest"
jenkins-bot [Fri, 29 Mar 2019 17:32:06 +0000 (17:32 +0000)]
Merge "objectcache: remove messy inheritence from APCBagOStuff in APCUBagOStuff"
jenkins-bot [Fri, 29 Mar 2019 16:33:55 +0000 (16:33 +0000)]
Merge "Allow extensions to add params to the update.php maintenance script"
jenkins-bot [Fri, 29 Mar 2019 15:58:50 +0000 (15:58 +0000)]
Merge "RecentChanges style modules should be "skinnable""
jdlrobson [Wed, 27 Mar 2019 22:52:29 +0000 (15:52 -0700)]
Restore #mw-history-search id on history action fieldset
Change-Id: I3551667b1f64a3cd9227b07df2a215ccb701ea5d
jenkins-bot [Fri, 29 Mar 2019 14:53:28 +0000 (14:53 +0000)]
Merge "Fix flaky rollback browser test"
tzhelyazkova [Fri, 29 Mar 2019 14:30:31 +0000 (15:30 +0100)]
Fix flaky rollback browser test
Bug: T219440
Change-Id: I58c21494201d4fea738a9e9e007faf272e89c6e5
Bartosz Dziewoński [Fri, 29 Mar 2019 12:26:30 +0000 (13:26 +0100)]
HistoryAction: Fix double-escaping
Change-Id: I8a1da7c07e1d90098868122904afa584d4df3d26
Thiemo Kreuz [Thu, 28 Feb 2019 11:13:49 +0000 (12:13 +0100)]
maintenance: Deprecate Maintenance::hasArg/getArg with no param
Benefit of keeping the parameter optional:
- In maintenance scripts that really only have one parameter, it's a
little more convenient to be able to ask for *the* parameter via an
empty getArg().
Disadvantages:
- It's unclear what getArg() means when there is no indication *which*
argument the code asks for. This might as well return the last
argument, or an array of all arguments.
- In scripts with two or more arguments, it's confusing to see
getArg( 1 ) next to an empty getArg().
- The methods are more complex and a bit more complicated to use with
the extra feature of this parameter being optional. Users need to
look up what the default is to be able to use it safely.
Change-Id: I22a43bfdfc0f0c9ffdb468c13aba73b888d1f15e
Aaron Schulz [Fri, 29 Mar 2019 08:22:22 +0000 (01:22 -0700)]
filerepo: only trigger maybeUpgradeRow() on action=purge
Bug: T179760
Change-Id: I36ca7517702d0c2dfbcedd4d2c132cebdce7442c
jenkins-bot [Fri, 29 Mar 2019 08:31:24 +0000 (08:31 +0000)]
Merge "Reword 'right-purge'"
Aaron Schulz [Fri, 29 Mar 2019 03:47:09 +0000 (20:47 -0700)]
Update DeferredUpdates::enqueueUpdates() to look for the DB domain
Change-Id: I2c786eba61ff36a9e0e2d605aa3108c9c8569063
jenkins-bot [Fri, 29 Mar 2019 03:35:38 +0000 (03:35 +0000)]
Merge "resourceloader: Improve test cases for ClientHtml"
jenkins-bot [Fri, 29 Mar 2019 03:34:12 +0000 (03:34 +0000)]
Merge "resourceloader: Move registering of custom sources to ServiceWiring"
jenkins-bot [Fri, 29 Mar 2019 02:57:03 +0000 (02:57 +0000)]
Merge "rdbms: add another null db/schema sanity check to DatabaseDomain"
Aaron Schulz [Fri, 29 Mar 2019 02:39:03 +0000 (19:39 -0700)]
objectcache: Remove hacky testMerge_fork() method in BagOStuffTest
This method easily fails due to use of the same resource in each
thread after calling pcntl_fork(). This can cause thread-safety
problems like mysqli errors, which in turn make tests fail.
Change-Id: I4ff3657940c1d1cdad58bafb7449bdd0182cbe56
Aaron Schulz [Fri, 29 Mar 2019 02:38:13 +0000 (19:38 -0700)]
objectcache: remove messy inheritence from APCBagOStuff in APCUBagOStuff
Also make sure they always use PHP serialization to avoid CAS token problems
and bugs in the custom pecl extension serializers.
Change-Id: I43cef97ca4ac0f0cc21b65ba73d1887ed92e157f
Aaron Schulz [Thu, 28 Mar 2019 23:04:59 +0000 (16:04 -0700)]
rdbms: add another null db/schema sanity check to DatabaseDomain
Change-Id: Id75a47a3dee97b43c586faf06208dffcc30c9e6e
Aaron Schulz [Fri, 29 Mar 2019 01:54:29 +0000 (18:54 -0700)]
Make Job::hasExecutionFlag() actually work
Change-Id: I7d32edd5913e12a3380ca9f7f5a318e1682725bf
Timo Tijhof [Fri, 29 Mar 2019 01:45:33 +0000 (01:45 +0000)]
resourceloader: Improve test cases for ClientHtml
Change-Id: Ia10f212267d881ff4dec3eca3119f4bd9090c7de
Timo Tijhof [Fri, 29 Mar 2019 01:21:18 +0000 (01:21 +0000)]
resourceloader: Move registering of custom sources to ServiceWiring
Remove the now-redundant mocking of this configuration from various
test classes.
Bug: T32956
Change-Id: If90a10a76b8289c4ba707382ac915441c17d831f
Aaron Schulz [Fri, 29 Mar 2019 01:06:59 +0000 (18:06 -0700)]
Avoid calling setTransactionTicket() on a non-DataUpdate for sanity
Change-Id: Idbdb8bb2b8d065c8c86308ef8964e64fcd8dc7fb
jenkins-bot [Fri, 29 Mar 2019 00:23:47 +0000 (00:23 +0000)]
Merge "DateInputWidget: Remove focus reflow"
jenkins-bot [Fri, 29 Mar 2019 00:12:14 +0000 (00:12 +0000)]
Merge "DRY up rev link generation in History and Contributions"
jenkins-bot [Fri, 29 Mar 2019 00:11:32 +0000 (00:11 +0000)]
Merge "Compare selected revisions on history page is marked with a class"
jenkins-bot [Thu, 28 Mar 2019 23:51:03 +0000 (23:51 +0000)]
Merge "rdbms: move some files under rdbms/database to subfolders"
jenkins-bot [Thu, 28 Mar 2019 23:50:54 +0000 (23:50 +0000)]
Merge "Make HistoryAction form use OOUI"
jdlrobson [Thu, 28 Mar 2019 23:45:33 +0000 (16:45 -0700)]
RecentChanges style modules should be "skinnable"
We will need more control in skins like Minerva with these styles
prior to enabling RecentChanges in mobile.
Setting them as default skin styles is backwards compatible but
allows skins to customise these as needed
Change-Id: I5f63ade024bf03e9b470393b6d8a166a9bd41845
jenkins-bot [Thu, 28 Mar 2019 23:35:11 +0000 (23:35 +0000)]
Merge "HISTORY: Add MediaWiki 1.2 post-release change notes"
jenkins-bot [Thu, 28 Mar 2019 23:35:03 +0000 (23:35 +0000)]
Merge "HISTORY: Add MediaWiki 1.1 post-release change notes"
jdlrobson [Tue, 26 Mar 2019 16:47:08 +0000 (09:47 -0700)]
DRY up rev link generation in History and Contributions
ContribsPager and HistoryPager both duplicate efforts.
Instead move this code into a new static function inside
ChangesList that is shared between the two.
Bug: T216420
Change-Id: I0025d2e515d086b60670bd3f37307caac8d662a2
Aaron Schulz [Tue, 26 Mar 2019 05:39:24 +0000 (22:39 -0700)]
rdbms: move some files under rdbms/database to subfolders
Change-Id: I627398d2cfe9fda93a16f94a94e75cf5f8833613