00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _EYEDB_API_LIB_H
00026 #define _EYEDB_API_LIB_H
00027
00028 #include <eyedblib/rpc_fe.h>
00029 #include "rpc_lib.h"
00030 #include <eyedblib/rpcdb.h>
00031 #include <eyedb/internals/ObjectHeader.h>
00032
00033 namespace eyedb {
00034
00035 #ifndef _IDB_KERN_
00036 typedef union {
00037 eyedblib::int32 a_int;
00038 eyedblib::int64 a_int64;
00039 char *a_string;
00040 rpc_ClientData a_data;
00041
00042
00043 rpcDB_LocalDBContext a_ldbctx;
00044 eyedbsm::Oid a_oid;
00045 Bool a_bool;
00046 RPCStatusRec a_status;
00047 } ClientArg;
00048
00049 extern rpc_ClientFunction
00050 *DBMCREATE_RPC,
00051 *DBMUPDATE_RPC,
00052
00053 *DBCREATE_RPC,
00054 *DBDELETE_RPC,
00055
00056 *DBINFO_RPC,
00057 *DBMOVE_RPC,
00058 *DBCOPY_RPC,
00059 *DBRENAME_RPC,
00060
00061 *USER_ADD_RPC,
00062 *USER_DELETE_RPC,
00063 *USER_PASSWD_SET_RPC,
00064 *PASSWD_SET_RPC,
00065
00066 *DEFAULT_DBACCESS_SET_RPC,
00067 *USER_DBACCESS_SET_RPC,
00068 *USER_SYSACCESS_SET_RPC,
00069
00070 *BACKEND_INTERRUPT_RPC,
00071
00072 *TRANSACTION_BEGIN_RPC,
00073 *TRANSACTION_ABORT_RPC,
00074 *TRANSACTION_COMMIT_RPC,
00075
00076 *TRANSACTION_PARAMS_SET_RPC,
00077 *TRANSACTION_PARAMS_GET_RPC,
00078
00079 *DBOPEN_RPC,
00080 *DBOPENLOCAL_RPC,
00081 *DBCLOSE_RPC,
00082
00083 *OBJECT_CREATE_RPC,
00084 *OBJECT_READ_RPC,
00085 *OBJECT_WRITE_RPC,
00086 *OBJECT_DELETE_RPC,
00087 *OBJECT_HEADER_READ_RPC,
00088 *OBJECT_SIZE_MODIFY_RPC,
00089 *OBJECT_PROTECTION_SET_RPC,
00090 *OBJECT_PROTECTION_GET_RPC,
00091 *OBJECT_CHECK_RPC,
00092
00093 *OID_MAKE_RPC,
00094
00095 *DATA_CREATE_RPC,
00096 *DATA_READ_RPC,
00097 *DATA_WRITE_RPC,
00098 *DATA_DELETE_RPC,
00099 *DATA_SIZE_GET_RPC,
00100 *DATA_SIZE_MODIFY_RPC,
00101
00102 *VDDATA_CREATE_RPC,
00103 *VDDATA_WRITE_RPC,
00104 *VDDATA_DELETE_RPC,
00105
00106 *SCHEMA_COMPLETE_RPC,
00107
00108 *ATTRIBUTE_INDEX_CREATE_RPC,
00109 *ATTRIBUTE_INDEX_REMOVE_RPC,
00110
00111 *INDEX_CREATE_RPC,
00112 *INDEX_REMOVE_RPC,
00113
00114 *CONSTRAINT_CREATE_RPC,
00115 *CONSTRAINT_DELETE_RPC,
00116
00117 *COLLECTION_GET_BY_IND_RPC,
00118 *COLLECTION_GET_BY_VALUE_RPC,
00119
00120 *SET_OBJECT_LOCK_RPC,
00121 *GET_OBJECT_LOCK_RPC,
00122
00123 *QUERY_LANG_CREATE_RPC,
00124 *QUERY_DATABASE_CREATE_RPC,
00125 *QUERY_CLASS_CREATE_RPC,
00126 *QUERY_COLLECTION_CREATE_RPC,
00127 *QUERY_ATTRIBUTE_CREATE_RPC,
00128 *QUERY_DELETE_RPC,
00129 *QUERY_SCAN_NEXT_RPC,
00130
00131 *EXECUTABLE_CHECK_RPC,
00132 *EXECUTABLE_EXECUTE_RPC,
00133 *EXECUTABLE_SET_EXTREF_PATH_RPC,
00134 *EXECUTABLE_GET_EXTREF_PATH_RPC,
00135
00136 *OQL_CREATE_RPC,
00137 *OQL_DELETE_RPC,
00138 *OQL_GETRESULT_RPC,
00139
00140 *SET_CONN_INFO_RPC,
00141 *CHECK_AUTH_RPC,
00142
00143 *INDEX_GET_COUNT_RPC,
00144 *INDEX_GET_STATS_RPC,
00145 *INDEX_SIMUL_STATS_RPC,
00146 *COLLECTION_GET_IMPLSTATS_RPC,
00147 *COLLECTION_SIMUL_IMPLSTATS_RPC,
00148 *INDEX_GET_IMPL_RPC,
00149 *COLLECTION_GET_IMPL_RPC,
00150
00151 *SET_LOG_MASK_RPC,
00152
00153 *GET_DEFAULT_DATASPACE_RPC,
00154 *SET_DEFAULT_DATASPACE_RPC,
00155 *DATASPACE_SET_CURRENT_DATAFILE_RPC,
00156 *DATASPACE_GET_CURRENT_DATAFILE_RPC,
00157
00158 *GET_DEFAULT_INDEX_DATASPACE_RPC,
00159 *SET_DEFAULT_INDEX_DATASPACE_RPC,
00160 *GET_INDEX_LOCATIONS_RPC,
00161 *MOVE_INDEX_RPC,
00162 *GET_INSTANCE_CLASS_LOCATIONS_RPC,
00163 *MOVE_INSTANCE_CLASS_RPC,
00164 *GET_OBJECTS_LOCATIONS_RPC,
00165 *MOVE_OBJECTS_RPC,
00166 *GET_ATTRIBUTE_LOCATIONS_RPC,
00167 *MOVE_ATTRIBUTE_RPC,
00168
00169 *CREATE_DATAFILE_RPC,
00170 *DELETE_DATAFILE_RPC,
00171 *MOVE_DATAFILE_RPC,
00172 *DEFRAGMENT_DATAFILE_RPC,
00173 *RESIZE_DATAFILE_RPC,
00174 *GET_DATAFILEI_NFO_RPC,
00175 *RENAME_DATAFILE_RPC,
00176 *CREATE_DATASPACE_RPC,
00177 *UPDATE_DATASPACE_RPC,
00178 *DELETE_DATASPACE_RPC,
00179 *RENAME_DATASPACE_RPC,
00180 *GET_SERVER_OUTOFBAND_DATA_RPC;
00181
00182 #endif
00183
00184 extern rpc_Client *
00185 rpcFeInit(void);
00186
00187 extern void
00188 rpcFeRelease(void);
00189
00190 extern rpc_Client *
00191 getRpcClient(void);
00192
00193 extern RPCStatus
00194 connOpen(const char *, const char *, ConnHandle **, int, std::string &);
00195
00196 extern RPCStatus
00197 connClose(ConnHandle *);
00198
00199 extern RPCStatus
00200 dbmCreate(ConnHandle *, const char *, const char *,
00201 const DbCreateDescription *);
00202
00203 extern RPCStatus
00204 dbmUpdate(ConnHandle *, const char *, const char *, const char *);
00205
00206 extern RPCStatus
00207 dbCreate(ConnHandle *, const char *, const char *, const char *,
00208 const char *, const DbCreateDescription *);
00209
00210 extern RPCStatus
00211 dbDelete(ConnHandle *, const char *, const char *, const char *,
00212 const char *);
00213
00214 extern RPCStatus
00215 dbInfo(ConnHandle *, const char *, const char *, const char *,
00216 const char *, int *, DbCreateDescription *);
00217
00218 extern RPCStatus
00219 dbMove(ConnHandle *, const char *, const char *, const char *,
00220 const char *, const DbCreateDescription *);
00221
00222 extern RPCStatus
00223 dbCopy(ConnHandle *, const char *, const char *, const char *,
00224 const char *, const char *,
00225 Bool, const DbCreateDescription *);
00226
00227 extern RPCStatus
00228 dbRename(ConnHandle *, const char *, const char *, const char *,
00229 const char *, const char *);
00230
00231 extern RPCStatus
00232 userAdd(ConnHandle *, const char *, const char *, const char *,
00233 const char *, const char *, int);
00234
00235 extern RPCStatus
00236 userDelete(ConnHandle *, const char *, const char *, const char *,
00237 const char *);
00238
00239 extern RPCStatus
00240 userPasswdSet(ConnHandle *, const char *, const char *, const char *,
00241 const char *, const char *);
00242
00243 extern RPCStatus
00244 passwdSet(ConnHandle *, const char *, const char *, const char *,
00245 const char *);
00246
00247 extern RPCStatus
00248 defaultDBAccessSet(ConnHandle *, const char *,
00249 const char *, const char *, const char *, int);
00250
00251 extern RPCStatus
00252 userDBAccessSet(ConnHandle *, const char *,
00253 const char *, const char *,
00254 const char *, const char *, int);
00255
00256 extern RPCStatus
00257 userSysAccessSet(ConnHandle *, const char *,
00258 const char *, const char *,
00259 const char *, int);
00260
00261 extern RPCStatus
00262 backendInterrupt(ConnHandle *, int);
00263
00264
00265
00266 extern RPCStatus
00267 transactionBegin(DbHandle *,
00268 const TransactionParams *,
00269 TransactionId *);
00270
00271 extern RPCStatus
00272 transactionCommit(DbHandle *, TransactionId);
00273
00274 extern RPCStatus
00275 transactionAbort(DbHandle *, TransactionId);
00276
00277 extern RPCStatus
00278 transactionParamsSet(DbHandle *,
00279 const TransactionParams *);
00280
00281 extern RPCStatus
00282 transactionParamsGet(DbHandle *, TransactionParams *);
00283
00284
00285
00286 extern RPCStatus
00287 dbOpen(ConnHandle *, const char *, const char *, const char *,
00288 const char *, int, int, int, unsigned int,
00289 int *, void *, char **, int *,
00290 unsigned int *, DbHandle **);
00291
00292 extern RPCStatus
00293 dbClose(const DbHandle *);
00294
00295
00296 extern RPCStatus
00297 objectCreate(DbHandle *, short, const Data, eyedbsm::Oid *);
00298
00299 extern RPCStatus
00300 objectDelete(DbHandle *, const eyedbsm::Oid *, unsigned int flags);
00301
00302 extern RPCStatus
00303 objectRead(DbHandle *, Data, Data *, short *, const eyedbsm::Oid *,
00304 ObjectHeader *phdr, LockMode lockmode, void **);
00305
00306 extern RPCStatus
00307 objectWrite(DbHandle *, const Data, const eyedbsm::Oid *);
00308
00309 extern RPCStatus
00310 objectHeaderRead(DbHandle *, const eyedbsm::Oid *, ObjectHeader *);
00311
00312 extern RPCStatus
00313 objectSizeModify(DbHandle *, unsigned int, const eyedbsm::Oid *);
00314
00315 extern RPCStatus
00316 objectCheck(DbHandle *, const eyedbsm::Oid *, int *, eyedbsm::Oid *);
00317
00318 extern RPCStatus
00319 objectProtectionSet(DbHandle *, const eyedbsm::Oid *, const eyedbsm::Oid *);
00320
00321 extern RPCStatus
00322 objectProtectionGet(DbHandle *, const eyedbsm::Oid *, eyedbsm::Oid *);
00323
00324 extern RPCStatus
00325 oidMake(DbHandle *, short, const Data, unsigned int, eyedbsm::Oid *);
00326
00327
00328 extern RPCStatus
00329 dataCreate(DbHandle *, short, unsigned int, const Data, eyedbsm::Oid *);
00330
00331 extern RPCStatus
00332 dataDelete(DbHandle *, const eyedbsm::Oid *);
00333
00334 extern RPCStatus
00335 dataRead(DbHandle *, int, unsigned int, Data, short *, const eyedbsm::Oid *);
00336
00337 extern RPCStatus
00338 dataWrite(DbHandle *, int, unsigned int, const Data, const eyedbsm::Oid *);
00339
00340 extern RPCStatus
00341 dataSizeGet(DbHandle *, const eyedbsm::Oid *, unsigned int *);
00342
00343 extern RPCStatus
00344 dataSizeModify(DbHandle *, unsigned int, const eyedbsm::Oid *);
00345
00346 extern RPCStatus
00347 schemaComplete(DbHandle *, const char *);
00348
00349
00350 extern RPCStatus
00351 VDdataCreate(DbHandle *, short, const eyedbsm::Oid *, const eyedbsm::Oid *,
00352 int, int, int, const Data, const eyedbsm::Oid *, eyedbsm::Oid *,
00353 Data, Size);
00354
00355 extern RPCStatus
00356 VDdataDelete(DbHandle *,const eyedbsm::Oid *, const eyedbsm::Oid *,
00357 int, const eyedbsm::Oid *, const eyedbsm::Oid *,
00358 Data, Size);
00359
00360 extern RPCStatus
00361 VDdataWrite(DbHandle *, const eyedbsm::Oid *, const eyedbsm::Oid *,
00362 int, int, unsigned int, const Data, const eyedbsm::Oid *, const eyedbsm::Oid *,
00363 Data, Size);
00364
00365
00366 extern RPCStatus
00367 attributeIndexCreate(DbHandle *, const eyedbsm::Oid *, int, int,
00368 eyedbsm::Oid *, Data, Size);
00369
00370 extern RPCStatus
00371 attributeIndexRemove(DbHandle *, const eyedbsm::Oid *, int, int, Data,
00372 Size);
00373
00374 extern RPCStatus
00375 indexCreate(DbHandle *, bool index_move, const eyedbsm::Oid *);
00376
00377 extern RPCStatus
00378 indexRemove(DbHandle *, const eyedbsm::Oid *, int);
00379
00380 extern RPCStatus
00381 constraintCreate(DbHandle *, const eyedbsm::Oid *);
00382
00383 extern RPCStatus
00384 constraintDelete(DbHandle *, const eyedbsm::Oid *, int);
00385
00386
00387 extern RPCStatus
00388 collectionGetByInd(DbHandle *, const eyedbsm::Oid *, int, int *, Data,
00389 int);
00390
00391 extern RPCStatus
00392 collectionGetByOid(DbHandle *, const eyedbsm::Oid *, const eyedbsm::Oid *, int *,
00393 int *);
00394
00395 extern RPCStatus
00396 collectionGetByValue(DbHandle *, const eyedbsm::Oid *, Data, int,
00397 int *, int *);
00398
00399
00400 extern RPCStatus
00401 setObjectLock(DbHandle *, const eyedbsm::Oid *, int, int *);
00402
00403 extern RPCStatus
00404 getObjectLock(DbHandle *, const eyedbsm::Oid *, int *);
00405
00406
00407 extern RPCStatus
00408 queryLangCreate(DbHandle *, const char *, int *, void *, int *);
00409
00410 extern RPCStatus
00411 queryDatabaseCreate(DbHandle *, int *);
00412
00413 extern RPCStatus
00414 queryClassCreate(DbHandle *, const eyedbsm::Oid *, int *);
00415
00416 extern RPCStatus
00417 queryCollectionCreate(DbHandle *, const eyedbsm::Oid *, Bool, int *);
00418
00419 extern RPCStatus
00420 queryAttributeCreate(DbHandle *, const eyedbsm::Oid *, int, int, Data,
00421 Data, int, int, int, int *);
00422
00423 extern RPCStatus
00424 queryDelete(DbHandle *, int);
00425
00426 extern RPCStatus
00427 queryScanNext(DbHandle *, int qid, int wanted, int *found,
00428 void *atom_array);
00429
00430
00431
00432 extern RPCStatus
00433 execCheck(DbHandle *, const char *intname, const eyedbsm::Oid *oid,
00434 const char *extref);
00435
00436 extern RPCStatus
00437 execExecute(DbHandle *, const char *user, const char *passwd,
00438 const char *intname,
00439 const char *name,
00440 int exec_type,
00441 const eyedbsm::Oid *cloid,
00442 const char *extref,
00443 const void *sign,
00444 const eyedbsm::Oid *execoid,
00445 const eyedbsm::Oid *objoid,
00446 void *o,
00447 const void *argarray,
00448 void *argret);
00449
00450 extern RPCStatus
00451 execSetExtRefPath(ConnHandle *, const char *user,
00452 const char *passwd, const char *path);
00453
00454 extern RPCStatus
00455 execGetExtRefPath(ConnHandle *, const char *user, const char *passwd,
00456 char path[], unsigned int pathlen);
00457
00458 extern RPCStatus
00459 set_conn_info(ConnHandle *, const char *, int, const char *, const char *,
00460 int *, int *, int, char **);
00461
00462 extern RPCStatus
00463 checkAuth(ConnHandle *, const char *);
00464
00465 extern RPCStatus
00466 oqlCreate(ConnHandle *, DbHandle *, const char *, int *, void *);
00467
00468 extern RPCStatus
00469 oqlDelete(ConnHandle *, DbHandle *, int);
00470
00471 extern RPCStatus
00472 oqlGetResult(ConnHandle *, DbHandle *, int, void *);
00473
00474 extern RPCStatus
00475 setLogMask(ConnHandle *, eyedblib::int64);
00476
00477 extern RPCStatus
00478 indexGetCount(DbHandle *, const eyedbsm::Oid *, int *);
00479
00480 extern RPCStatus
00481 indexGetStats(DbHandle *, const eyedbsm::Oid *, Data *);
00482
00483 extern RPCStatus
00484 indexSimulStats(DbHandle *, const eyedbsm::Oid *, const Data,
00485 Size, Data *);
00486
00487 extern RPCStatus
00488 collectionGetImplStats(DbHandle *, int, const eyedbsm::Oid *, Data *);
00489
00490 extern RPCStatus
00491 collectionSimulImplStats(DbHandle *, int, const eyedbsm::Oid *, const Data, Size, Data *);
00492
00493 extern RPCStatus
00494 indexGetImplementation(DbHandle *, const eyedbsm::Oid *, Data *);
00495
00496 extern RPCStatus
00497 collectionGetImplementation(DbHandle *, int, const eyedbsm::Oid *, Data *);
00498
00499 extern RPCStatus
00500 getDefaultDataspace(DbHandle *, int *);
00501
00502 extern RPCStatus
00503 setDefaultDataspace(DbHandle *, int);
00504
00505 extern RPCStatus
00506 dataspaceSetCurrentDatafile(DbHandle *, int, int);
00507
00508 extern RPCStatus
00509 dataspaceGetCurrentDatafile(DbHandle *, int, int *);
00510
00511 extern RPCStatus
00512 getDefaultIndexDataspace(DbHandle *, const eyedbsm::Oid *, int, int *);
00513
00514 extern RPCStatus
00515 setDefaultIndexDataspace(DbHandle *, const eyedbsm::Oid *, int, int);
00516
00517 extern RPCStatus
00518 getIndexLocations(DbHandle *, const eyedbsm::Oid *, int, void *);
00519
00520 extern RPCStatus
00521 moveIndex(DbHandle *, const eyedbsm::Oid *, int, int);
00522
00523 extern RPCStatus
00524 getInstanceClassLocations(DbHandle *, const eyedbsm::Oid *, int, Data *);
00525
00526 extern RPCStatus
00527 moveInstanceClass(DbHandle *, const eyedbsm::Oid *, int, int);
00528
00529 extern RPCStatus
00530 getObjectsLocations(DbHandle *, const eyedbsm::Oid *, unsigned int, void *);
00531
00532 extern RPCStatus
00533 moveObjects(DbHandle *, const eyedbsm::Oid *, unsigned int cnt,
00534 int dspid);
00535
00536 extern RPCStatus
00537 getAttributeLocations(DbHandle *, const eyedbsm::Oid *, int, Data *);
00538
00539 extern RPCStatus
00540 moveAttribute(DbHandle *, const eyedbsm::Oid *, int, int);
00541
00542 extern RPCStatus
00543 createDatafile(DbHandle *, const char *, const char *, int, int, int);
00544
00545 extern RPCStatus
00546 deleteDatafile(DbHandle *, int);
00547
00548 extern RPCStatus
00549 moveDatafile(DbHandle *, int, const char *);
00550
00551 extern RPCStatus
00552 defragmentDatafile(DbHandle *, int);
00553
00554 extern RPCStatus
00555 resizeDatafile(DbHandle *, int, unsigned int);
00556
00557 extern RPCStatus
00558 getDatafileInfo(DbHandle *, int, void *);
00559
00560 extern RPCStatus
00561 renameDatafile(DbHandle *, int, const char *);
00562
00563 extern RPCStatus
00564 createDataspace(DbHandle *, const char *, void *, unsigned int);
00565
00566 extern RPCStatus
00567 updateDataspace(DbHandle *, int, void *, unsigned int);
00568
00569 extern RPCStatus
00570 deleteDataspace(DbHandle *, int);
00571
00572 extern RPCStatus
00573 renameDataspace(DbHandle *, int, const char *);
00574
00575 extern RPCStatus
00576 getServerOutOfBandData(ConnHandle *, int *, Data *,
00577 unsigned int *);
00578
00579
00580 extern RPCStatus
00581 SEconnOpen(const char *, ConnHandle *);
00582 }
00583
00584 #endif