SequoiaDB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
client.hpp File Reference

C++ Client Driver. More...

#include "core.hpp"
#include "clientDef.h"
#include "bson/bson.hpp"
#include "fromjson.hpp"
#include "spd.h"
#include <map>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  sdbclient::_sdbCursor
 
class  sdbclient::sdbCursor
 Database operation interfaces of cursor. More...
 
class  sdbclient::_sdbCollection
 
class  sdbclient::sdbCollection
 Database operation interfaces of collection. More...
 
class  sdbclient::_sdbNode
 
class  sdbclient::sdbNode
 Database operation interfaces of node. This class takes the place of class "sdbReplicaNode". More...
 
class  sdbclient::_sdbReplicaGroup
 
class  sdbclient::sdbReplicaGroup
 Database operation interfaces of replica group. More...
 
class  sdbclient::_sdbCollectionSpace
 
class  sdbclient::sdbCollectionSpace
 Database operation interfaces of collection space. More...
 
class  sdbclient::_sdbDomain
 
class  sdbclient::sdbDomain
 Database operation interfaces of domain. More...
 
class  sdbclient::_sdbDataCenter
 
class  sdbclient::sdbDataCenter
 Database operation interfaces of data center. More...
 
class  sdbclient::_sdbLob
 
class  sdbclient::sdbLob
 Database operation interfaces of large object. More...
 
class  sdbclient::_sdb
 
class  sdbclient::sdb
 Database operation interfaces of admin. More...
 

Namespaces

namespace  sdbclient
 SequoiaDB Driver for C++.
 

Macros

#define RELEASE_INNER_HANDLE(handle)
 
#define DLLEXPORT   SDB_EXPORT
 
#define SDB_PAGESIZE_4K   4096
 
#define SDB_PAGESIZE_8K   8192
 
#define SDB_PAGESIZE_16K   16384
 
#define SDB_PAGESIZE_32K   32768
 
#define SDB_PAGESIZE_64K   65536
 
#define SDB_PAGESIZE_DEFAULT   0
 
#define FLG_INSERT_CONTONDUP   0x00000001
 
#define FLG_INSERT_RETURN_OID   0x00000002
 
#define FLG_INSERT_REPLACEONDUP   0x00000004
 
#define SDB_CLIENT_SOCKET_TIMEOUT_DFT   10000
 
#define sdbReplicaNode   sdbNode
 
#define activateReplicaGroup   activateReplicaGroup
 
#define QUERY_FORCE_HINT   0x00000080
 
#define QUERY_PARALLED   0x00000100
 
#define QUERY_WITH_RETURNDATA   0x00000200
 

Typedefs

typedef enum _SDB_LOB_OPEN_MODE SDB_LOB_OPEN_MODE
 The open mode.
 
typedef enum _SDB_LOB_SEEK SDB_LOB_SEEK
 The whence of seek.
 
typedef enum sdbNodeStatus sdbclient::sdbNodeStatus
 
typedef class _sdb sdbclient::_sdb
 
typedef class sdb sdbclient::sdb
 Class sdb definition for sdb.
 

Enumerations

enum  _SDB_LOB_OPEN_MODE { SDB_LOB_CREATEONLY = 0x00000001, SDB_LOB_READ = 0x00000004 }
 
enum  _SDB_LOB_SEEK { SDB_LOB_SEEK_SET = 0, SDB_LOB_SEEK_CUR, SDB_LOB_SEEK_END }
 
enum  sdbclient::sdbNodeStatus { SDB_NODE_ALL = 0, SDB_NODE_ACTIVE, SDB_NODE_INACTIVE, SDB_NODE_UNKNOWN }
 

Functions

SDB_EXPORT INT32 sdbclient::initClient (sdbClientConf *config)
 set client global configuration such as cache strategy to improve performance
 

Detailed Description

C++ Client Driver.

Macro Definition Documentation

#define FLG_INSERT_CONTONDUP   0x00000001

The flags represent whether bulk insert continue when hitting index key duplicate error

#define FLG_INSERT_REPLACEONDUP   0x00000004

The flag represent replacing the existing record by the new record and continuing when insert hitting index key duplicate error

#define FLG_INSERT_RETURN_OID   0x00000002

The flag represent whether insert return the "_id" field of the record for user

#define QUERY_FORCE_HINT   0x00000080

Force to use specified hint to query, if database have no index assigned by the hint, fail to query.

#define QUERY_PARALLED   0x00000100

Enable parallel sub query, each sub query will finish scanning different part of the data.

#define QUERY_WITH_RETURNDATA   0x00000200

In general, query won't return data until cursor gets from database, when add this flag, return data in query response, it will be more high-performance

#define RELEASE_INNER_HANDLE (   handle)
Value:
do \
{ \
if ( handle ) \
{ \
delete handle ; \
handle = NULL ; \
} \
} while( 0 )

This micro is for internal use, not a public api, it will be removed in the future

#define SDB_PAGESIZE_DEFAULT   0

0 means using database's default pagesize, it 64k now

#define sdbReplicaNode   sdbNode

class name 'sdbReplicaNode' will be deprecated in version 2.x, use 'sdbNode' instead of it.

Enumeration Type Documentation

Enumerator:
SDB_LOB_CREATEONLY 

Open a new lob only

SDB_LOB_READ 

Open an existing lob to read

Enumerator:
SDB_LOB_SEEK_SET 

Seek from the beginning of file

SDB_LOB_SEEK_CUR 

Seek from the current place

SDB_LOB_SEEK_END 

Seek from the end of file