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 #include <eyedbconfig.h>
00026
00027 #include <stdlib.h>
00028
00029 #include <eyedbsm/eyedbsm.h>
00030 #include <BIdxBTree.h>
00031 #include <assert.h>
00032
00033
00034
00035 namespace eyedbsm {
00036
00037 Status
00038 objectWrite(DbHandle const *dbh, size_t size, void * object, Oid const *const oid)
00039 {
00040 #ifdef SECURE
00041 Status s;
00042 int actualSize;
00043 if (s = objectSizeGet(dbh, &actualSize, DefaultLock, oid))
00044 return s;
00045 assert(size == actualSize);
00046 #endif
00047 return objectWrite(dbh, 0, size, object, oid);
00048 }
00049
00050 Status
00051 objectRead(DbHandle const *dbh, size_t size, void * object, Oid const *const oid)
00052 {
00053 #ifdef SECURE
00054 Status s;
00055 int actualSize;
00056 if (s = objectSizeGet(dbh, &actualSize, DefaultLock, oid))
00057 return s;
00058 assert(size == actualSize);
00059 #endif
00060 return objectRead(dbh, 0, 0, object, DefaultLock, 0, 0, oid);
00061 }
00062
00063 Status
00064 objectDelete(DbHandle const *dbh, size_t size, Oid const *const oid)
00065 {
00066 #ifdef SECURE
00067 Status s;
00068 int actualSize;
00069 if (s = objectSizeGet(dbh, &actualSize, DefaultLock, oid))
00070 return s;
00071 assert(size == actualSize);
00072 #endif
00073 return objectDelete(dbh, oid);
00074 }
00075
00076 }