00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #include <drizzled/sql_lex.h>
00024 #include <drizzled/statement.h>
00025
00026 namespace drizzled {
00027 namespace statement {
00028
00029 class Flush : public Statement
00030 {
00031 public:
00032 Flush(Session *in_session) :
00033 Statement(in_session),
00034 flush_log(false),
00035 flush_tables(false),
00036 flush_tables_with_read_lock(false),
00037 flush_status(false),
00038 flush_global_status(false)
00039 {
00040 set_command(SQLCOM_FLUSH);
00041 lex().type= 0;
00042 }
00043
00044 bool execute();
00045
00046 private:
00047 bool flush_log;
00048 bool flush_tables;
00049 bool flush_tables_with_read_lock;
00050 bool flush_status;
00051 bool flush_global_status;
00052
00053 public:
00054 void setFlushLog(bool f) { flush_log= f; }
00055 void setFlushTables(bool f) { flush_tables= f; }
00056 void setFlushTablesWithReadLock(bool f) {
00057 flush_tables= flush_tables_with_read_lock= f;
00058 }
00059 void setFlushStatus(bool f) { flush_status= f; }
00060 void setFlushGlobalStatus(bool f) { flush_global_status= f; }
00061
00062 private:
00063
00077 bool reloadCache();
00078 };
00079
00080 }
00081
00082 }
00083