Author: matz Date: Fri Mar 7 20:19:46 2008 New Revision: 9062 URL: http://svn.opensuse.org/viewcvs/zypp?rev=9062&view=rev Log: Make rpmdb2solv reasonably fast again. Modified: trunk/sat-solver/src/repo.c trunk/sat-solver/src/repo.h trunk/sat-solver/src/repodata.c trunk/sat-solver/src/repodata.h trunk/sat-solver/tools/rpmdb2solv.c Modified: trunk/sat-solver/src/repo.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/repo.c?rev=9062&r1=9061&r2=9062&view=diff ============================================================================== --- trunk/sat-solver/src/repo.c (original) +++ trunk/sat-solver/src/repo.c Fri Mar 7 20:19:46 2008 @@ -920,6 +920,15 @@ repodata_internalize(data); } +void +repo_disable_paging(Repo *repo) +{ + int i; + Repodata *data; + + for (i = 0, data = repo->repodata; i < repo->nrepodata; i++, data++) + repodata_disable_paging(data); +} // EOF /* vim:cinoptions={.5s,g0,p5,t0,(0,^-0.5s,n-0.5s:tw=78:cindent:sw=4: Modified: trunk/sat-solver/src/repo.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/repo.h?rev=9062&r1=9061&r2=9062&view=diff ============================================================================== --- trunk/sat-solver/src/repo.h (original) +++ trunk/sat-solver/src/repo.h Fri Mar 7 20:19:46 2008 @@ -201,5 +201,6 @@ void repo_set_str(Repo *repo, Id p, Id keyname, const char *str); void repo_set_poolstr(Repo *repo, Id p, Id keyname, const char *str); void repo_internalize(Repo *repo); +void repo_disable_paging(Repo *repo); #endif /* SATSOLVER_REPO_H */ Modified: trunk/sat-solver/src/repodata.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/repodata.c?rev=9062&r1=9061&r2=9062&view=diff ============================================================================== --- trunk/sat-solver/src/repodata.c (original) +++ trunk/sat-solver/src/repodata.c Fri Mar 7 20:19:46 2008 @@ -1609,6 +1609,13 @@ } } +void +repodata_disable_paging(Repodata *data) +{ + if (maybe_load_repodata(data, 0) + && data->num_pages) + load_page_range (data, 0, data->num_pages - 1); +} /* vim:cinoptions={.5s,g0,p5,t0,(0,^-0.5s,n-0.5s:tw=78:cindent:sw=4: */ Modified: trunk/sat-solver/src/repodata.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/repodata.h?rev=9062&r1=9061&r2=9062&view=diff ============================================================================== --- trunk/sat-solver/src/repodata.h (original) +++ trunk/sat-solver/src/repodata.h Fri Mar 7 20:19:46 2008 @@ -137,6 +137,7 @@ void repodata_merge_attrs (Repodata *data, Id dest, Id src); void repodata_internalize(Repodata *data); +void repodata_disable_paging(Repodata *data); Id repodata_str2dir(Repodata *data, const char *dir, int create); Modified: trunk/sat-solver/tools/rpmdb2solv.c URL: http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/tools/rpmdb2solv.c?rev=9062&r1=9061&r2=9062&view=diff ============================================================================== --- trunk/sat-solver/tools/rpmdb2solv.c (original) +++ trunk/sat-solver/tools/rpmdb2solv.c Fri Mar 7 20:19:46 2008 @@ -65,6 +65,7 @@ } ref = repo_create(refpool, "ref"); repo_add_solv(ref, fp); + repo_disable_paging(ref); fclose(fp); } -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org