From 8b6cf38619711e43fa685f2b2777d6891c87fbd6 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Tue, 7 Sep 2004 16:19:59 +0000 Subject: [PATCH] forgot depth check --- lib/DBIx/Tree/NestedSet.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/DBIx/Tree/NestedSet.pm b/lib/DBIx/Tree/NestedSet.pm index 49458f6f0..609ef0f57 100644 --- a/lib/DBIx/Tree/NestedSet.pm +++ b/lib/DBIx/Tree/NestedSet.pm @@ -576,9 +576,13 @@ sub get_self_and_children_flat{ my $id_SQL; if (defined $params{$id_name}) { my ($left_value,$right_value,$depth_value)=$dbh->selectrow_array("select $left,$right,depth from $table where $id_name=?",undef,($params{$id_name})); - $id_SQL="where $left between " . $dbh->quote($left_value)." and ".$dbh->quote($right_value)." having level <=".($params{depth} + $depth_value+2); + $id_SQL="where $left between " . $dbh->quote($left_value)." and ".$dbh->quote($right_value); + if (defined $params{depth}) { + $id_SQL .= " having level <=".($params{depth} + $depth_value+2); + } } - my $tree_structure=$dbh->selectall_arrayref("select depth+2 as level,$table.* from $table $id_SQL order by $left",{Columns=>{}}); + my $sql ="select depth+2 as level,$table.* from $table $id_SQL order by $left"; + my $tree_structure=$dbh->selectall_arrayref($sql,{Columns=>{}}); return $tree_structure; } ########################################