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 #include <plugin/information_schema_dictionary/dictionary.h>
00023
00024 using namespace std;
00025 using namespace drizzled;
00026
00027 RoutineColumns::RoutineColumns() :
00028 InformationSchema("ROUTINE_COLUMNS")
00029 {
00030 add_field("TABLE_CATALOG");
00031 add_field("TABLE_SCHEMA");
00032 add_field("TABLE_NAME");
00033
00034 add_field("COLUMN_NAME");
00035 add_field("ORDINAL_POSITION");
00036 add_field("COLUMN_DEFAULT");
00037
00038 add_field("IS_NULLABLE");
00039
00040 add_field("DATA_TYPE");
00041 add_field("CHARACTER_MAXIMUM_LENGTH");
00042 add_field("CHARACTER_OCTET_LENGTH");
00043 add_field("NUMERIC_PRECISION");
00044 add_field("NUMERIC_PRECISION_RADIX");
00045 add_field("NUMERIC_SCALE");
00046 add_field("DATETIME_PRECISION");
00047 add_field("CHARACTER_SET_CATALOG");
00048 add_field("CHARACTER_SET_SCHEMA");
00049 add_field("CHARACTER_SET_NAME");
00050 add_field("COLLATION_CATALOG");
00051 add_field("COLLATION_SCHEMA");
00052 add_field("COLLATION_NAME");
00053 add_field("DOMAIN_CATALOG");
00054 add_field("DOMAIN_SCHEMA");
00055 add_field("DOMAIN_NAME");
00056 }
00057
00058 void RoutineColumns::Generator::fill()
00059 {
00060 }
00061
00062 bool RoutineColumns::Generator::nextCore()
00063 {
00064 return false;
00065 }
00066
00067 bool RoutineColumns::Generator::next()
00068 {
00069 while (not nextCore())
00070 {
00071 return false;
00072 }
00073
00074 return true;
00075 }
00076
00077 RoutineColumns::Generator::Generator(drizzled::Field **arg) :
00078 InformationSchema::Generator(arg),
00079 is_primed(false)
00080 {
00081 }
00082
00083 bool RoutineColumns::Generator::populate()
00084 {
00085 if (not next())
00086 return false;
00087
00088 fill();
00089
00090 return true;
00091 }