Not removed, per se, but assuming the schema of the AH commodities table is this:
SellerID, ItemID, Price, Qty, CreatedTime
The select query is most likely “SELECT count(SellerID), sum(Qty), Price FROM AHCommodities WHERE itemID = @itemID AND SellerID <> @userID GROUP BY Price ORDER BY Price” and to facilitate speed they didn’t want to give you the ability to choose who you’re buying from (because they assumed it was probably an underutilized feature or at least wasn’t worth the performance hit).
That’s why when you go to buy, you just enter a quantity and it computes the rest.
There could be a race condition and I’ll need to test something when the PTR is up.
If they allowed you to pick and choose who to buy from, resolution becomes a lot more complicated and they couldn’t enforce an order.
9s 200 Bob
9s 200 Greg
9s 200 George
9s 200 Tom
9s 200 Vegas
Assume that that is in order from most recent listing to oldest listing (so Vegas is the oldest listing and Bob is the newest). If they allowed you to choose by name they’d have to list it like that, they’d have to let you pick through everyone with the same price and then send back who you were buying from and how many. Without knowing the sellers, you just buy X and they can use a write once back end LIFO algorithm to solve it.
The question is say item X is listed like this:
10g 10 qty Bob
1000g 1000 qty Greg
If User Y has the AH open and is going to buy 10 but before they submit the buy request User X has already put in an order for 10, what happens? User Y’s AH may show Bob even though User X bought them out. I’ll test and report when the PTR is up.