projects
/
id3fs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b21a945
)
tags hierarchy schema change: change list tags
author
Ian Beckwith
<ianb@erislabs.net>
Sun, 3 Oct 2010 01:12:53 +0000
(
02:12
+0100)
committer
Ian Beckwith
<ianb@erislabs.net>
Sun, 3 Oct 2010 01:12:53 +0000
(
02:12
+0100)
lib/ID3FS/DB.pm
patch
|
blob
|
history
diff --git
a/lib/ID3FS/DB.pm
b/lib/ID3FS/DB.pm
index
17e215c
..
722eb63
100644
(file)
--- a/
lib/ID3FS/DB.pm
+++ b/
lib/ID3FS/DB.pm
@@
-470,8
+470,7
@@
sub bare_tags
{
my($self)=@_;
my $sql=("SELECT tags.name FROM tags\n" .
{
my($self)=@_;
my $sql=("SELECT tags.name FROM tags\n" .
- "LEFT JOIN tags_x_tagvals ON tags.id=tags_x_tagvals.tags_id\n" .
- "WHERE tags_x_tagvals.tags_id IS NULL\n" .
+ "WHERE tags.parents_id=''\n" .
"GROUP BY tags.name\n");
my $result=$self->cmd_rows($sql);
my @names=map { $_->[0]; } @$result;
"GROUP BY tags.name\n");
my $result=$self->cmd_rows($sql);
my @names=map { $_->[0]; } @$result;
@@
-480,11
+479,12
@@
sub bare_tags
sub tags_with_values
{
sub tags_with_values
{
+ # FIXME: only shows one level of tag depth
my($self)=@_;
my($self)=@_;
- my $sql=("SELECT
tags.name, tagvals.name FROM tags
\n" .
- "INNER JOIN tags
_x_tagvals ON tags.id=tags_x_tagvals.tags_
id\n" .
- "
INNER JOIN tagvals ON tagvals.id=tags_x_tagvals.tagvals_id\n" .
-
"GROUP BY tags.name, tagvals.name\n")
;
+ 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)
my $result=$self->cmd_rows($sql);
my $tags={};
for my $pair (@$result)