00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <config.h>
00022
00023 #include <plugin/session_dictionary/dictionary.h>
00024
00025 namespace session_dictionary {
00026
00027 #define LARGEST_USER_SAVEPOINT_NAME 128
00028
00029 Savepoints::Savepoints() :
00030 drizzled::plugin::TableFunction("DATA_DICTIONARY", "USER_DEFINED_SAVEPOINTS")
00031 {
00032 add_field("SAVEPOINT_NAME", drizzled::plugin::TableFunction::STRING, LARGEST_USER_SAVEPOINT_NAME, false);
00033 }
00034
00035 Savepoints::Generator::Generator(drizzled::Field **arg) :
00036 drizzled::plugin::TableFunction::Generator(arg),
00037 savepoints(getSession().transaction.savepoints),
00038 iter(savepoints.begin())
00039 {
00040 }
00041
00042 Savepoints::Generator::~Generator()
00043 {
00044 }
00045
00046 bool Savepoints::Generator::populate()
00047 {
00048 while (iter != savepoints.end())
00049 {
00050
00051 push(iter->getName());
00052
00053 iter++;
00054
00055 return true;
00056 }
00057
00058 return false;
00059 }
00060
00061 }