diff options
-rw-r--r-- | data/tpl/vnpage_rg | 2 | ||||
-rw-r--r-- | lib/ChangeLog | 4 | ||||
-rw-r--r-- | lib/Multi/RG.pm | 6 | ||||
-rwxr-xr-x | util/updates/update_1.22.pl | 28 | ||||
-rw-r--r-- | util/updates/update_1.22.sh | 16 | ||||
-rw-r--r-- | util/updates/update_1.22.sql | 5 |
6 files changed, 26 insertions, 35 deletions
diff --git a/data/tpl/vnpage_rg b/data/tpl/vnpage_rg index 11790e42..deae6124 100644 --- a/data/tpl/vnpage_rg +++ b/data/tpl/vnpage_rg @@ -6,6 +6,6 @@ [[ } else { ]] [[= $d{vn}{cmap} ]] <p id="relations"> - <img src="[[= sprintf "%s/rg/%02d/%d.gif", $p{st}, $d{vn}{rgraph}%100, $d{vn}{rgraph} ]]" usemap="#rgraph" alt="Relation graph for -[[: $d{vn}{title} ]]" /> + <img src="[[= sprintf "%s/rg/%02d/%d.png", $p{st}, $d{vn}{rgraph}%100, $d{vn}{rgraph} ]]" usemap="#rgraph" alt="Relation graph for -[[: $d{vn}{title} ]]" /> </p> [[ } ]] diff --git a/lib/ChangeLog b/lib/ChangeLog index 7b97bb63..756f6a9a 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -14,6 +14,10 @@ TODO: - Fixed bug with the infinite thumbnail generation message when the server doesn't respond within one second. - Rewrote VNDB::Util::DB::sqlprint to use server-side prepared statements + - Added two new foreign key constraints: + changes (causedby) -> changes (id) + threads (id, count) -> threads_posts (tid, num) + - Converted relation graphs to PNG 1.21 - 2008-08-16 (r90) - Added !vn and !uptime commands to Multi::IRC diff --git a/lib/Multi/RG.pm b/lib/Multi/RG.pm index 8c45014a..37037a96 100644 --- a/lib/Multi/RG.pm +++ b/lib/Multi/RG.pm @@ -192,14 +192,14 @@ sub buildgraph { $gid = $gid->fetchrow_arrayref->[0]; $_[HEAP]{gid} = [ $gid, - sprintf('%s/%02d/%d.gif', $_[HEAP]{imgdir}, $gid % 100, $gid), + sprintf('%s/%02d/%d.png', $_[HEAP]{imgdir}, $gid % 100, $gid), ]; # roughly equivalent to: - # cat layout.txt | dot -Tgif -o graph.gif -Tcmapx + # cat layout.txt | dot -Tpng -o graph.png -Tcmapx $_[HEAP]{proc} = POE::Wheel::Run->new( Program => $_[HEAP]{dot}, - ProgramArgs => [ '-Tgif', '-o', $_[HEAP]{gid}[1], '-Tcmapx' ], + ProgramArgs => [ '-Tpng', '-o', $_[HEAP]{gid}[1], '-Tcmapx' ], StdioFilter => POE::Filter::Stream->new(), StdinEvent => 'proc_stdin', StdoutEvent => 'proc_stdout', diff --git a/util/updates/update_1.22.pl b/util/updates/update_1.22.pl deleted file mode 100755 index 465c8c40..00000000 --- a/util/updates/update_1.22.pl +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/perl - - -# update_1.22.sql must be executed before this script - - -use strict; -use warnings; -use DBI; - -BEGIN { require '/www/vndb/lib/global.pl' } - -my $sql = DBI->connect(@VNDB::DBLOGIN, - { PrintError => 1, RaiseError => 1, AutoCommit => 0 }); - -my $q = $sql->prepare('INSERT INTO relgraph (id, cmap) VALUES(?,?)'); -for (glob "/www/vndb/data/rg/*/*.cmap") { - my $id = $1 if /([0-9]+)\.cmap$/; - open my $F, '<', $_ or die $!; - $q->execute($id, join "\n", <$F>); - close $F; -} - -$sql->do('ALTER TABLE vn ADD FOREIGN KEY (rgraph) REFERENCES relgraph (id) DEFERRABLE INITIALLY DEFERRED'); -$sql->commit; - -# it's now safe to delete /data/rg - diff --git a/util/updates/update_1.22.sh b/util/updates/update_1.22.sh new file mode 100644 index 00000000..3fdbaea7 --- /dev/null +++ b/util/updates/update_1.22.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +# update_1.22.sql must be executed before this script + +cd /www/vndb + +# delete all relation graphs (just the files) +find static/rg -name '*.gif' -delete + +# delete all relation graph image maps (entire directory) +rm -rf data/rg + +# regenerate all relation graphs +util/multi.pl -c 'relgraph all' + + diff --git a/util/updates/update_1.22.sql b/util/updates/update_1.22.sql index e3729765..9a81b2c6 100644 --- a/util/updates/update_1.22.sql +++ b/util/updates/update_1.22.sql @@ -5,12 +5,11 @@ CREATE TABLE relgraph ( cmap text NOT NULL DEFAULT '' ) WITHOUT OIDS; -SELECT SETVAL('relgraph_id_seq', NEXTVAL('relgraph_seq')); DROP SEQUENCE relgraph_seq; - ALTER TABLE vn ALTER COLUMN rgraph DROP NOT NULL; ALTER TABLE vn ALTER COLUMN rgraph SET DEFAULT NULL; -UPDATE vn SET rgraph = NULL WHERE rgraph = 0; +UPDATE vn SET rgraph = NULL; +ALTER TABLE vn ADD FOREIGN KEY (rgraph) REFERENCES relgraph (id) DEFERRABLE INITIALLY DEFERRED; -- add foreign table constraint to changes.causedby |