: m_ColumnSeparator(col_separator),
50m_PrintNames(ePrintNames),
51m_ValueFormatting(eNoQuotes),
52m_BlobFormat(eBlobSummary | eBlobAsHex),
60: m_ColumnSeparator(fdump.m_ColumnSeparator),
61m_BlobDumpFname(fdump.m_BlobDumpFname),
62m_PrintNames(fdump.m_PrintNames),
63m_ValueFormatting(fdump.m_ValueFormatting),
64m_BlobFormat(fdump.m_BlobFormat),
66m_QueryStr(fdump.m_QueryStr),
109 stringerr =
"Cannot open text file:";
110err.append(dump_file_name);
149vector<unsigned> key_quote_flags;
150vector<unsigned> data_quote_flags;
191 unsigned char buf[2048];
197unique_ptr<CBDB_BLobStream> blob_stream(
201 out<<
"[LOB, size= " 206blob_stream->Read(
buf, 128, &bytes_read);
207 unsignedsp_counter = 0;
208 for(
unsigned int i= 0;
i< bytes_read; ++
i) {
210 out<< setfill(
'0') <<
hex<< setw(2)
211<< (unsigned)
buf[
i];
212 if(++sp_counter == 4) {
220 if(bytes_read <
size) {
227 out<<
"BLOB. size="<<
size<<
"\n";
231blob_stream->Read(
buf, 2048, &bytes_read);
233 unsignedsp_counter = 0;
234 for(
unsigned int i= 0;
i< bytes_read; ++
i) {
235 out<< setfill(
'0') <<
hex<< setw(2)
236<< (unsigned)
buf[
i];
237 if(++sp_counter == 4) {
241 if(
i> 0 && (
i% 79 == 0)) {
246 for(
unsigned int i= 0;
i< bytes_read; ++
i) {
250}
while(bytes_read);
252 out<<
"\n<<END BLOB>>\n";
268 out<<
"BLOB. size="<<
size<<
"\n";
272blob_stream->Read(
buffer, 2048, &bytes_read);
273ofs.write(
buffer, bytes_read);
274}
while(bytes_read);
302 constvector<unsigned>& quote_flags,
314 unsignedqf = quote_flags[
i];
332 for(
unsigned i= 0;
i<
key->FieldCount(); ++
i) {
341 for(
unsigned i= 0;
i<
data->FieldCount(); ++
i) {
356 flags->push_back(0);
359 flags->push_back(1);
366 flags->push_back(bstr ? 1 : 0);
BDB library BLOB support.
Berkeley BDB file cursor.
static const char * kNullStr
BDB File covertion into text.
Query parser for BDB library.
Berkeley DB BLOB File class.
BDB Data Field Buffer manager class.
CBDB_DumpScanner(CBDB_File &dbf)
virtual EScanAction OnRecordFound()
Called when scanner finds a record matching the query terms Function returns a control code (EScanAct...
Base class for constructing BDB fields.
Berkeley DB file cursor class.
Utility class to convert DBD files into text files.
Scans the BDB file, searches the matching records.
Query class incapsulates query tree (query clause) and implements set of utility methods to construct...
std::ofstream out("events_result.xml")
main entry point for tests
size_t LobSize() const
Get LOB size. Becomes available right after successfull Fetch.
CBDB_BLobStream * CreateStream()
Creates stream like object to retrieve or write BLOB by chunks.
void SetQuery(const string &query_str)
Set query filter.
CBDB_FileDumper(const string &col_separator="\t")
Constructor.
void SetCondition(ECondition cond_from, ECondition cond_to=eNotSet)
Set search condition(type of interval)
EValueFormatting m_ValueFormatting
void CopyFrom(const CBDB_File &dbf)
Copy record (fields) from another BDB file (MUST have the same structure)
void PrintHeader(CNcbiOstream &out, const CBDB_BufferManager *key, const CBDB_BufferManager *data)
EPrintFieldNames m_PrintNames
void Dump(const string &dump_file_name, CBDB_File &db)
Convert BDB file into text file.
void x_DumpFields(CNcbiOstream &out, const CBDB_BufferManager &bman, const vector< unsigned > "e_flags, bool is_key)
EBDB_ErrCode Insert(EAfterWrite write_flag=eDiscardData)
Insert new record.
const CBDB_BufferManager * GetKeyBuffer() const
Get Buffer manager for key section of the file.
CBDB_FileDumper & operator=(const CBDB_FileDumper &fdump)
const CBDB_BufferManager * GetDataBuffer() const
Get Buffer manager for data section of the file.
unsigned int m_RecordsDumped
EBDB_ErrCode Fetch(EFetchDirection fdir=eDefault)
Fetch record.
CBDB_File & GetDBFile()
Return database file on which cursor is based.
void x_SetQuoteFlags(vector< unsigned > *flags, const CBDB_BufferManager &bman)
EScanAction
Scanner control codes.
void BDB_ParseQuery(const char *query_str, CBDB_Query *query)
Parse query string, build the correct the query statement.
bool StaticEvaluate(CBDB_Query &query)
Static query evaluation without changing current position in the database file.
@ eContinue
Keep scanning.
bool IsNull() const
Return TRUE if field is NULL.
unsigned int FieldCount() const
Return number of fields attached using function Bind.
const CBDB_Field & GetField(unsigned int idx) const
const string & GetName() const
Return symbolic name for the field.
virtual string GetString() const =0
#define BDB_THROW(errcode, message)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ofstream CNcbiOfstream
Portable alias for ofstream.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
static void hex(unsigned char c)
const struct ncbi::grid::netcache::search::fields::SIZE size
const struct ncbi::grid::netcache::search::fields::KEY key
NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.
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