Age | Commit message (Collapse) | Author | Files | Lines |
|
That was the last one. I hope I haven't forgotten to update anything.
|
|
|
|
Just a few more to go...
|
|
|
|
Everything still seems to be working fine so far.
|
|
I like how the rlists.added column isn't used anywhere in the code,
makes the conversion a lot easier. :-)
|
|
This will currently generate a 500 error for VN pages, because they
still try to look something up in the vn_categories table. Will fix that
soon.
Obviously, this conversion script only works on the actual VNDB
database, if you run your own VNDB you can safely ignore the INSERT
error when executing update_2.6.sql.
|
|
It took me a while to figure out that the "timestamp with timezone"
PostgreSQL type doesn't actually store the time zone, it simply stores
and calculates on UTC, and only converts it to the connection time zone
in the formatting stage before sending it to the SQL client.
When working with date/times in PgSQL, the NOW() (and related) functions
return a timestamp with time zone. Upon converting that to a timestamp
without time zone type, the current timezone setting is used. Meaning
that comparing a column of type timestamp without timezone to NOW() will
only work if all data in the columns is stored in the same timezone as
that of the current connection, which in turn means that changing this
setting at any point will cause all data in timestamp without timezone
columns to be incorrectly interpreted.
I often praise PostgreSQL for their comprehensive documentation, but
they could've pointed this out more clearly...
|
|
|
|
To be consistent with users.passwd - hashes are stored in binary. All
conversion from/to hex is done in the DB layer.
|
|
That syntax error was partly 3dB's fault, and partly my fault for
changing too much in that merge, heh.
|
|
Conflicts:
util/dump.sql
util/updates/update_2.6.sql
Also updated ChangeLog and made some tiny style changes.
|
|
-- Updated SQL files to reflect column type change.
-- Subroutine dbSessionAdd rewritten to accept an expiration
timestap as an optional third argument.
|
|
This commit is tested to work.
|
|
This finishes the new relation graph generator, as it'll now regenerate
graphs as soon as is needed.
This obsletes the VNDB::Util::Misc::vnCacheUpdate() function, this
functionality is provided by triggers within PostgreSQL.
The update_vncache(0) procedure is now significantly slower due to the
trigger on the vn table. It'd be a good idea to rewrite this procedure
by using triggers and conditional updates, to drastically lower the number
of rows that need to be updated.
|
|
Only allowing the deferred state on a select few foreign keys would
detect problems in an earlier stage (rather than waiting for a commit to
happen), and guarantees that some things are inserted before others,
which in turn eases the writing of trigger functions.
|
|
This finished the rewrite of Multi::Image and everything surrounding it.
|
|
There were only two states, processed and unprocessed, so simply
using a boolean column with correct naming is more clarifying.
|
|
Yay! Another weird shared-memory-command optimized away. And the image
resizer reacts a lot faster now. Noticably, even.
|
|
The notify is called from a trigger function, which is called on any
UPDATE or INSERT INTO query of which the lastfetch column is NULL.
This guarantees that anime info in the DB will always be updated, no
matter how its inserted.
|
|
This is a lot less error-prone than doing it from Perl.
<3 PostgreSQL
|
|
Removed most NOT NULL constraints, and converted lastfetch to a
timestamp data type.
The site has been updated to handle this, but Multi::Anime won't work.
|
|
|
|
|
|
The 'language' column in releases_rev has been replaced with a
releases_lang table. As this is quite a big change, there may still
be bugs floating around somewhere.
|
|
|
|
TODO:
- update d3
- filters on /r
|
|
TODO: filter on /r
|
|
TODO:
- Update d3
- Add filter to /r
|
|
The bayesian ranking algorithm isn't exactly meant to be used to
differentiate between absolute values, so do a pre-check on AVG(vote)
before considering a VN in the rating.
I've also played around with using plain old averages as score, but I'd
say the ordering is a lot better with the bayesian ranking, the displayed
score is just slightly more confusing.
|
|
Fixed major performance bug caused by referencing the wrong table, moved
all intermediate views to tag_vn_calc() as temporary views (similar to
update_vnpopularity()) and renamed tags_vn_stored to tags_vn_bayesian.
|
|
|
|
Conflicts:
lib/VNDB/DB/Discussions.pm
util/updates/update_2.3.sql
|
|
|
|
|
|
|
|
|
|
This would at least annoy the people who'll try to manipulate
the rankings, and will make finding duplicate users a bit easier.
(Not that it's really a problem at the moment)
|
|
The following query should be run periodically to update the rankings:
SELECT update_vnpopularity();
I'll fix Multi::Maintenance to do this automatically.
|
|
TODO: update d3 and automatically convert all 'patch' media releases
in the DB to use this flag.
|
|
|
|
|
|
|
|
Because I can't say no to a performance increase of 4 to 7ms
for -every- pageview!
Makes use of postgresql triggers and stored procedures.
|
|
I wasn't planning on really touching the database in the rewrite,
but oh well, I've always wanted to do this, anyway.
|
|
And added triggers to keep these up to date, and made it possible
to sort on the change and vote count on the userlist
|
|
git-svn-id: svn://vndb.org/vndb@112 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|
|
git-svn-id: svn://vndb.org/vndb@103 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|
|
smallint, and added (yet another) foreign key constraint to the threads table
git-svn-id: svn://vndb.org/vndb@100 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|
|
properly references changes.id
git-svn-id: svn://vndb.org/vndb@99 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
|