71 "date_changed,
hash, gi, length, mol, sat, "
72 "sat_key, seq_ids, seq_state,
state, tax_id, name, writetime(sat_key)
FROM ";
79 const string & keyspace,
86 m_ConsumeCallback(move(consume_callback))
98 "CCassBioseqInfoTaskFetch: DataReadyCB can't be assigned "
99 "after the loading process has started");
111 static const string s_Where_1 =
".bioseq_info WHERE accession = ?";
112 static const string s_Where_2 = s_Where_1 +
" AND version = ?";
113 static const string s_Where_3 = s_Where_2 +
" AND seq_id_type = ?";
114 static const string s_Where_4 = s_Where_3 +
" AND gi = ?";
123 sql.append(s_Where_4);
130 sql.append(s_Where_3);
136 sql.append(s_Where_2);
141 sql.append(s_Where_1);
179 bool acceptable =
true;
238 for (
auto const & seq_id : target.
GetSeqIds()) {
239 seq_id_types.
insert(get<0>(seq_id));
242 for (
auto const & seq_id :
source.GetSeqIds()) {
243 if (seq_id_types.count(get<0>(seq_id)) == 0) {
278 bool final_state =
true;
299 }
else if (restarted) {
339 snprintf(msg,
sizeof(msg),
"Failed to fetch bioseq info (key=%s.%s.%d.%d) unexpected state (%d)",
341 static_cast<int>(
version),
static_cast<int>(seq_id_type),
#define BEGIN_IDBLOB_SCOPE
function< void(vector< CBioseqInfoRecord > &&)> TBioseqInfoConsumeCallback
const string kSelectStatement
BEGIN_IDBLOB_SCOPE const CassConsistency kBioSeqInfoConsistency
function< void(CRequestStatus::ECode status, int code, EDiagSev severity, const string &message)> TDataErrorCallback
CBioseqInfoRecord::TSeqIdType GetSeqIdType() const
CBioseqInfoRecord::TVersion GetVersion() const
CBioseqInfoRecord::TGI GetGI() const
bool HasField(EFields field) const
TSeqIdType GetSeqIdType() const
TVersion GetVersion() const
CBioseqInfoRecord & SetWritetime(TWritetime value)
CBioseqInfoRecord & SetDateChanged(TDateChanged value)
CBioseqInfoRecord & SetSat(TSat value)
CBioseqInfoRecord & SetName(TName value)
CBioseqInfoRecord & SetLength(TLength value)
CBioseqInfoRecord & SetTaxId(TTaxId value)
CBioseqInfoRecord & SetSeqIdType(TSeqIdType value)
CBioseqInfoRecord & SetSatKey(TSatKey value)
CBioseqInfoRecord & SetState(TState value)
CBioseqInfoRecord & SetGI(TGI value)
CBioseqInfoRecord & SetMol(TMol value)
CBioseqInfoRecord & SetSeqState(TSeqState value)
static const TState kStateAlive
CBioseqInfoRecord & SetVersion(TVersion value)
CBioseqInfoRecord & SetHash(THash value)
CBioseqInfoRecord & SetAccession(const TAccession &value)
void x_InitializeAliveRecordQuery()
bool m_InheritanceAllowed
@ eFetchAliveVersionStarted
void x_PopulateRecord(CBioseqInfoRecord &record) const
unsigned int m_RestartCounter
vector< CBioseqInfoRecord > m_Records
void AllowInheritance(bool value)
bool x_InheritanceRequired()
CBioseqInfoFetchRequest m_Request
void SetDataReadyCB(shared_ptr< CCassDataCallbackReceiver > callback)
TBioseqInfoConsumeCallback m_ConsumeCallback
void SetConsumeCallback(TBioseqInfoConsumeCallback callback)
set< size_t > m_InheritanceRequired
void x_MergeSeqIds(CBioseqInfoRecord &target, CBioseqInfoRecord const &source)
bool x_IsMatchingNewRecord(CBioseqInfoRecord const &old_record, CBioseqInfoRecord const &new_record)
bool x_IsMatchingRecord()
atomic< int32_t > m_State
shared_ptr< CCassConnection > m_Conn
string GetKeySpace() const
void SetDataReadyCB3(shared_ptr< CCassDataCallbackReceiver > datareadycb3)
void SetupQueryCB3(shared_ptr< CCassQuery > &query)
bool CheckReady(shared_ptr< CCassQuery > qry, unsigned int restart_counter, bool &need_repeat)
vector< SQueryRec > m_QueryArr
void Error(CRequestStatus::ECode status, int code, EDiagSev severity, const string &message)
iterator_bool insert(const value_type &val)
const_iterator begin() const
const_iterator end() const
@ eDiag_Error
Error message.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_SCOPE(ns)
Define a new scope.
const CharType(& source)[N]
const CConstRef< CSeq_id > GetAccession(const CSeq_id_Handle &id_handle)