[09:15:44] [1/2] https://issue-tracker.miraheze.org/T14235 [09:15:45] [2/2] I thought it'll be nice to track the state of Extension:Bucket on Phorge, so here's a task with some of my experience with it. There are a few things blocked by upstream at the moment. [09:28:25] I don't think a lack of repeated values is a big problem? Just normalize your database tables and you should be fine [09:29:40] I recently used Bucket on UTW and I had to split and into different buckets but that's it [09:33:33] For the test case I tried, only a few rows need repeated values among several hundreds of them. These were handled with [Cargo's `HOLDS` command](https://www.mediawiki.org/wiki/Extension:Cargo/Querying_data#The_%22HOLDS%22_command), which has no Bucket counterpart. To normalize a database just for these rows would be an inefficient use of space. [09:37:56] [1/2] In Cargo, fields must be declared with something like `List (,) of Page` to be marked as having repeated values. The underlying implementation could be different for different DBs. [09:37:57] [2/2] Of course, Bucket maintainers would not be happy with this level of complexity. [09:44:25] By the way, @kockaadmiralac are you interested in sending your `$dbw->addIdentifierQuotes` patch upstream? [09:45:06] I mean sure but Weird Gloop hasn't accepted any of my patches yet so [09:46:02] Not to Bucket just in general [09:46:48] Have you checked which change exactly made it so that addIdentifierQuotes breaks there, it would be good to include just to ensure them that adding quotes is unnecessary even on 1.43 [10:14:55] [1/3] I'm not sure how the change happened. This commit looks relevant but is definitely not the root cause since it occurred before 1.43. [10:14:55] [2/3] https://gerrit.wikimedia.org/r/c/mediawiki/core/+/982777 [10:14:56] [3/3] https://cdn.discordapp.com/attachments/1006789349498699827/1413829811415158856/image.png?ex=68bd5b1e&is=68bc099e&hm=42b1b6160862936bbf44c6c0e9ff02428cf2df4ef85be5185073d9f92b04183a& [10:21:15] Right, that was as far as I got too I think [10:21:35] [1/2] Extensions like DiscussionTools have not done this since 2022, but they also don't have to deal with arbitrary table names. [10:21:35] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1413831489363378227/image.png?ex=68bd5cae&is=68bc0b2e&hm=d2871e56aa2d96d1be2d1f4ca623dafac04da0c463babcb46a52a3e9f83102a9& [10:22:55] [1/2] We need an example like this, but they seem pretty rare. [10:22:56] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1413831826211999866/image.png?ex=68bd5cff&is=68bc0b7f&hm=4d630dcf83d53664f6076bb941b96681f86dc1562bdb13e90420d563ee2c9d16& [10:25:36] This is lots of effort just to change 1 line, and it seems that WG is not receptive to patches. Maybe Skye's forking idea is the best way forward then... [10:27:21] now we just need a cool name for bucket but mariadb(+) [10:28:56] Pail [10:33:06] So I got to here when tracing back the code path for ->from [10:33:29] Might be worth it to open an issue in Bucket's repo explaining the patches we want to submit and see what they think. Forking is a last resort, though the effort that goes into coming up with a name probably won't go to waste. [10:35:05] I traced through the stack in https://discord.com/channels/407504499280707585/1006789349498699827/1410960950928080946 as well, but showing that the same code path also executes for 1.43 doesn't seem easy. [10:39:37] I'm thinking it might be [10:40:27] But that's 1.44 [10:42:05] `Ic7d7826da31f49915141692cb3bd84ed1e872e96` is in MW 1.43's `git log` [10:43:57] Wait yeah that's the last commit [10:44:21] https://cdn.discordapp.com/attachments/1006789349498699827/1413837221777379428/image.png?ex=68bd6205&is=68bc1085&hm=3f5380ad49a9293431f0a8b4fc438b23e0e90290b83128d501123dceb4299688& [10:44:58] Except that for some reason it was in June and not December [10:45:22] So that's not it [10:45:26] me when the reviewer on gerrit only approves my patch to master [10:47:20] I think it's just git's weird way of organizing history though. If I search for `// No alias? Set it equal to the table name`, which was added in this commit, in the REL1_43 branch, I do see this line appear in the source code. [10:48:04] [1/2] Oh [10:48:05] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1413838157169954876/image.png?ex=68bd62e4&is=68bc1164&hm=750ff14fa41e26fb097041c9c6b1946b001ff7a8363bf09df2afa9a001ba090a& [10:48:24] Right [10:49:27] I think we have a pretty strong case now. Do you want to try a PR? [10:50:20] [1/6] Runescape Wiki is running [10:50:20] [2/6] ``` [10:50:20] [3/6] 1.43.3 (e0e590b) [10:50:21] [4/6] 23:10, 4 September 2025 [10:50:21] [5/6] ``` [10:50:21] [6/6] So they already have this patch in prod. [10:52:00] Right but it doesn't error for them [10:52:30] Which is why I don't think that's what made the difference in behavior between 1.43 and 1.44 [10:53:55] Hmmm. I think we have at least shown that the patch is harmless because MW already dropped this way of escaping table names. [11:05:53] So SelectQueryBuilder::fetchResultSet uses Database::select which uses Database::selectSQLText which uses SQLPlatform::selectSQLText [11:07:32] Which uses tableNamesWithIndexClauseOrJOIN which uses tableNameWithAlias which uses addIdentifierQuotes [11:07:43] Even on 1.43 [11:55:04] [1/2] > This could change if other wikis are seriously interested in using Bucket, and if the scope of changes is relatively small, but right now the focus is squarely on MediaWiki 1.43 and MySQL 8.0.18 or higher. [11:55:04] [2/2] I take this to mean that we can try to get some simple patches merged. [13:21:00] I can make a PR when I get home [21:09:15] https://github.com/weirdgloop/mediawiki-extensions-Bucket/pull/12