00001 /* 00002 * Copyright (C) 2010 Djellel Eddine Difallah 00003 * All rights reserved. 00004 * 00005 * Redistribution and use in source and binary forms, with or without 00006 * modification, are permitted provided that the following conditions are met: 00007 * 00008 * * Redistributions of source code must retain the above copyright notice, 00009 * this list of conditions and the following disclaimer. 00010 * * Redistributions in binary form must reproduce the above copyright notice, 00011 * this list of conditions and the following disclaimer in the documentation 00012 * and/or other materials provided with the distribution. 00013 * * Neither the name of Djellel Eddine Difallah nor the names of its contributors 00014 * may be used to endorse or promote products derived from this software 00015 * without specific prior written permission. 00016 * 00017 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00018 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00019 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00020 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 00021 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00022 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00023 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00024 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00025 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00026 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 00027 * THE POSSIBILITY OF SUCH DAMAGE. 00028 */ 00029 00043 #pragma once 00044 00045 #include <drizzled/item/func.h> 00046 #include <drizzled/function/str/strfunc.h> 00047 00048 class PrintQueryCacheMetaFunction : public drizzled::Item_str_func 00049 { 00050 public: 00051 PrintQueryCacheMetaFunction() : Item_str_func() {} 00052 drizzled::String *val_str(drizzled::String*); 00053 00054 void fix_length_and_dec(); 00055 00056 const char *func_name() const 00057 { 00058 return "print_query_cache_meta"; 00059 } 00060 00061 bool check_argument_count(int n) 00062 { 00063 return (n == 1); 00064 } 00065 }; 00066 class QueryCacheFlushFunction: public drizzled::Item_int_func 00067 { 00068 drizzled::String value; 00069 drizzled::String failure_buff; 00070 public: 00071 QueryCacheFlushFunction() 00072 : 00073 Item_int_func(), 00074 failure_buff("0", &drizzled::my_charset_bin) 00075 {} 00076 00077 const char *func_name() const 00078 { 00079 return "query_cache_flush"; 00080 } 00081 00082 int64_t val_int(); 00083 00084 void fix_length_and_dec() 00085 { 00086 max_length= 32; 00087 } 00088 /* 00089 * query_cache_flush takes 0 or 1 arguments 00090 */ 00091 bool check_argument_count(int n) 00092 { 00093 return ((n == 1)||(n == 0)); 00094 } 00095 00096 }; 00097