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 <eyedb/eyedb.h>
00026 #include "CollectionBE.h"
00027 #include "oql_p.h"
00028 #include "OQLBEIterator.h"
00029 #include "kernel.h"
00030 #include <assert.h>
00031 #include <eyedblib/m_malloc.h>
00032
00033 namespace eyedb {
00034
00035 Status OQLBEIterator::getStatus() const
00036 {
00037 return status;
00038 }
00039
00040 OQLBEIterator::~OQLBEIterator()
00041 {
00042 }
00043
00044 OQLBEIteratorOQL::OQLBEIteratorOQL(Database *_db,
00045 DbHandle *_dbh,
00046 const char *qlstr)
00047 {
00048 db = _db;
00049 dbh = _dbh;
00050 value = 0;
00051 cl_list.empty();
00052
00053 status = oqml_realize(db, (char *)qlstr, value, &cl_list);
00054 }
00055
00056 Status OQLBEIteratorOQL::getResult(Value *_value)
00057 {
00058 if (status) return status;
00059
00060 if (!value)
00061 value = new Value();
00062
00063 *_value = *value;
00064 return Success;
00065 }
00066
00067 OQLBEIteratorOQL::~OQLBEIteratorOQL()
00068 {
00069 delete value;
00070 }
00071 }