37 #include <vdb/vdb-priv.h>
39 #include <klib/namelist.h>
40 #include <kdb/table.h>
42 #include <kdb/namelist.h>
62 "Cannot open KTable", rc);
84 "Cannot open KMetadata", rc);
90 const char* node_name,
93 if (
rc_t rc = KMetadataOpenNodeRead(meta,
x_InitPtr(), node_name) ) {
95 if ( GetRCObject(rc) == RCObject(rcPath) &&
96 GetRCState(rc) == rcNotFound ) {
99 "Cannot open KMDataNode", rc, node_name);
104 "Cannot open KMDataNode", rc, node_name);
111 const char* node_name,
114 if (
rc_t rc = KMDataNodeOpenNodeRead(parent,
x_InitPtr(), node_name) ) {
116 if ( GetRCObject(rc) == RCObject(rcPath) &&
117 GetRCState(rc) == rcNotFound ) {
120 "Cannot open child KMDataNode", rc, node_name);
125 "Cannot open child KMDataNode", rc, node_name);
134 if (
rc_t rc = KMDataNodeReadAsU32(*
this, &
value) ) {
136 "Cannot read metadata node value", rc);
145 if (
rc_t rc = KMDataNodeReadAsU64(*
this, &
value) ) {
147 "Cannot read metadata node value", rc);
156 pair<size_t, size_t> ret;
158 &ret.first, &ret.second) ) {
160 "Cannot read metadata node data", rc);
169 if ( ret.first !=
size ) {
171 "Cannot read all requested data from metadata node",
172 RC(rcApp, rcData, rcRetrieving, rcSize, rcTooBig));
181 "Cannot get metadata node child list", rc);
183 if (
rc_t rc = KNamelistCount(*
this, &
m_Size) ) {
185 "Cannot get size of metadata node child list", rc);
192 if ( index >=
size() ) {
194 "Invalid index for a namelist",
195 RC(rcApp, rcData, rcRetrieving, rcOffset, rcTooBig),
199 if (
rc_t rc = KNamelistGet(*
this,
uint32_t(index), &ret) ) {
201 "Cannot get name from a namelist", rc, index);
#define NCBI_THROW3(exc_cls, err_code, msg, extra1, extra2)
Uint4 GetUint4(void) const
pair< size_t, size_t > TryToGetData(char *buffer, size_t size, size_t offset=0) const
CKMDataNode(const CKMetadata &meta, const char *node_name, EMissing missing=eMissing_Throw)
Uint8 GetUint8(void) const
void GetData(char *buffer, size_t size, size_t offset=0) const
const char * operator[](size_t index) const
CKNameList(const CKMDataNode &parent)
CKTable(const CVDBTable &table)
TObject ** x_InitPtr(void)
#define NCBI_THROW2(exception_class, err_code, message, extra)
Throw exception with extra parameter.
uint32_t Uint4
4-byte (32-bit) unsigned integer
uint64_t Uint8
8-byte (64-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n table
DEFINE_SRA_REF_TRAITS(KTable, const)
const struct ncbi::grid::netcache::search::fields::SIZE size
static const char table_name[]
static pcre_uint8 * buffer
unsigned __int64 uint64_t