00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <config.h>
00021
00022 #include <drizzled/function/str/strfunc.h>
00023 #include <drizzled/item/func.h>
00024 #include <drizzled/plugin.h>
00025 #include <drizzled/plugin/function.h>
00026
00027 #include <string>
00028
00029 using namespace std;
00030 using namespace drizzled;
00031
00032 class Item_func_hello_world : public Item_str_func
00033 {
00034 public:
00035 Item_func_hello_world() : Item_str_func() {}
00036 const char *func_name() const { return "hello_world"; }
00037 String *val_str(String* s) {
00038 s->set(STRING_WITH_LEN("Hello World!"),system_charset_info);
00039 return s;
00040 }
00041 void fix_length_and_dec() {
00042 max_length=strlen("Hello World!");
00043 }
00044 };
00045
00046 plugin::Create_function<Item_func_hello_world> *hello_world_udf= NULL;
00047
00048 static int hello_world_plugin_init(drizzled::module::Context &context)
00049 {
00050 hello_world_udf=
00051 new plugin::Create_function<Item_func_hello_world>("hello_world");
00052 context.add(hello_world_udf);
00053
00054 return 0;
00055 }
00056
00057 DRIZZLE_DECLARE_PLUGIN
00058 {
00059 DRIZZLE_VERSION_ID,
00060 "hello_world",
00061 "1.0",
00062 "Mark Atwood",
00063 "Hello, world!",
00064 PLUGIN_LICENSE_GPL,
00065 hello_world_plugin_init,
00066 NULL,
00067 NULL
00068 }
00069 DRIZZLE_DECLARE_PLUGIN_END;