25 #include "bson/bson.h"
32 #define SDB_PAGESIZE_4K 4096
33 #define SDB_PAGESIZE_8K 8192
34 #define SDB_PAGESIZE_16K 16384
35 #define SDB_PAGESIZE_32K 32768
36 #define SDB_PAGESIZE_64K 65536
38 #define SDB_PAGESIZE_DEFAULT 0
41 #define FLG_INSERT_CONTONDUP 0x00000001
44 #define FLG_INSERT_RETURN_OID 0x00000002
46 #define FLG_INSERT_REPLACEONDUP 0x00000004
63 #define SDB_INVALID_HANDLE ((ossValuePtr) 0)
64 typedef ossValuePtr sdbConnectionHandle ;
65 typedef ossValuePtr sdbCSHandle ;
66 typedef ossValuePtr sdbCollectionHandle ;
67 typedef ossValuePtr sdbCursorHandle ;
68 typedef ossValuePtr sdbReplicaGroupHandle ;
69 typedef ossValuePtr sdbNodeHandle ;
70 typedef ossValuePtr sdbDomainHandle ;
71 typedef ossValuePtr sdbLobHandle ;
72 typedef ossValuePtr sdbDCHandle ;
78 const CHAR *pDescription,
79 const CHAR *pDetail ) ;
91 #define sdbCreateReplicaNode sdbCreateNode
93 #define sdbRemoveReplicaNode sdbRemoveNode
95 #define sdbGetReplicaNodeMaster sdbGetNodeMaster
97 #define sdbGetReplicaNodeSlave sdbGetNodeSlave
99 #define sdbGetReplicaNodeByName sdbGetNodeByName
101 #define sdbGetReplicaNodeByHost sdbGetNodeByHost
103 #define sdbGetReplicaNodeSddr sdbGetNodeAddr
105 #define sdbStartReplicaNode sdbStartNode
107 #define sdbStopReplicaNode sdbStopNode
109 #define sdbReleaseReplicaNode sdbReleaseNode
112 #define QUERY_FORCE_HINT 0x00000080
114 #define QUERY_PARALLED 0x00000100
116 #define QUERY_WITH_RETURNDATA 0x00000200
141 SDB_EXPORT INT32
sdbConnect (
const CHAR *pHostName,
const CHAR *pServiceName,
142 const CHAR *pUsrName,
const CHAR *pPasswd ,
143 sdbConnectionHandle *handle ) ;
157 SDB_EXPORT INT32
sdbConnect1 (
const CHAR **pConnAddrs, INT32 arrSize,
158 const CHAR *pUsrName,
const CHAR *pPasswd ,
159 sdbConnectionHandle *handle ) ;
175 SDB_EXPORT INT32
sdbSecureConnect (
const CHAR *pHostName,
const CHAR *pServiceName,
176 const CHAR *pUsrName,
const CHAR *pPasswd ,
177 sdbConnectionHandle *handle ) ;
192 const CHAR *pUsrName,
const CHAR *pPasswd ,
193 sdbConnectionHandle *handle ) ;
199 SDB_EXPORT
void sdbDisconnect ( sdbConnectionHandle handle ) ;
224 SDB_EXPORT INT32
sdbCreateUsr( sdbConnectionHandle cHandle,
const CHAR *pUsrName,
225 const CHAR *pPasswd ) ;
247 SDB_EXPORT INT32
sdbCreateUsr2( sdbConnectionHandle cHandle,
const CHAR *pUsrName,
248 const CHAR *pPasswd, bson *options ) ;
259 SDB_EXPORT INT32
sdbRemoveUsr( sdbConnectionHandle cHandle,
const CHAR *pUsrName,
260 const CHAR *pPasswd ) ;
317 sdbCursorHandle *handle );
346 sdbCursorHandle *handle ) ;
382 sdbCursorHandle *handle ) ;
427 sdbCursorHandle *handle ) ;
485 SDB_EXPORT INT32
sdbTraceStart ( sdbConnectionHandle cHandle,
486 UINT32 traceBufferSize,
488 CHAR * breakPoint ) ;
505 SDB_EXPORT INT32
sdbTraceStop ( sdbConnectionHandle cHandle,
506 const CHAR *pDumpFileName ) ;
517 sdbCursorHandle *handle ) ;
551 SDB_EXPORT INT32
sdbGetList ( sdbConnectionHandle cHandle,
556 sdbCursorHandle *handle ) ;
597 SDB_EXPORT INT32
sdbGetList1( sdbConnectionHandle cHandle,
605 sdbCursorHandle *handle ) ;
618 const CHAR *pCollectionFullName,
619 sdbCollectionHandle *handle ) ;
632 const CHAR *pCollectionSpaceName,
633 sdbCSHandle *handle ) ;
647 sdbReplicaGroupHandle *handle ) ;
661 sdbReplicaGroupHandle *handle ) ;
684 SDB_EXPORT INT32
sdbGetRGName ( sdbReplicaGroupHandle cHandle,
685 CHAR *pBuffer, INT32 size ) ;
717 const CHAR *pCollectionSpaceName,
719 sdbCSHandle *handle ) ;
739 const CHAR *pCollectionSpaceName,
741 sdbCSHandle *handle ) ;
752 const CHAR *pCollectionSpaceName ) ;
766 sdbReplicaGroupHandle *handle ) ;
777 const CHAR *pRGName ) ;
796 sdbNodeHandle *handle ) ;
808 sdbNodeHandle *handle ) ;
822 const CHAR *pNodeName,
823 sdbNodeHandle *handle ) ;
839 const CHAR *pHostName,
840 const CHAR *pServiceName,
841 sdbNodeHandle *handle ) ;
858 const CHAR **ppHostName,
859 const CHAR **ppServiceName,
860 const CHAR **ppNodeName,
869 SDB_EXPORT INT32
sdbStartNode ( sdbNodeHandle cHandle ) ;
877 SDB_EXPORT INT32
sdbStopNode ( sdbNodeHandle cHandle ) ;
902 const CHAR *pHostName,
903 const CHAR *pServiceName,
904 const CHAR *pDatabasePath,
921 SDB_EXPORT INT32
sdbCreateNode ( sdbReplicaGroupHandle cHandle,
922 const CHAR *pHostName,
923 const CHAR *pServiceName,
924 const CHAR *pDatabasePath,
939 SDB_EXPORT INT32
sdbRemoveNode ( sdbReplicaGroupHandle cHandle,
940 const CHAR *pHostName,
941 const CHAR *pServiceName,
953 sdbCursorHandle *handle ) ;
964 sdbCursorHandle *handle ) ;
975 sdbCursorHandle *handle ) ;
1011 const CHAR *code ) ;
1022 const CHAR *spName ) ;
1037 sdbCursorHandle *handle ) ;
1055 SDB_EXPORT INT32
sdbEvalJS( sdbConnectionHandle cHandle,
1058 sdbCursorHandle *handle,
1072 const CHAR *pCollectionName,
1073 sdbCollectionHandle *handle ) ;
1089 const CHAR *pCollectionName,
1090 sdbCollectionHandle *handle ) ;
1109 const CHAR *pCollectionName,
1111 sdbCollectionHandle *handle ) ;
1141 const CHAR *pCollectionName ) ;
1153 CHAR *pBuffer, INT32 size ) ;
1168 const CHAR *pOldName,
1169 const CHAR *pNewName,
1181 SDB_EXPORT INT32
sdbGetCLName ( sdbCollectionHandle cHandle,
1182 CHAR *pBuffer, INT32 size ) ;
1194 CHAR *pBuffer, INT32 size ) ;
1215 const CHAR *pSourceRG,
1216 const CHAR *pTargetRG,
1217 const bson *pSplitCondition,
1218 const bson *pSplitEndCondition ) ;
1241 const CHAR *pSourceRG,
1242 const CHAR *pTargetRG,
1243 const bson *pSplitCondition,
1244 const bson *pSplitEndCondition,
1260 const CHAR *pSourceRG,
1261 const CHAR *pTargetRG,
1279 const CHAR *pSourceRG,
1280 const CHAR *pTargetRG,
1301 const CHAR *pIndexName,
1303 BOOLEAN isEnforced ) ;
1325 const CHAR *pIndexName,
1328 INT32 sortBufferSize ) ;
1340 SDB_EXPORT INT32
sdbGetIndexes ( sdbCollectionHandle cHandle,
1341 const CHAR *pIndexName,
1342 sdbCursorHandle *handle ) ;
1352 SDB_EXPORT INT32
sdbDropIndex ( sdbCollectionHandle cHandle,
1353 const CHAR *pIndexName ) ;
1365 SDB_EXPORT INT32
sdbGetCount ( sdbCollectionHandle cHandle,
1385 SDB_EXPORT INT32
sdbGetCount1 ( sdbCollectionHandle cHandle,
1398 SDB_EXPORT INT32
sdbInsert ( sdbCollectionHandle cHandle,
1410 SDB_EXPORT INT32
sdbInsert1 ( sdbCollectionHandle cHandle,
1411 bson *obj, bson_iterator *
id ) ;
1445 SDB_EXPORT INT32
sdbInsert2 ( sdbCollectionHandle cHandle,
1446 bson *obj, INT32 flag, bson_iterator *
id ) ;
1507 SDB_EXPORT INT32
sdbBulkInsert ( sdbCollectionHandle cHandle,
1508 SINT32 flags, bson **obj, SINT32 num ) ;
1526 SDB_EXPORT INT32
sdbUpdate ( sdbCollectionHandle cHandle,
1547 SDB_EXPORT INT32
sdbUpsert ( sdbCollectionHandle cHandle,
1570 SDB_EXPORT INT32
sdbUpsert1 ( sdbCollectionHandle cHandle,
1574 bson *setOnInsert ) ;
1589 SDB_EXPORT INT32
sdbDelete ( sdbCollectionHandle cHandle,
1623 SDB_EXPORT INT32
sdbQuery1 ( sdbCollectionHandle cHandle,
1631 sdbCursorHandle *handle ) ;
1657 SDB_EXPORT INT32
sdbQuery ( sdbCollectionHandle cHandle,
1664 sdbCursorHandle *handle ) ;
1710 sdbCursorHandle *handle ) ;
1750 sdbCursorHandle *handle ) ;
1788 SDB_EXPORT INT32
sdbExplain ( sdbCollectionHandle cHandle,
1797 sdbCursorHandle *handle ) ;
1807 SDB_EXPORT INT32
sdbNext ( sdbCursorHandle cHandle,
1818 SDB_EXPORT INT32
sdbCurrent ( sdbCursorHandle cHandle,
1872 SDB_EXPORT INT32
sdbExec( sdbConnectionHandle cHandle,
1874 sdbCursorHandle *result );
1884 SDB_EXPORT INT32
sdbExecUpdate( sdbConnectionHandle cHandle,
1957 SDB_EXPORT
void sdbReleaseDC ( sdbDCHandle cHandle ) ;
2002 SDB_EXPORT INT32
sdbAggregate ( sdbCollectionHandle cHandle,
2003 bson **obj, SINT32 num,
2004 sdbCursorHandle *handle ) ;
2018 const CHAR *subClFullName,
2030 const CHAR *subClFullName) ;
2079 SDB_EXPORT INT32
sdbListBackup ( sdbConnectionHandle cHandle,
2084 sdbCursorHandle *handle ) ;
2124 SDB_EXPORT INT32
sdbListTasks ( sdbConnectionHandle cHandle,
2129 sdbCursorHandle *handle ) ;
2141 SDB_EXPORT INT32
sdbWaitTasks ( sdbConnectionHandle cHandle,
2142 const SINT64 *taskIDs,
2156 SDB_EXPORT INT32
sdbCancelTask ( sdbConnectionHandle cHandle,
2203 SDB_EXPORT INT32
sdbIsValid( sdbConnectionHandle cHandle, BOOLEAN *result ) ;
2205 SDB_EXPORT INT32 _sdbMsg ( sdbConnectionHandle cHandle,
const CHAR *msg ) ;
2228 const CHAR *pDomainName,
2230 sdbDomainHandle *handle ) ;
2240 SDB_EXPORT INT32
sdbDropDomain ( sdbConnectionHandle cHandle,
2241 const CHAR *pDomainName ) ;
2253 SDB_EXPORT INT32
sdbGetDomain ( sdbConnectionHandle cHandle,
2254 const CHAR *pDomainName,
2255 sdbDomainHandle *handle ) ;
2279 sdbCursorHandle *handle ) ;
2301 const bson *options ) ;
2312 sdbCursorHandle *cursor ) ;
2323 sdbCursorHandle *cursor ) ;
2334 sdbCursorHandle *cursor ) ;
2356 SDB_EXPORT INT32 sdbForceSession( sdbConnectionHandle cHandle,
2372 SDB_EXPORT INT32
sdbOpenLob( sdbCollectionHandle cHandle,
2373 const bson_oid_t *oid,
2375 sdbLobHandle *lobHandle ) ;
2387 SDB_EXPORT INT32
sdbWriteLob( sdbLobHandle lobHandle,
2403 SDB_EXPORT INT32
sdbReadLob( sdbLobHandle lobHandle,
2414 SDB_EXPORT INT32
sdbCloseLob( sdbLobHandle *lobHandle ) ;
2424 SDB_EXPORT INT32
sdbRemoveLob( sdbCollectionHandle cHandle,
2425 const bson_oid_t *oid ) ;
2461 SDB_EXPORT INT32
sdbSeekLob( sdbLobHandle lobHandle,
2463 SDB_LOB_SEEK whence ) ;
2473 SDB_EXPORT INT32
sdbListLobs( sdbCollectionHandle cHandle,
2474 sdbCursorHandle *cursor ) ;
2485 sdbCursorHandle *cursor ) ;
2495 SDB_EXPORT INT32
sdbReelect( sdbReplicaGroupHandle cHandle,
2496 const bson *options ) ;
2506 const bson *options ) ;
2517 const CHAR *fullName ) ;
2538 SDB_EXPORT INT32
sdbDetachNode( sdbReplicaGroupHandle cHandle,
2539 const CHAR *hostName,
2540 const CHAR *serviceName,
2541 const bson *options ) ;
2560 SDB_EXPORT INT32
sdbAttachNode( sdbReplicaGroupHandle cHandle,
2561 const CHAR *hostName,
2562 const CHAR *serviceName,
2563 const bson *options ) ;
2576 const bson *args ) ;
2595 SDB_EXPORT INT32 sdbGetDCName( sdbDCHandle cHandle, CHAR *pBuffer, INT32 size ) ;
2604 SDB_EXPORT INT32 sdbGetDC( sdbConnectionHandle cHandle, sdbDCHandle *handle ) ;
2613 SDB_EXPORT INT32 sdbGetDCDetail( sdbDCHandle cHandle, bson *retInfo ) ;
2621 SDB_EXPORT INT32 sdbActivateDC( sdbDCHandle cHandle ) ;
2629 SDB_EXPORT INT32 sdbDeactivateDC( sdbDCHandle cHandle ) ;
2638 SDB_EXPORT INT32 sdbEnableReadOnly( sdbDCHandle cHandle, BOOLEAN isReadOnly ) ;
2648 SDB_EXPORT INT32 sdbCreateImage( sdbDCHandle cHandle,
const CHAR *pCataAddrList ) ;
2656 SDB_EXPORT INT32 sdbRemoveImage( sdbDCHandle cHandle ) ;
2664 SDB_EXPORT INT32 sdbEnableImage( sdbDCHandle cHandle ) ;
2672 SDB_EXPORT INT32 sdbDisableImage( sdbDCHandle cHandle ) ;
2706 SDB_EXPORT INT32 sdbAttachGroups( sdbDCHandle cHandle, bson *info ) ;
2715 SDB_EXPORT INT32 sdbDetachGroups( sdbDCHandle cHandle, bson *info ) ;
2740 SDB_EXPORT INT32
sdbSyncDB( sdbConnectionHandle cHandle,
2799 SDB_EXPORT INT32
sdbSetPDLevel( sdbConnectionHandle cHandle,
2833 const CHAR *pOldName,
2834 const CHAR *pNewName,
2844 sdbConnectionHandle cHandle,
2845 socketInterruptFunc func ) ;