diff options
author | Yorhel <git@yorhel.nl> | 2014-12-22 12:06:55 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2014-12-22 12:06:55 +0100 |
commit | b646361f63e066c6859a1f05e29af7d9c812a13a (patch) | |
tree | 89e848a66ad36c710a0ec5d0f3f9a9330d7c0368 /lib/VNDB/DB | |
parent | 12338003bde24a3a263abe8caca71b1836ecee83 (diff) |
DB: Merge name/title fetching in main fetching functions
And call bbSubstLinks() from Handler::Discussions rather than
DB::Discussions - it's not a transformation that the DB layer should do,
IMO.
Diffstat (limited to 'lib/VNDB/DB')
-rw-r--r-- | lib/VNDB/DB/Chars.pm | 16 | ||||
-rw-r--r-- | lib/VNDB/DB/Discussions.pm | 4 | ||||
-rw-r--r-- | lib/VNDB/DB/Producers.pm | 15 | ||||
-rw-r--r-- | lib/VNDB/DB/VN.pm | 14 |
4 files changed, 8 insertions, 41 deletions
diff --git a/lib/VNDB/DB/Chars.pm b/lib/VNDB/DB/Chars.pm index f387b044..0f4120fd 100644 --- a/lib/VNDB/DB/Chars.pm +++ b/lib/VNDB/DB/Chars.pm @@ -5,7 +5,7 @@ use strict; use warnings; use Exporter 'import'; -our @EXPORT = qw|dbCharGet dbCharRevisionInsert dbCharImageId dbCharNames|; +our @EXPORT = qw|dbCharGet dbCharRevisionInsert dbCharImageId|; # options: id rev instance tagspoil trait_inc trait_exc char what results page gender bloodt @@ -25,7 +25,8 @@ sub dbCharGet { my %where = ( !$o{id} && !$o{rev} ? ( 'c.hidden = FALSE' => 1 ) : (), - $o{id} ? ( 'c.id = ?' => $o{id} ) : (), + $o{id} ? ( + 'c.id IN(!l)' => [ ref $o{id} ? $o{id} : [$o{id}] ] ) : (), $o{rev} ? ( 'h.rev = ?' => $o{rev} ) : (), $o{notid} ? ( 'c.id <> ?' => $o{notid} ) : (), $o{instance} ? ( 'cr.main = ?' => $o{instance} ) : (), @@ -138,16 +139,5 @@ sub dbCharImageId { } -sub dbCharNames { - my ($self, @ids) = @_; - return $self->dbAll(q| - SELECT c.id, cr.name - FROM chars c - JOIN chars_rev cr ON cr.id = c.latest - WHERE c.id IN (!l)|, \@ids - ); -} - - 1; diff --git a/lib/VNDB/DB/Discussions.pm b/lib/VNDB/DB/Discussions.pm index d1462249..9da25384 100644 --- a/lib/VNDB/DB/Discussions.pm +++ b/lib/VNDB/DB/Discussions.pm @@ -4,7 +4,6 @@ package VNDB::DB::Discussions; use strict; use warnings; use Exporter 'import'; -use VNDB::Util::Misc 'bbSubstLinks'; our @EXPORT = qw|dbThreadGet dbThreadEdit dbThreadAdd dbPostGet dbPostEdit dbPostAdd dbThreadCount|; @@ -215,7 +214,7 @@ sub dbPostEdit { my($self, $tid, $num, %o) = @_; my %set = ( - 'msg = ?' => bbSubstLinks($self, $o{msg}), + 'msg = ?' => $o{msg}, 'edited = to_timestamp(?)' => $o{lastmod}, 'hidden = ?' => $o{hidden}?1:0, ); @@ -237,7 +236,6 @@ sub dbPostAdd { my $num = $self->dbRow('SELECT num FROM threads_posts WHERE tid = ? ORDER BY num DESC LIMIT 1', $tid)->{num}; $num = $num ? $num+1 : 1; $o{uid} ||= $self->authInfo->{id}; - $o{msg} = bbSubstLinks($self, $o{msg}); $self->dbExec(q| INSERT INTO threads_posts (tid, num, uid, msg) diff --git a/lib/VNDB/DB/Producers.pm b/lib/VNDB/DB/Producers.pm index 7d4b6897..86ed124e 100644 --- a/lib/VNDB/DB/Producers.pm +++ b/lib/VNDB/DB/Producers.pm @@ -5,7 +5,7 @@ use strict; use warnings; use Exporter 'import'; -our @EXPORT = qw|dbProducerGet dbProducerRevisionInsert dbProducerNames|; +our @EXPORT = qw|dbProducerGet dbProducerRevisionInsert|; # options: results, page, id, search, char, rev @@ -25,7 +25,7 @@ sub dbProducerGet { !$o{id} && !$o{rev} ? ( 'p.hidden = FALSE' => 1 ) : (), $o{id} ? ( - 'p.id = ?' => $o{id} ) : (), + 'p.id IN(!l)' => [ ref $o{id} ? $o{id} : [$o{id}] ] ) : (), $o{search} ? ( '(pr.name ILIKE ? OR pr.original ILIKE ? OR pr.alias ILIKE ?)', [ map '%%'.$o{search}.'%%', 1..3 ] ) : (), $o{char} ? ( @@ -94,16 +94,5 @@ sub dbProducerRevisionInsert { } -sub dbProducerNames { - my($self, @ids) = @_; - return $self->dbAll(q| - SELECT p.id, pr.name - FROM producers p - JOIN producers_rev pr ON pr.id = p.latest - WHERE p.id IN (!l)|, \@ids - ); -} - - 1; diff --git a/lib/VNDB/DB/VN.pm b/lib/VNDB/DB/VN.pm index ecf49f96..aaca4da5 100644 --- a/lib/VNDB/DB/VN.pm +++ b/lib/VNDB/DB/VN.pm @@ -7,7 +7,7 @@ use Exporter 'import'; use VNDB::Func 'gtintype', 'normalize_query'; use Encode 'decode_utf8'; -our @EXPORT = qw|dbVNGet dbVNRevisionInsert dbVNImageId dbScreenshotAdd dbScreenshotGet dbScreenshotRandom dbVNHasChar dbVNTitles|; +our @EXPORT = qw|dbVNGet dbVNRevisionInsert dbVNImageId dbScreenshotAdd dbScreenshotGet dbScreenshotRandom dbVNHasChar|; # Options: id, rev, char, search, length, lang, olang, plat, tag_inc, tag_exc, tagspoil, @@ -32,7 +32,7 @@ sub dbVNGet { my @where = ( $o{id} ? ( - 'v.id = ?' => $o{id} ) : (), + 'v.id IN(!l)' => [ ref $o{id} ? $o{id} : [$o{id}] ] ) : (), $o{rev} ? ( 'c.rev = ?' => $o{rev} ) : (), $o{char} ? ( @@ -291,15 +291,5 @@ sub dbVNHasChar { } -sub dbVNTitles { - my ($self, @vids) = @_; - return $self->dbAll(q| - SELECT v.id, vr.title - FROM vn v - JOIN vn_rev vr ON vr.id = v.latest - WHERE v.id IN (!l)|, \@vids - ); -} - 1; |