Download & Extend

uc_wishlists table design is incorrect

Project:UC Wish List
Version:6.x-1.1
Component:Code
Category:bug report
Priority:critical
Assigned:Unassigned
Status:active

Issue Summary

The UID field on MySQL table uc_wishlists is unsafe. It should be int(10) unsigned, but it is currently varchar(255). This is not only bad for referential integrity (when INNODB is managing tables), its also hard on indexes.

AttachmentSize
uc-wishlists-table-design-invalid.jpg21.04 KB

Comments

#1

Is this constrained by the fact that it's a UID or a session id?

#2

I missed that, which is possible. Since many/most sites want to use views, this would be necessary for accessing wishlists of users whom may not yet have an account.

I don't know that varchar(255) is realistic though (if this is storing session ID's). I think another UC core table (cart?) might give some insight into how to handle this.

#3

True - but should it be a different field for the two use cases? Would perhaps be cleaner, ie add a SessionID column for use for anonymous users?

I like lots about this module, but it feels abandoned... there seem to be patches in the queue but no-one looking at them any more?

It doesn't seem easy to share your wishlist -which is surely part of the point - Wishlist tab URL inconsistent - tweetable lists would be good..

Or conversely to make it private - Allow private wish lists

I'm not sure about the wisdom of letting anyone see your delivery address, and wondering if you should be able to choose whether anyone or only signed in can see? See there's a start on that at

Do you think this project is still live? Does say minimal maintenance on the project page?