Author: dmacvicar Date: Wed Jul 11 10:19:50 2007 New Revision: 5963 URL: http://svn.opensuse.org/viewcvs/zypp?rev=5963&view=rev Log: - read hal and modalias caps - fix bug inserting caps that generated null hal caps - adjust the testsuite Modified: branches/REFACTORING-10_3/libzypp/tests/cache/CacheStore_test.cc branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc branches/REFACTORING-10_3/libzypp/zypp/repo/cached/RepoImpl.cc Modified: branches/REFACTORING-10_3/libzypp/tests/cache/CacheStore_test.cc URL: http://svn.opensuse.org/viewcvs/zypp/branches/REFACTORING-10_3/libzypp/tests/cache/CacheStore_test.cc?rev=5963&r1=5962&r2=5963&view=diff ============================================================================== --- branches/REFACTORING-10_3/libzypp/tests/cache/CacheStore_test.cc (original) +++ branches/REFACTORING-10_3/libzypp/tests/cache/CacheStore_test.cc Wed Jul 11 10:19:50 2007 @@ -115,7 +115,16 @@ while ( reader.read() ) { string tablename = reader.getstring(0); - if ( tablename != "sqlite_sequence" ) + if ( + (tablename == "sqlite_sequence" ) || + (tablename == "db_info" ) || + (tablename == "types" ) || + (tablename == "names" ) || + (tablename == "file_names" ) || + (tablename == "dir_names" ) + ) + continue; + tables.push_back(tablename); } reader.close(); Modified: branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc URL: http://svn.opensuse.org/viewcvs/zypp/branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc?rev=5963&r1=5962&r2=5963&view=diff ============================================================================== --- branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc (original) +++ branches/REFACTORING-10_3/libzypp/zypp/cache/CacheStore.cc Wed Jul 11 10:19:50 2007 @@ -551,6 +551,9 @@ if ( !cap ) ZYPP_THROW(Exception("Null HAL capability")); + MIL << "HAL cap [ rid: " << resolvable_id << " | deptype: " << deptype << " | cap: " + << cap << endl; + _pimpl->append_hal_dependency_cmd->bind( ":resolvable_id", resolvable_id ); _pimpl->append_hal_dependency_cmd->bind( ":dependency_type", lookupOrAppendType("deptype", deptype.asString()) ); _pimpl->append_hal_dependency_cmd->bind( ":refers_kind", lookupOrAppendType("kind", cap->refers().asString()) ); @@ -596,7 +599,7 @@ _pimpl->append_other_dependency_cmd->bind( ":refers_kind", lookupOrAppendType("kind", cap->refers().asString()) ); _pimpl->append_other_dependency_cmd->bind( ":value", cap->encode()); - _pimpl->append_hal_dependency_cmd->executenonquery(); + _pimpl->append_other_dependency_cmd->executenonquery(); //delete cmd; } Modified: branches/REFACTORING-10_3/libzypp/zypp/repo/cached/RepoImpl.cc URL: http://svn.opensuse.org/viewcvs/zypp/branches/REFACTORING-10_3/libzypp/zypp/repo/cached/RepoImpl.cc?rev=5963&r1=5962&r2=5963&view=diff ============================================================================== --- branches/REFACTORING-10_3/libzypp/zypp/repo/cached/RepoImpl.cc (original) +++ branches/REFACTORING-10_3/libzypp/zypp/repo/cached/RepoImpl.cc Wed Jul 11 10:19:50 2007 @@ -360,6 +360,13 @@ // } sqlite3_command select_named_cmd( con, "select v.refers_kind, n.name, v.version, v.release, v.epoch, v.relation, v.dependency_type, v.resolvable_id from named_capabilities v, names n where v.name_id=n.id;"); sqlite3_command select_file_cmd( con, "select fc.refers_kind, dn.name, fn.name, fc.dependency_type, fc.resolvable_id from file_capabilities fc, files f, dir_names dn, file_names fn where f.id=fc.file_id and f.dir_name_id=dn.id and f.file_name_id=fn.id;"); + + sqlite3_command select_hal_cmd( con, "select hc.refers_kind, hc.name, hc.value, hc.relation, hc.dependency_type, hc.resolvable_id from hal_capabilities hc;"); + + sqlite3_command select_modalias_cmd( con, "select mc.refers_kind, mc.name, mc.value, mc.relation, mc.dependency_type, mc.resolvable_id from modalias_capabilities mc;"); + + sqlite3_command select_other_cmd( con, "select oc.refers_kind, oc.value, oc.dependency_type, oc.resolvable_id from other_capabilities oc;"); + { debug::Measure mnc("read named capabilities"); @@ -399,7 +406,41 @@ nvras[rid].second[deptype].insert( capfactory.fromImpl( capability::CapabilityImpl::Ptr(fcap) ) ); } } - + + { + debug::Measure mnf("read hal capabilities"); + sqlite3_reader reader = select_hal_cmd.executereader(); + while ( reader.read() ) + { + //select hc.refers_kind, hc.name, hc.value, hc.relation, hc.dependency_type, hc.resolvable_id from hal_capabilities hc + + Resolvable::Kind refer = _type_cache.kindFor(reader.getint(0)); + + Rel rel = _type_cache.relationFor(reader.getint(2)); + capability::HalCap *hcap = new capability::HalCap( refer, reader.getstring(1), rel, reader.getstring(3) ); + zypp::Dep deptype = _type_cache.deptypeFor(reader.getint(4)); + data::RecordId rid = reader.getint64(5); + nvras[rid].second[deptype].insert( capfactory.fromImpl( capability::CapabilityImpl::Ptr(hcap) ) ); + } + } + + { + debug::Measure mnf("read modalias capabilities"); + sqlite3_reader reader = select_modalias_cmd.executereader(); + while ( reader.read() ) + { + //select hc.refers_kind, hc.name, hc.value, hc.relation, hc.dependency_type, hc.resolvable_id from hal_capabilities hc + + Resolvable::Kind refer = _type_cache.kindFor(reader.getint(0)); + + Rel rel = _type_cache.relationFor(reader.getint(2)); + capability::ModaliasCap *mcap = new capability::ModaliasCap( refer, reader.getstring(1), rel, reader.getstring(3) ); + zypp::Dep deptype = _type_cache.deptypeFor(reader.getint(4)); + data::RecordId rid = reader.getint64(5); + nvras[rid].second[deptype].insert( capfactory.fromImpl( capability::CapabilityImpl::Ptr(mcap) ) ); + } + } + MIL << nvras.size() << " capabilities" << endl; } -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org