22 #include <plugin/information_schema_dictionary/dictionary.h>
27 Routines::Routines() :
30 add_field(
"SPECIFIC_CATALOG", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
31 add_field(
"SPECIFIC_SCHEMA", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
32 add_field(
"SPECIFIC_NAME", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
34 add_field(
"ROUTINE_CATALOG", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
35 add_field(
"ROUTINE_SCHEMA", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
36 add_field(
"ROUTINE_NAME", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
38 add_field(
"MODULE_CATALOG", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
39 add_field(
"MODULE_SCHEMA", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
40 add_field(
"MODULE_NAME", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
42 add_field(
"UDT_CATALOG", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
43 add_field(
"UDT_SCHEMA", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
44 add_field(
"UDT_NAME", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
46 add_field(
"DATA_TYPE");
47 add_field(
"CHARACTER_MAXIMUM_LENGTH");
48 add_field(
"CHARACTER_OCTET_LENGTH");
50 add_field(
"COLLATION_CATALOG", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
51 add_field(
"COLLATION_SCHEMA", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
52 add_field(
"COLLATION_NAME", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
54 add_field(
"CHARACTER_SET_CATALOG", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
55 add_field(
"CHARACTER_SET_SCHEMA", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
56 add_field(
"CHARACTER_SET_NAME", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
58 add_field(
"TABLE_CATALOG", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
59 add_field(
"TABLE_SCHEMA", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
60 add_field(
"TABLE_NAME", plugin::TableFunction::STRING, MAXIMUM_IDENTIFIER_LENGTH,
false);
62 add_field(
"NUMERIC_PRECISION");
63 add_field(
"NUMERIC_PRECISION_RADIX");
64 add_field(
"NUMERIC_SCALE");
66 add_field(
"DATETIME_PRECISION");
68 add_field(
"INTERVAL_TYPE");
69 add_field(
"INTERVAL_PRECISION");
71 add_field(
"TYPE_UDT_CATALOG");
72 add_field(
"TYPE_UDT_SCHEMA");
73 add_field(
"TYPE_UDT_NAME");
75 add_field(
"SCOPE_CATALOG");
76 add_field(
"SCOPE_SCHEMA");
77 add_field(
"SCOPE_NAME");
79 add_field(
"MAXIMUM_CARDINALITY");
80 add_field(
"DTD_IDENTIFIER");
82 add_field(
"ROUTINE_BODY");
83 add_field(
"ROUTINE_DEFINITION");
85 add_field(
"EXTERNAL_NAME");
86 add_field(
"EXTERNAL_LANGUAGE");
88 add_field(
"PARAMETER_STYLE");
89 add_field(
"IS_DETERMINISTIC");
91 add_field(
"SQL_DATA_ACCESS");
92 add_field(
"IS_NULL_CALL");
93 add_field(
"SQL_PATH");
94 add_field(
"SCHEMA_LEVEL_ROUTINE");
95 add_field(
"MAX_DYNAMIC_RESULT_SETS");
96 add_field(
"IS_USER_DEFINED_CAST");
97 add_field(
"IS_IMPLICITLY_INVOCABLE");
99 add_field(
"LAST_ALTERED");
102 void Routines::Generator::fill()
106 bool Routines::Generator::nextCore()
111 bool Routines::Generator::next()
113 while (not nextCore())
127 bool Routines::Generator::populate()
TODO: Rename this file - func.h is stupid.