summaryrefslogtreecommitdiff
path: root/lib/VNDB/DB/Producers.pm
AgeCommit message (Collapse)AuthorFilesLines
2016-11-03Add duplicate check to producer entryYorhel1-2/+2
2016-07-03Generalize substring search relevance + apply to most dropdown searchesYorhel1-4/+10
This is a generalization of the search improvements made in 7da2edeaa0f6cf7794f4f8f68960497dc1be893c and 92235222dba4e5d0c7713d53ef12e0f10e371b83 And has been applied to the dropdown searches for producers, staff, tags and traits. For all those searches, exact matches are listed first, followed by prefix matches, and then substring matches. Relevance is currently only based on the primary name/title and ignores aliases (except for staff). This is fixable, but not trivial, and I'm not sure it's all that useful.
2016-01-10DB::(VN|Producers): Don't decode_utf8() xml valuesYorhel1-2/+0
Newer versions of DBD::Pg do this automatically.
2015-11-01DB::(Producers|VN): Convert svg column to perl encoding when fetchingYorhel1-0/+2
DBD::Pg doesn't recognize the 'xml' data type as textual data, and thus doesn't decode it for us. This fixes the display of non-ASCII characters.
2015-10-21SQL: Fix editing + func.sql + triggers.sql + autocreate editing funcsYorhel1-3/+3
This changes quite a bit to the way the editing functions work. Because these functions are very repetitive and it's easy to keep things out of sync, I created a script to generate them automatically. I had to rename a few function and table names for consistency to make this work. Since database entries don't have a 'latest' column anymore, and since the order in which tables are updated doesn't have to be fixed, I dropped many of the SQL triggers and replaced them with a edit_committed() function which is called from edit_*_commit() and checks for stuff to be done. Don't forget to run 'make' before importing the update script.
2015-10-17SQL: Fix all browsing queries to use the new schemaYorhel1-28/+55
This basically makes VNDB browsable again, but editing entries is still broken. I split off the get-old-revision functionality from the db*Get() methods into db*GetRev(). This split makes sense even with the old SQL schema: db*Get() had to special-case some joins/filters when fetching an older revision, and none of the other filters would work in that case. This split does cause some code duplication in that all db*GetRev() methods look very much alike, and that the columns they fetch is almost identical to the db*Get() methods. Not sure yet how to avoid the duplication elegantly. I didn't do a whole lot of query optimization yet (most issues require extra indices, I'll investigate later which indices will make a big difference), but I did fix some low hanging fruit whenever I encountered something. I don't think I've worsened anything, performance-wise.
2015-01-28Merge branch 'staff' into masterYorhel1-1/+1
Conflicts: lib/VNDB/DB/VN.pm lib/VNDB/Handler/VNPage.pm
2015-01-17DB: No need to use double-%% in like queriesYorhel1-1/+1
2014-12-22DB: Merge name/title fetching in main fetching functionsYorhel1-13/+2
And call bbSubstLinks() from Handler::Discussions rather than DB::Discussions - it's not a transformation that the DB layer should do, IMO.
2014-12-22bbcode: Replace [vcpgi][0-9]+ links with a [url] tagmorkt1-1/+12
Patch from https://vndb.org/t5564.13
2010-11-11Display releases grouped by VNs on producer pagesYorhel1-25/+1
A nice expanded view. It also happens to be faster than the old view in terms of SQL queries. (In most cases at least) Can be improved a little more by: - Adding an 'expand/collapse' feature to list only the VNs - Adding a column indicating the role of the producer (dev/pub)
2010-01-24Versioned the deleting and locking of database entriesYorhel1-1/+1
This is implemented by adding ihid (item hidden) and ilock (item locked) columns to the changes table, The (vn|release|producer).(hidden|locked) columns now work as a cache, refering to the changes.(ihid|ilock) columns with changes.id = (vn|release|producer).latest. The cached columns are updated automatically each time a new revision is inserted. This is a pretty large change, bugs are quite likely.
2010-01-01SQL: Revision insertion abstraction for producer entriesYorhel1-13/+12
2009-12-05Merged db[VN|Producer|Release][Edit|Add] into dbItemEdit and dbItemAddYorhel1-24/+6
And also changed the way the item_table.latest column was updated: it is now only updated after the revision insert has completed, making it easier to write trigger functions in SQL.
2009-11-14Added wikipedia links for producersYorhel1-3/+3
2009-10-21Added relation graphs for producersYorhel1-2/+4
TODO: - document the relations - emit a relgraph notify when needed
2009-10-21Started on the producer relationsYorhel1-3/+25
The current list of relations isn't final yet, may be changed later on. Quite a bit of this code has been copied from the VN relations... need to find a way to use prober code reuse here. TODO: - Nice relation editor interface - Display relations in revision browser - Display relations on producer pages - Generate relation graphs - Sync update_2.8.sql into dump.sql
2009-10-12SQL: Converted changes.type to an ENUMYorhel1-2/+2
This is a very important column in a very important table, I hope I didn't forget to update a piece of code somewhere...
2009-10-10Updated Producer and VN pages with developer/publisher informationYorhel1-1/+2
2009-08-09Converted changes.added to timestamptzYorhel1-1/+1
That was the last one. I hope I haven't forgotten to update anything.
2009-02-21Small performance improvements for dbReleaseGet()Yorhel1-1/+1
Using the same method as 203509ffd8fc2fbbd76129d701a6c20110f6050d
2009-02-21Small performance improvements: Don't always fetch all columns on ↵Yorhel1-1/+2
dbProducerGet() Added an 'extended' flag to the 'what' argument, which should be used if more columns are desired.
2009-02-21Aliases field to producer entriesYorhel1-4/+4
2009-01-10Don't show hidden release relations on producer pagesYorhel1-0/+1
17:00:20 <ImmLff> Can someone explain why p440 have relation to v198 without having a release? 17:00:20 <Multi> [p440] Team Free @ http://vndb.org/p440 17:00:20 <Multi> [v198] Princess Holiday @ http://vndb.org/v198 17:01:07 <applehq> it's deleted... 17:01:14 <Yorhel> oh my, a bug
2008-12-09Code cleanup: removed leading spaces and combined ↵Yorhel1-1/+1
DB/{Votes,VNList,WishList}.pm into ULists.pm
2008-11-26All db*(Edit|add) functions accept an uid option, reverse relation updates ↵Yorhel1-4/+4
go to Multi again
2008-11-22Wrote a generic function to handle all /[vrp]+/(lock|hide) URIsYorhel1-10/+1
They pretty much all work the same anyway
2008-11-14Adding new producer works + abstracted adding of new items and revisionsYorhel1-18/+21
...and those URL regexes are getting more and more complex >.>
2008-11-13W00t, producer editing works!Yorhel1-1/+30
Though there's no diff viewer or revision browser yet, so you can't really see the changelog itself
2008-11-13Locking and hiding producers worksYorhel1-1/+10
2008-11-12Expanded producer page with VN info and created a nice page layoutYorhel1-1/+21
2008-11-12Started on the producer pageYorhel1-0/+62
dbProducerGet is mostly stolen from 1.x