1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/function/table/system_functions.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/function/table_function.hpp"
12#include "duckdb/function/built_in_functions.hpp"
13
14namespace duckdb {
15
16struct PragmaCollations {
17 static void RegisterFunction(BuiltinFunctions &set);
18};
19
20struct PragmaTableInfo {
21 static void RegisterFunction(BuiltinFunctions &set);
22};
23
24struct PragmaStorageInfo {
25 static void RegisterFunction(BuiltinFunctions &set);
26};
27
28struct PragmaLastProfilingOutput {
29 static void RegisterFunction(BuiltinFunctions &set);
30};
31
32struct PragmaDetailedProfilingOutput {
33 static void RegisterFunction(BuiltinFunctions &set);
34};
35
36struct PragmaVersion {
37 static void RegisterFunction(BuiltinFunctions &set);
38};
39
40struct PragmaDatabaseSize {
41 static void RegisterFunction(BuiltinFunctions &set);
42};
43
44struct DuckDBSchemasFun {
45 static void RegisterFunction(BuiltinFunctions &set);
46};
47
48struct DuckDBColumnsFun {
49 static void RegisterFunction(BuiltinFunctions &set);
50};
51
52struct DuckDBConstraintsFun {
53 static void RegisterFunction(BuiltinFunctions &set);
54};
55
56struct DuckDBDatabasesFun {
57 static void RegisterFunction(BuiltinFunctions &set);
58};
59
60struct DuckDBDependenciesFun {
61 static void RegisterFunction(BuiltinFunctions &set);
62};
63
64struct DuckDBExtensionsFun {
65 static void RegisterFunction(BuiltinFunctions &set);
66};
67
68struct DuckDBFunctionsFun {
69 static void RegisterFunction(BuiltinFunctions &set);
70};
71
72struct DuckDBKeywordsFun {
73 static void RegisterFunction(BuiltinFunctions &set);
74};
75
76struct DuckDBIndexesFun {
77 static void RegisterFunction(BuiltinFunctions &set);
78};
79
80struct DuckDBSequencesFun {
81 static void RegisterFunction(BuiltinFunctions &set);
82};
83
84struct DuckDBSettingsFun {
85 static void RegisterFunction(BuiltinFunctions &set);
86};
87
88struct DuckDBTablesFun {
89 static void RegisterFunction(BuiltinFunctions &set);
90};
91
92struct DuckDBTemporaryFilesFun {
93 static void RegisterFunction(BuiltinFunctions &set);
94};
95
96struct DuckDBTypesFun {
97 static void RegisterFunction(BuiltinFunctions &set);
98};
99
100struct DuckDBViewsFun {
101 static void RegisterFunction(BuiltinFunctions &set);
102};
103
104struct TestType {
105 TestType(LogicalType type_p, string name_p)
106 : type(std::move(type_p)), name(std::move(name_p)), min_value(Value::MinimumValue(type)),
107 max_value(Value::MaximumValue(type)) {
108 }
109 TestType(LogicalType type_p, string name_p, Value min, Value max)
110 : type(std::move(type_p)), name(std::move(name_p)), min_value(std::move(min)), max_value(std::move(max)) {
111 }
112
113 LogicalType type;
114 string name;
115 Value min_value;
116 Value max_value;
117};
118
119struct TestAllTypesFun {
120 static void RegisterFunction(BuiltinFunctions &set);
121 static vector<TestType> GetTestTypes();
122};
123
124struct TestVectorTypesFun {
125 static void RegisterFunction(BuiltinFunctions &set);
126};
127
128} // namespace duckdb
129