X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_virt_db.cpp;h=b35ed7c685141133f07f21b4c3f6991e59ac20e4;hb=daa6e3aec14f907c2f317ecfcda8bebbd4fd5dbf;hp=1ad040ca2323d89f08ebbf3f4cfcfdb8f4fbf957;hpb=63dda9fef8b647d491dd2baef8ec4f4f88ee1b11;p=metaproxy-moved-to-github.git diff --git a/src/filter_virt_db.cpp b/src/filter_virt_db.cpp index 1ad040c..b35ed7c 100644 --- a/src/filter_virt_db.cpp +++ b/src/filter_virt_db.cpp @@ -1,4 +1,4 @@ -/* $Id: filter_virt_db.cpp,v 1.26 2006-01-16 15:51:56 adam Exp $ +/* $Id: filter_virt_db.cpp,v 1.27 2006-01-16 16:05:50 adam Exp $ Copyright (c) 2005, Index Data. %LICENSE% @@ -72,7 +72,8 @@ namespace yp2 { BackendPtr lookup_backend_from_databases( std::list databases); BackendPtr create_backend_from_databases( - std::list databases); + std::list databases, + std::string &failing_database); BackendPtr init_backend(std::list database, Package &package, @@ -113,7 +114,7 @@ yf::Virt_db::BackendPtr yf::Virt_db::Frontend::lookup_backend_from_databases( } yf::Virt_db::BackendPtr yf::Virt_db::Frontend::create_backend_from_databases( - std::list databases) + std::list databases, std::string &failing_database) { BackendPtr b(new Backend); std::list::const_iterator db_it = databases.begin(); @@ -129,6 +130,7 @@ yf::Virt_db::BackendPtr yf::Virt_db::Frontend::create_backend_from_databases( map_it = m_p->m_maps.find(*db_it); if (map_it == m_p->m_maps.end()) // database not found { + failing_database = *db_it; BackendPtr ptr; return ptr; } @@ -156,11 +158,12 @@ yf::Virt_db::BackendPtr yf::Virt_db::Frontend::init_backend( std::list databases, Package &package, int &error_code, std::string &addinfo) { - BackendPtr b = create_backend_from_databases(databases); + std::string failing_database; + BackendPtr b = create_backend_from_databases(databases, failing_database); if (!b) { error_code = YAZ_BIB1_DATABASE_UNAVAILABLE; - // addinfo = database; + addinfo = failing_database; return b; } Package init_package(b->m_backend_session, package.origin());