From a474cec8c4e0ea282f21902dc2bffdabb82667c3 Mon Sep 17 00:00:00 2001 From: Ian Beckwith Date: Tue, 19 Oct 2010 07:43:22 +0100 Subject: [PATCH] tidy DB --- lib/ID3FS/DB.pm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/ID3FS/DB.pm b/lib/ID3FS/DB.pm index 74a82b5..273f6dc 100644 --- a/lib/ID3FS/DB.pm +++ b/lib/ID3FS/DB.pm @@ -23,7 +23,7 @@ use ID3FS::AudioFile; use Cwd; our $SCHEMA_VERSION=1; -my $dbfile=".id3fs"; +my $dbfile=".id3fs"; # default sub new { @@ -60,6 +60,7 @@ sub new return $self; } +# search parent directories for db sub find_db { # class method @@ -163,7 +164,6 @@ sub tags_with_values my $sql=("SELECT p.name, t.name FROM tags t\n" . "INNER JOIN tags p ON t.parents_id=p.id\n" . "GROUP BY p.name, t.name\n"); -# print "SQL: $sql\n"; my $result=$self->cmd_rows($sql); my $tags={}; for my $pair (@$result) @@ -206,9 +206,7 @@ sub relativise { shift(@path); shift(@rel); -# print "POP "; } -# print "\n"; my $upcount=scalar(@rel); my $result="../" x $upcount; $result .= join("/",@path); @@ -350,7 +348,6 @@ sub files_in my $sql=("SELECT files.name FROM files\n" . "INNER JOIN paths ON files.paths_id=paths.id\n" . "WHERE paths.name=?\n"); -# print "files_in: SQL: $sql\n"; return($self->cmd_firstcol($sql, $dir)); } @@ -390,7 +387,6 @@ sub prune_paths return unless(@ids); my $sql=("DELETE FROM files WHERE paths_id IN (\n\t" . join(', ', map { "\"$_\""; } @ids). "\n\t)"); -# print "SQL: \n", $sql, "\n"; $self->cmd($sql); } @@ -452,6 +448,7 @@ sub ok return(defined($thing) && length($thing) && $thing =~ /\S+/); } +# actually call the database sub cmd_sth { my($self, $sql, @params)=@_; @@ -466,6 +463,7 @@ sub cmd_sth return $sth; } +# pass cmd to db, ignore response sub cmd { my ($self, @args)=@_; @@ -473,6 +471,7 @@ sub cmd $self->cmd_sth(@args); } +# return one row sub cmd_onerow { my ($self, @args)=@_; @@ -480,6 +479,7 @@ sub cmd_onerow return($sth->fetchrow_array()); } +# returns all rows sub cmd_rows { my ($self, @args)=@_; @@ -487,12 +487,14 @@ sub cmd_rows return $sth->fetchall_arrayref(); } +# returns just the first column sub cmd_firstcol { my ($self, @args)=@_; return(map { $_->[0] } @{$self->cmd_rows(@args)}); } +# runs cmd, returns id of last insert sub cmd_id { my ($self, @args)=@_; @@ -506,6 +508,7 @@ sub last_insert_id return $self->{dbh}->last_insert_id("","","",""); } +# lookup id of $name in $table, also matching on $parent if needed sub lookup_id { my($self, $table, $name, $parent)=@_; -- 2.11.0