{string_view{
"LOCAL_ONE"},
kLocalOne},
124{string_view{
"ANY"},
kAny},
125{string_view{
"ONE"},
kOne},
126{string_view{
"TWO"},
kTwo},
127{string_view{
"THREE"},
kThree},
128{string_view{
"ALL"},
kAll},
129{string_view{
"QUORUM"},
kQuorum},
130{string_view{
"SERIAL"},
kSerial},
138 const autoitr = find_if(
140[&
value](
const auto&v) {
returnv.first ==
value; }
155chrono::microseconds
min{0};
156chrono::microseconds
max{0};
212 constCassPrepared *
Prepare(
const string&
sql);
224 staticshared_ptr<CCassConnection>
Create();
254 void SetCredentials(
string const& username,
string const& password);
294 void SetRtLimits(
unsigned intnumThreadsIo,
unsigned intnumConnPerHost);
312vector<string>
GetTables(
string const& keyspace)
const;
321vector<SCassSizeEstimate>
GetSizeEstimates(
string const& datacenter,
string const& keyspace,
string const&
table);
326 unsigned intoptimeoutms,
327 conststd::function<
bool()>& PreLoopCB,
329 conststd::function<
bool(
bool)>& OpCB
382unique_ptr<CassCollection,
function<void(CassCollection*)> >
m_collection;
383unique_ptr<CassTuple,
function<void(CassTuple*)> >
m_tuple;
385 void Bind(CassStatement * statement,
unsigned intidx);
403 m_type= CASS_VALUE_TYPE_UNKNOWN;
411 m_type= CASS_VALUE_TYPE_TINY_INT;
418 m_type= CASS_VALUE_TYPE_SMALL_INT;
425 m_type= CASS_VALUE_TYPE_INT;
432 m_type= CASS_VALUE_TYPE_DATE;
439 m_type= CASS_VALUE_TYPE_BIGINT;
447 m_type= CASS_VALUE_TYPE_VARCHAR;
454 m_type= CASS_VALUE_TYPE_BLOB;
459 template<
typenameK,
typenameV>
462 m_type= CASS_VALUE_TYPE_MAP;
463 m_collection= unique_ptr<CassCollection,
function<void(CassCollection*)> > (
464cass_collection_new(CASS_COLLECTION_TYPE_MAP, v.
size() * 2),
465[](CassCollection* coll) {
466cass_collection_free(coll);
470 for(
const auto& it : v) {
477 template<
typenameI>
480 m_type= CASS_VALUE_TYPE_LIST;
481 m_collection= unique_ptr<CassCollection,
function<void(CassCollection*)> > (
482cass_collection_new(CASS_COLLECTION_TYPE_LIST, sz),
483[](CassCollection* coll) {
484cass_collection_free(coll);
488 for(; begin != end; ++begin) {
494 template<
typenameI>
497 m_type= CASS_VALUE_TYPE_SET;
498 m_collection= unique_ptr<CassCollection,
function<void(CassCollection*)> > (
499cass_collection_new(CASS_COLLECTION_TYPE_SET, sz),
500[](CassCollection* coll) {
501cass_collection_free(coll);
505 for(; begin != end; ++begin) {
511 template<
typenameI>
513AssignSet<typename set<I>::const_iterator>(v.cbegin(), v.cend(), v.
size());
516 template<
typename...T>
519 m_type= CASS_VALUE_TYPE_TUPLE;
521 m_tuple= unique_ptr<CassTuple,
function<void(CassTuple*)> >(
522cass_tuple_new(tuple_size< tuple<T...> >::
value),
524cass_tuple_free(coll);
533 m_type= CASS_VALUE_TYPE_UNKNOWN;
550 caseCASS_VALUE_TYPE_TINY_INT:
552 caseCASS_VALUE_TYPE_VARCHAR: {
568 caseCASS_VALUE_TYPE_TINY_INT:
570 caseCASS_VALUE_TYPE_SMALL_INT:
572 caseCASS_VALUE_TYPE_VARCHAR: {
588 caseCASS_VALUE_TYPE_TINY_INT:
590 caseCASS_VALUE_TYPE_SMALL_INT:
592 caseCASS_VALUE_TYPE_INT:
594 caseCASS_VALUE_TYPE_BIGINT:
595 caseCASS_VALUE_TYPE_DATE:
597 caseCASS_VALUE_TYPE_VARCHAR: {
613 caseCASS_VALUE_TYPE_TINY_INT:
615 caseCASS_VALUE_TYPE_SMALL_INT:
617 caseCASS_VALUE_TYPE_INT:
619 caseCASS_VALUE_TYPE_BIGINT:
620 caseCASS_VALUE_TYPE_DATE:
622 caseCASS_VALUE_TYPE_VARCHAR: {
638 caseCASS_VALUE_TYPE_TINY_INT:
641 caseCASS_VALUE_TYPE_SMALL_INT:
644 caseCASS_VALUE_TYPE_INT:
647 caseCASS_VALUE_TYPE_BIGINT:
648 caseCASS_VALUE_TYPE_DATE:
651 caseCASS_VALUE_TYPE_VARCHAR:
654 caseCASS_VALUE_TYPE_SET:
670 caseCASS_VALUE_TYPE_TINY_INT:
671 caseCASS_VALUE_TYPE_SMALL_INT:
672 caseCASS_VALUE_TYPE_INT:
673 caseCASS_VALUE_TYPE_BIGINT:
674 caseCASS_VALUE_TYPE_DATE:
676 caseCASS_VALUE_TYPE_SET:
678 caseCASS_VALUE_TYPE_MAP:
680 caseCASS_VALUE_TYPE_LIST:
682 caseCASS_VALUE_TYPE_TUPLE:
683 return "tuple(...)";
684 caseCASS_VALUE_TYPE_UNKNOWN:
686 caseCASS_VALUE_TYPE_VARCHAR:
692 caseCASS_VALUE_TYPE_BLOB: {
696s << hex << setfill('0') << setw(2) << static_cast<int16_t>(
m_bytes[
i]);
706 return "AsStringForDebugNotImplemented(t:"+ to_string(
m_type) +
")";
733 void Attach(shared_ptr<CCassDataCallbackReceiver> ondata3)
735 m_self= shared_from_this();
739 void Detach(
boolremove_self_ref =
false)
741 if(remove_self_ref) {
749shared_ptr<CCassQueryCbRef>
self(
static_cast<CCassQueryCbRef*
>(
data)->shared_from_this());
751 self->m_self =
nullptr;
752 auto query=
self->m_query.lock();
753 if(
query!=
nullptr) {
754 autoondata3 =
self->m_ondata3.lock();
763 catch(
constexception& e) {
764 ERR_POST(
"exception caught! Message: "<< e.
what());
775 class CCassQuery:
publicstd::enable_shared_from_this<CCassQuery>
788 RAISE_DB_ERROR(eBindFailed,
"Param index #"+ to_string(iprm) +
" is out of range");
790 if(!
m_params[iprm].IsAssigned()) {
791 RAISE_DB_ERROR(eSeqFailed,
"invalid sequence of operations, Param #"+ to_string(iprm) +
" is not assigned");
797 if(iprm < 0 || (
unsigned int)iprm >=
m_params.size()) {
798 RAISE_DB_ERROR(eBindFailed,
"Param index #"+ to_string(iprm) +
" is out of range");
835 template<
typenameF>
838static_assert(
sizeof(
F) == 0,
"Columns can be accessed by either index or name");
842 template<
typenameF>
845static_assert(
sizeof(
F) == 0,
"Columns can be accessed by either index or name");
860 explicit CCassQuery(
constshared_ptr<CCassConnection>& connection) :
888 virtual void Close(
void);
893 unsigned int Timeout(
void)
const;
904 void SetSQL(
const string&
sql,
unsigned intPrmCount);
912 void SetHost(
const string& hostname);
915 boolrun_async =
false,
boolallow_prepare =
true,
921 boolrun_async =
false,
boolallow_prepare =
true);
934 virtual string ToString(
void)
const;
936 virtual bool IsEOF(
void)
const;
937 virtual bool IsAsync(
void)
const;
949 template<
typenameK,
typenameV>
956 template<
typenameI>
957 void BindList(
intiprm, I begin, I end,
size_tsz)
960 m_params[iprm].AssignList(begin, end, sz);
963 template<
typenameI>
964 void BindSet(
intiprm, I begin, I end,
size_tsz)
967 m_params[iprm].AssignSet<I>(begin, end, sz);
970 template<
typenameI>
976 template<
typename...T>
988CassValueType
ParamType(
intiprm)
const;
997 template<
typenameF =
int>
1000 constCassValue* clm =
GetColumn(ifld);
1001 return!clm || cass_value_is_null(clm);
1004 template<
typenameF =
int>
1011 constCassValue* clm =
GetColumn(ifld);
1012CassValueType
type= cass_value_type(clm);
1014 caseCASS_VALUE_TYPE_CUSTOM:
1016 caseCASS_VALUE_TYPE_TEXT:
1017 caseCASS_VALUE_TYPE_ASCII:
1018 caseCASS_VALUE_TYPE_VARCHAR:
1020 caseCASS_VALUE_TYPE_VARINT:
1021 caseCASS_VALUE_TYPE_DECIMAL:
1022 caseCASS_VALUE_TYPE_TINY_INT:
1023 caseCASS_VALUE_TYPE_SMALL_INT:
1024 caseCASS_VALUE_TYPE_INT:
1025 caseCASS_VALUE_TYPE_BIGINT:
1027 caseCASS_VALUE_TYPE_DOUBLE:
1028 caseCASS_VALUE_TYPE_FLOAT:
1031 caseCASS_VALUE_TYPE_BLOB:
1033 caseCASS_VALUE_TYPE_BOOLEAN:
1035 caseCASS_VALUE_TYPE_TIMESTAMP:
1037 caseCASS_VALUE_TYPE_COUNTER:
1039 caseCASS_VALUE_TYPE_UUID:
1040 caseCASS_VALUE_TYPE_TIMEUUID:
1042 caseCASS_VALUE_TYPE_LIST:
1043 caseCASS_VALUE_TYPE_MAP:
1044 caseCASS_VALUE_TYPE_SET:
1046 caseCASS_VALUE_TYPE_INET:
1048 caseCASS_VALUE_TYPE_DATE:
1050 caseCASS_VALUE_TYPE_UNKNOWN:
1056 template<
typenameF =
int>
1070 template<
typenameF =
int>
1074Convert::CassValueConvertDef<bool>(
GetColumn(ifld), _default, rv);
1078 template<
typenameF =
int>
1092 template<
typenameF =
int>
1096Convert::CassValueConvertDef<int8_t>(
GetColumn(ifld), _default, rv);
1100 template<
typenameF =
int>
1114 template<
typenameF =
int>
1118Convert::CassValueConvertDef<int16_t>(
GetColumn(ifld), _default, rv);
1122 template<
typenameF =
int>
1136 template<
typenameF =
int>
1140Convert::CassValueConvertDef<int32_t>(
GetColumn(ifld), _default, rv);
1144 template<
typenameF =
int>
1158 template<
typenameF =
int>
1162Convert::CassValueConvertDef<int64_t>(
GetColumn(ifld), _default, rv);
1166 template<
typenameF =
int>
1181 template<
typenameF =
int>
1185Convert::CassValueConvertDef<double>(
GetColumn(ifld), _default, rv);
1189 template<
typenameF =
int>
1203 template<
typenameF =
int>
1207Convert::CassValueConvertDef<string>(
GetColumn(ifld), _default, rv);
1211 template<
typenameI,
typenameF =
int>
1215 constCassValue * clm =
GetColumn(ifld);
1216CassValueType
type= cass_value_type(clm);
1219 caseCASS_VALUE_TYPE_LIST:
1220 caseCASS_VALUE_TYPE_SET:
1222 if(!cass_value_is_null(clm)) {
1223unique_ptr<CassIterator,
function<void(CassIterator*)> > items_iterator_ptr(
1224cass_iterator_from_collection(clm),
1225[](CassIterator* itr) {
1226cass_iterator_free(itr);
1229 while(cass_iterator_next(items_iterator_ptr.get())) {
1230 constCassValue*
value= cass_iterator_get_value(items_iterator_ptr.get());
1243insert_iterator++ = std::move(v);
1249 if(!cass_value_is_null(clm)) {
1251 "Failed to convert Cassandra value to collection: unsupported data type (Cassandra type - "+
1252to_string(
static_cast<int>(
type)) +
")" 1258 template<
typenameF =
int>
1264 template<
typenameF =
int>
1270 template<
typenameT,
typenameF =
int>
1273 constCassValue * clm =
GetColumn(ifld);
1274 if(!cass_value_is_null(clm)) {
1288 template<
typenameT,
typenameF =
int>
1291 constCassValue * clm =
GetColumn(ifld);
1292CassValueType
type= cass_value_type(clm);
1294 caseCASS_VALUE_TYPE_SET: {
1295unique_ptr<CassIterator,
function<void(CassIterator*)> > items_iterator_ptr(
1296cass_iterator_from_collection(clm),
1297[](CassIterator* itr) {
1298cass_iterator_free(itr);
1301 while(cass_iterator_next(items_iterator_ptr.get())) {
1303 constCassValue*
value= cass_iterator_get_value(items_iterator_ptr.get());
1314values.push_back(std::move(v));
1320 "Failed to convert Cassandra value to set<>: unsupported data type (Cassandra type - "+
1321to_string(
static_cast<int>(
type)) +
")" 1326 template<
typenameT,
typenameF =
int>
1329 constCassValue * clm =
GetColumn(ifld);
1330CassValueType
type= cass_value_type(clm);
1332 caseCASS_VALUE_TYPE_SET: {
1333unique_ptr<CassIterator,
function<void(CassIterator*)>> items_iterator(
1334cass_iterator_from_collection(clm),
1335[](CassIterator* itr) {
1336cass_iterator_free(itr);
1339 if(items_iterator !=
nullptr) {
1340 while(cass_iterator_next(items_iterator.get())) {
1342 constCassValue*
value= cass_iterator_get_value(items_iterator.get());
1353values.insert(std::move(v));
1360 "Failed to convert Cassandra value to set<>: unsupported data type (Cassandra type - "+
1361to_string(
static_cast<int>(
type)) +
")" 1366 template<
typenameK,
typenameV,
typenameF =
int>
1369 constCassValue * clm =
GetColumn(ifld);
1370CassValueType
type= cass_value_type(clm);
1372 caseCASS_VALUE_TYPE_MAP: {
1374unique_ptr<CassIterator,
function<void(CassIterator*)>> items_iterator(
1375cass_iterator_from_map(clm),
1376[](CassIterator* itr) {
1377cass_iterator_free(itr);
1380 if(items_iterator !=
nullptr) {
1381 while(cass_iterator_next(items_iterator.get())) {
1382 constCassValue*
key= cass_iterator_get_map_key(items_iterator.get());
1383 constCassValue*
val= cass_iterator_get_map_value(items_iterator.get());
1400 result.emplace(std::move(k), std::move(v));
1407 "Failed to convert Cassandra value to map<>: unsupported data type (Cassandra type - "+
1408to_string(
static_cast<int>(
type)) +
")" 1413 template<
typenameF =
int>
1416 constCassValue * clm =
GetColumn(ifld);
1417 const unsigned char*
output=
nullptr;
1419CassError err = cass_value_get_bytes(clm, &
output, &outlen);
1420 if(err != CASS_OK) {
1423 if(
len< outlen) {
1424 RAISE_DB_ERROR(eFetchFailed,
"Failed to fetch blob data: insufficient buffer provided");
1430 template<
typenameF =
int>
1437 constCassValue * clm =
GetColumn(ifld);
1438 const unsigned char*
output=
nullptr;
1440CassError rc = cass_value_get_bytes(clm, &
output, &outlen);
1441 if(rc == CASS_ERROR_LIB_NULL_VALUE) {
1445 if(rc != CASS_OK) {
1454 template<
typenameF =
int>
1457 constCassValue * clm =
GetColumn(ifld);
1458 const unsigned char*
output=
nullptr;
1460CassError rc = cass_value_get_bytes(clm, &
output, &outlen);
1461 if(rc != CASS_ERROR_LIB_NULL_VALUE && rc != CASS_OK) {
1475 if(ondata3 == cb) {
1481 RAISE_DB_ERROR(eSeqFailed,
"Future callback has already been assigned");
1484 RAISE_DB_ERROR(eSeqFailed,
"Future callback can not be reset");
1493 NCBI_STD_DEPRECATED(
"SetOnExecute is deprecated, unsafe to use and will be deleted after 01/01/2023")
#define BEGIN_IDBLOB_SCOPE
CassConsistency TCassConsistency
void(*)(CCassQuery &, void *) TCassQueryOnExecuteCallback
#define RAISE_CASS_ERROR(errc, dberr, comm)
#define RAISE_DB_ERROR(errc, comm)
static void Perform(unsigned int optimeoutms, const std::function< bool()> &PreLoopCB, const std::function< void(const CCassandraException &)> &DbExceptCB, const std::function< bool(bool)> &OpCB)
CCassConnection(const CCassConnection &)=delete
void SetCredentials(string const &username, string const &password)
Set credentials to use connecting to Cassandra cluster.
static void DisableLogging()
void SetFallBackWrConsistency(unsigned int value)
int16_t GetPort() const
Get port number this connection uses to access cluster.
static void SetLogging(EDiagSev severity)
unsigned int QryTimeoutMks() const
int GetMaxRetries() const
void SetConnProp(const string &host, const string &user, const string &pwd, int16_t port=0)
Deprecated. Use SetConnectionPoint() + SetCredentials()
void SetFallBackRdConsistency(bool value)
void SetBlackList(const string &blacklist)
Add the list of hosts denied to be used.
bool GetFallBackRdConsistency() const
static const unsigned int kCassMaxTimeout
unsigned int m_ctimeoutms
static void UpdateLogging()
loadbalancing_policy_t m_loadbalancing
vector< string > GetColumnNames(string const &keyspace, string const &table) const
bool m_fallback_readconsistency
unsigned int m_qtimeoutms
void GetTokenRanges(TTokenRanges &ranges)
void SetMaxRetries(int value)
void SetKeepAlive(unsigned int keepalive)
void SetTimeouts(unsigned int ConnTimeoutMs)
void SetRtLimits(unsigned int numThreadsIo, unsigned int numConnPerHost)
unsigned int GetFallBackWrConsistency() const
unsigned int m_FallbackWriteConsistency
static atomic< CassUuidGen * > m_CassUuidGen
unsigned int m_last_query_cnt
void SetLatencyAware(bool value)
string GetDatacenterName()
void SetKeyspace(const string &keyspace)
Warning! Not suitable for usage in multi-threaded environment in case of multiple keyspaces.
vector< string > GetClusteringKeyColumnNames(string const &keyspace, string const &table) const
unordered_map< string, const CassPrepared * > TPreparedList
void SetTokenAware(bool value)
const CassPrepared * Prepare(const string &sql)
static shared_ptr< CCassConnection > Create()
static EDiagSev m_LoggingLevel
int64_t GetActiveStatements() const
static string NewTimeUUID()
unsigned int QryTimeoutRetryMs() const
static bool m_LoggingInitialized
void SetQueryTimeoutRetry(unsigned int timeout_ms)
vector< string > GetPartitionKeyColumnNames(string const &keyspace, string const &table) const
static constexpr int16_t kCassDefaultPort
shared_ptr< CCassQuery > NewQuery()
unsigned int m_qtimeout_retry_ms
vector< pair< TTokenValue, TTokenValue > > TTokenRanges
void SetLoadBalancing(loadbalancing_policy_t policy)
atomic< int64_t > m_active_statements
vector< string > GetKeyspaces() const
vector< string > GetLocalPeersAddressList(string const &datacenter, unsigned int timeout=0)
static bool m_LoggingEnabled
unsigned int QryTimeoutMs() const
void SetConnectionPoint(string const &hostlist, int16_t port=0)
Set connection point parameters.
vector< SCassSizeEstimate > GetSizeEstimates(string const &datacenter, string const &keyspace, string const &table)
vector< string > GetTables(string const &keyspace) const
virtual ~CCassConnection()
SCassMetrics GetMetrics()
unsigned int m_numThreadsIo
unsigned int m_numConnPerHost
CCassConnection & operator=(const CCassConnection &)=delete
static constexpr TCassConsistency kAll
static constexpr TCassConsistency kOne
static constexpr TCassConsistency kAny
static constexpr TCassConsistency kUnknown
static constexpr TCassConsistency kEachQuorum
static constexpr TCassConsistency kThree
static constexpr TCassConsistency kLocalQuorum
static constexpr TCassConsistency kTwo
static TCassConsistency FromString(string_view value)
static constexpr TCassConsistency kLocalOne
CCassConsistency()=delete
static constexpr TCassConsistency kQuorum
static constexpr TCassConsistency kSerial
static constexpr TCassConsistency kLocalSerial
static constexpr array< pair< string_view, TCassConsistency >, 11 > sx_ConsistencyNames
virtual ~CCassDataCallbackReceiver()=default
int64_t AsInt64(void) const
int32_t AsInt16(void) const
int32_t AsInt32(void) const
CassValueType GetType() const
void Assign(const map< K, V > &v)
unique_ptr< CassCollection, function< void(CassCollection *)> > m_collection
void Assign(const tuple< T... > &t)
void AssignDate(int64_t v)
void Assign(const unsigned char *buf, size_t len)
void AssignSet(const set< I > &v)
string AsStringForDebug() const
union CCassPrm::simpleval_t m_simpleval
int32_t AsInt8(void) const
bool IsAssigned(void) const
CCassPrm(CCassPrm &&)=default
unique_ptr< CassTuple, function< void(CassTuple *)> > m_tuple
void Bind(CassStatement *statement, unsigned int idx)
CCassPrm.
void AsString(string &value) const
void AssignSet(I begin, I end, size_t sz)
static constexpr size_t kMaxVarcharDebugBytes
void AssignList(I begin, I end, size_t sz)
shared_ptr< CCassQueryCbRef > m_self
weak_ptr< CCassQuery > m_query
void Detach(bool remove_self_ref=false)
weak_ptr< CCassDataCallbackReceiver > m_ondata3
CCassQueryCbRef(shared_ptr< CCassQuery > query)
static void s_OnFutureCb(CassFuture *, void *data)
void Attach(shared_ptr< CCassDataCallbackReceiver > ondata3)
virtual ~CCassQueryCbRef()
void BindInt16(int iprm, int16_t value)
CCassQuery & operator=(const CCassQuery &)=delete
int32_t ParamAsInt32(int iprm)
void BindInt8(int iprm, int8_t value)
int16_t FieldGetInt16Value(F ifld) const
shared_ptr< CCassConnection > m_connection
string FieldGetStrValueDef(F ifld, const string &_default) const
static const unsigned int DEFAULT_PAGE_SIZE
void BindTuple(int iprm, const tuple< T... > &value)
weak_ptr< CCassDataCallbackReceiver > m_ondata3
void SetHost(const string &hostname)
int64_t ParamAsInt64(int iprm)
void CheckParamAssigned(int iprm) const
void BindList(int iprm, I begin, I end, size_t sz)
TCassConsistency m_serial_consistency
bool m_use_per_request_timeout
void FieldGetMapValue(F ifld, map< K, V > &result) const
void SetupOnDataCallback()
CassValueType ParamType(int iprm) const
void BindStr(int iprm, const string &value)
void FieldGetSetValues(F ifld, std::set< T > &values) const
virtual bool IsAsync(void) const
virtual string ToString(void) const
void SetSerialConsistency(TCassConsistency c)
virtual async_rslt_t WaitAsync(unsigned int timeoutmks)
virtual bool IsEOF(void) const
void Restart(TCassConsistency c=CCassConsistency::kLocalQuorum)
void BindBytes(int iprm, const unsigned char *buf, size_t len)
unsigned int Timeout(void) const
int8_t FieldGetInt8Value(F ifld, int8_t _default) const
TCassQueryOnExecuteCallback m_onexecute
void BindInt64(int iprm, int64_t value)
const CassResult * m_result
void SetTimeout()
CCassQuery.
CCassQuery(const shared_ptr< CCassConnection > &connection)
int16_t FieldGetInt16Value(F ifld, int16_t _default) const
bool IsActive(void) const
T FieldGetTupleValue(F ifld) const
CCassDataType FieldType(F ifld) const
string ParamAsStrForDebug(int iprm) const
void BindMap(int iprm, const map< K, V > &value)
void UsePerRequestTimeout(bool value)
size_t FieldGetBlobValue(F ifld, unsigned char *buf, size_t len) const
int32_t FieldGetInt32Value(F ifld, int32_t _default) const
int8_t FieldGetInt8Value(F ifld) const
void ProcessFutureResult()
void FieldGetStrValueDef(F ifld, string &value, const string &_default) const
string GetColumnDef(F ifld) const
double FieldGetFloatValue(F ifld, double _default) const
string ParamAsStr(int iprm) const
CassIterator * m_iterator
void BindInt32(int iprm, int32_t value)
void RestartExecute(TCassConsistency c=CCassConsistency::kLocalQuorum)
bool FieldGetBoolValue(F ifld, bool _default) const
size_t FieldGetBlobSize(F ifld) const
const CassValue * GetColumn(F ifld) const
void SetOnExecute(void(*Cb)(CCassQuery &, void *), void *Data)
int64_t FieldGetInt64Value(F ifld, int64_t _default) const
void BindDate(int iprm, int64_t value)
void Query(TCassConsistency c=CCassConsistency::kLocalQuorum, bool run_async=false, bool allow_prepare=true, unsigned int page_size=DEFAULT_PAGE_SIZE)
bool FieldGetBoolValue(F ifld) const
void FieldGetContainerValue(F ifld, I insert_iterator) const
string FieldGetStrValue(F ifld) const
CassStatement * m_statement
void BindSet(int iprm, I begin, I end, size_t sz)
void CheckParamExists(int iprm) const
void Execute(TCassConsistency c=CCassConsistency::kLocalQuorum, bool run_async=false, bool allow_prepare=true)
size_t FieldGetBlobRaw(F ifld, const unsigned char **rawbuf) const
void SetOnData3(shared_ptr< CCassDataCallbackReceiver > cb)
int32_t FieldGetInt32Value(F ifld) const
void BindSet(int iprm, const set< I > &v)
async_rslt_t Wait(unsigned int timeoutmks)
CCassQuery(const CCassQuery &)=delete
void SetSQL(const string &sql, unsigned int PrmCount)
unsigned int GetRequestTimeoutMs() const
unsigned int m_qtimeoutms
void FieldGetStrValue(F ifld, string &value) const
bool FieldIsNull(F ifld) const
void InternalClose(bool closebatch)
void FieldGetSetValues(F ifld, std::vector< T > &values) const
int64_t FieldGetInt64Value(F ifld) const
size_t ParamCount(void) const
shared_ptr< CCassQueryCbRef > m_cb_ref
double FieldGetFloatValue(F ifld) const
void RestartQuery(TCassConsistency c=CCassConsistency::kLocalQuorum)
shared_ptr< CCassConnection > GetConnection(void)
const_iterator begin() const
const_iterator end() const
The NCBI C++ standard methods for dealing with std::string.
static SQLCHAR output[256]
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
EDiagSev
Severity level for the posted diagnostics.
const string & GetMsg(void) const
Get message string.
void AddToMessage(const string &add_msg)
virtual const char * what(void) const noexcept
Standard report (includes full backlog).
#define NCBI_STD_DEPRECATED(message)
static TNumeric StringToNumeric(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to a numeric value.
static string Quote(const CTempString str, char quote_char='"', char escape_char = '\\')
Quote string (generic version).
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n table
void CassValueConvert< string >(const CassValue *Val, string &v)
void CassValueConvert(const CassValue *Val, T &t)
void CassValueConvert< double >(const CassValue *Val, double &v)
void CassValueConvert< int32_t >(const CassValue *Val, int32_t &v)
void CassValueConvert< int64_t >(const CassValue *Val, int64_t &v)
void CassValueConvert< bool >(const CassValue *Val, bool &v)
void CassValueConvert< int8_t >(const CassValue *Val, int8_t &v)
void ValueToCassCollection(const T &v, CassCollection *coll)
void ValueToCassTuple(const std::tuple< T... > &value, CassTuple *dest)
void CassValueConvert< int16_t >(const CassValue *Val, int16_t &v)
double value_type
The numeric datatype used by the parser.
const struct ncbi::grid::netcache::search::fields::KEY key
const GenericPointer< typename T::ValueType > T2 value
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
#define F(x)
Make a parametrized function appear to have only one variable.
Defines NCBI C++ exception handling.
Multi-threading â mutexes; rw-locks; semaphore.
NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.
uint64_t request_timeouts
chrono::microseconds percentile_99th
chrono::microseconds percentile_95th
chrono::microseconds percentile_999th
struct SCassMetrics::@887 requests
uint64_t total_connections
chrono::microseconds median
chrono::microseconds percentile_75th
double fifteen_minute_rate
chrono::microseconds percentile_98th
chrono::microseconds stddev
struct SCassMetrics::@888 stats
chrono::microseconds mean
uint64_t connection_timeouts
struct SCassMetrics::@889 errors
int64_t mean_partition_size
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4