Update of /cvsroot/fink/scripts/buildfink/lib/FinkFDB In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv32496/lib/FinkFDB
Modified Files: DBI.pm Log Message: Back-end and front-end can talk again Index: DBI.pm =================================================================== RCS file: /cvsroot/fink/scripts/buildfink/lib/FinkFDB/DBI.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- DBI.pm 1 Apr 2007 15:23:43 -0000 1.2 +++ DBI.pm 2 Apr 2007 04:35:45 -0000 1.3 @@ -24,9 +24,8 @@ get_package_files => <<EOF, SELECT fullpath AS 'path', size, posix_user, posix_group, flags -FROM file_versions LEFT OUTER JOIN packages - ON file_versions.package_id = packages.package_id -WHERE package_name=? +FROM file_versions +WHERE package_id=? ORDER BY is_directory DESC, fullpath ASC EOF get_directory_files => <<EOF, @@ -39,7 +38,7 @@ LEFT OUTER JOIN packages ON packages.package_id = file_versions.package_id WHERE parent_id = ? -ORDER BY is_directory DESC, file_name ASC +ORDER BY is_directory DESC, file_name ASC, package_name ASC EOF get_packages => "SELECT package_name, package_id FROM packages ORDER BY package_name ASC", ); @@ -60,12 +59,30 @@ $dbstr = sprintf("dbi:%s:%s", $self->{dbtype}, $params{db}); } - $self->{dbh} = DBI->connect($dbstr, $params{dbuser}, $params{dbpass}, \%dbattrs); - $self->{queries} = {}; + $self->{dbstr} = $dbstr; + $self->{dbuser} = $params{dbuser}; + $self->{dbpass} = $params{dbpass}; + $self->{dbattrs} = \%dbattrs; return $self; } +sub connect { + my($self) = @_; + $self->{dbh} = DBI->connect($self->{dbstr}, + $self->{dbuser}, + $self->{dbpass}, + $self->{dbattrs}); + $self->{queries} = {}; +} + +sub disconnect { + my($self) = @_; + delete $self->{queries}; + $self->{dbh}->disconnect(); + delete $self->{dbh}; +} + sub addPackage { my($self, $package) = @_; $self->execQuery("add_package", $package); @@ -135,8 +152,8 @@ } sub selectAll { - my($query, @bindvals) = @_; - my $query = $self->execQuery($query, @bindvals); + my($self, $qname, @bindvals) = @_; + my $query = $self->execQuery($qname, @bindvals); my $ret = $query->fetchall_arrayref({}); $query->finish(); return @$ret; ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fink-commits