1 | //===----------------------------------------------------------------------===// |
2 | // DuckDB |
3 | // |
4 | // duckdb/main/extension_entries.hpp |
5 | // |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | |
9 | #pragma once |
10 | |
11 | #include "duckdb/common/unordered_map.hpp" |
12 | |
13 | namespace duckdb { |
14 | |
15 | struct ExtensionEntry { |
16 | char name[48]; |
17 | char extension[48]; |
18 | }; |
19 | |
20 | static constexpr ExtensionEntry EXTENSION_FUNCTIONS[] = {{.name: "->>" , .extension: "json" }, |
21 | {.name: "array_to_json" , .extension: "json" }, |
22 | {.name: "create_fts_index" , .extension: "fts" }, |
23 | {.name: "current_localtime" , .extension: "icu" }, |
24 | {.name: "current_localtimestamp" , .extension: "icu" }, |
25 | {.name: "dbgen" , .extension: "tpch" }, |
26 | {.name: "drop_fts_index" , .extension: "fts" }, |
27 | {.name: "dsdgen" , .extension: "tpcds" }, |
28 | {.name: "excel_text" , .extension: "excel" }, |
29 | {.name: "from_json" , .extension: "json" }, |
30 | {.name: "from_json_strict" , .extension: "json" }, |
31 | {.name: "from_substrait" , .extension: "substrait" }, |
32 | {.name: "from_substrait_json" , .extension: "substrait" }, |
33 | {.name: "get_substrait" , .extension: "substrait" }, |
34 | {.name: "get_substrait_json" , .extension: "substrait" }, |
35 | {.name: "icu_calendar_names" , .extension: "icu" }, |
36 | {.name: "icu_sort_key" , .extension: "icu" }, |
37 | {.name: "json" , .extension: "json" }, |
38 | {.name: "json_array" , .extension: "json" }, |
39 | {.name: "json_array_length" , .extension: "json" }, |
40 | {.name: "json_contains" , .extension: "json" }, |
41 | {.name: "json_extract" , .extension: "json" }, |
42 | {.name: "json_extract_path" , .extension: "json" }, |
43 | {.name: "json_extract_path_text" , .extension: "json" }, |
44 | {.name: "json_extract_string" , .extension: "json" }, |
45 | {.name: "json_group_array" , .extension: "json" }, |
46 | {.name: "json_group_object" , .extension: "json" }, |
47 | {.name: "json_group_structure" , .extension: "json" }, |
48 | {.name: "json_keys" , .extension: "json" }, |
49 | {.name: "json_merge_patch" , .extension: "json" }, |
50 | {.name: "json_object" , .extension: "json" }, |
51 | {.name: "json_quote" , .extension: "json" }, |
52 | {.name: "json_structure" , .extension: "json" }, |
53 | {.name: "json_transform" , .extension: "json" }, |
54 | {.name: "json_transform_strict" , .extension: "json" }, |
55 | {.name: "json_type" , .extension: "json" }, |
56 | {.name: "json_valid" , .extension: "json" }, |
57 | {.name: "json_serialize_sql" , .extension: "json" }, |
58 | {.name: "json_deserialize_sql" , .extension: "json" }, |
59 | {.name: "json_serialize_sql" , .extension: "json" }, |
60 | {.name: "json_execute_serialized_sql" , .extension: "json" }, |
61 | {.name: "make_timestamptz" , .extension: "icu" }, |
62 | {.name: "parquet_metadata" , .extension: "parquet" }, |
63 | {.name: "parquet_scan" , .extension: "parquet" }, |
64 | {.name: "parquet_schema" , .extension: "parquet" }, |
65 | {.name: "pg_timezone_names" , .extension: "icu" }, |
66 | {.name: "postgres_attach" , .extension: "postgres_scanner" }, |
67 | {.name: "postgres_scan" , .extension: "postgres_scanner" }, |
68 | {.name: "postgres_scan_pushdown" , .extension: "postgres_scanner" }, |
69 | {.name: "read_json" , .extension: "json" }, |
70 | {.name: "read_json_auto" , .extension: "json" }, |
71 | {.name: "read_json_objects" , .extension: "json" }, |
72 | {.name: "read_json_objects_auto" , .extension: "json" }, |
73 | {.name: "read_ndjson" , .extension: "json" }, |
74 | {.name: "read_ndjson_auto" , .extension: "json" }, |
75 | {.name: "read_ndjson_objects" , .extension: "json" }, |
76 | {.name: "read_parquet" , .extension: "parquet" }, |
77 | {.name: "row_to_json" , .extension: "json" }, |
78 | {.name: "scan_arrow_ipc" , .extension: "arrow" }, |
79 | {.name: "sqlite_attach" , .extension: "sqlite_scanner" }, |
80 | {.name: "sqlite_scan" , .extension: "sqlite_scanner" }, |
81 | {.name: "stem" , .extension: "fts" }, |
82 | {.name: "text" , .extension: "excel" }, |
83 | {.name: "to_arrow_ipc" , .extension: "arrow" }, |
84 | {.name: "to_json" , .extension: "json" }, |
85 | {.name: "tpcds" , .extension: "tpcds" }, |
86 | {.name: "tpcds_answers" , .extension: "tpcds" }, |
87 | {.name: "tpcds_queries" , .extension: "tpcds" }, |
88 | {.name: "tpch" , .extension: "tpch" }, |
89 | {.name: "tpch_answers" , .extension: "tpch" }, |
90 | {.name: "tpch_queries" , .extension: "tpch" }, |
91 | {.name: "visualize_diff_profiling_output" , .extension: "visualizer" }, |
92 | {.name: "visualize_json_profiling_output" , .extension: "visualizer" }, |
93 | {.name: "visualize_last_profiling_output" , .extension: "visualizer" }, |
94 | {.name: "st_distance_spheroid" , .extension: "spatial" }, |
95 | {.name: "st_boundary" , .extension: "spatial" }, |
96 | {.name: "st_makeline" , .extension: "spatial" }, |
97 | {.name: "st_buffer" , .extension: "spatial" }, |
98 | {.name: "st_x" , .extension: "spatial" }, |
99 | {.name: "st_isring" , .extension: "spatial" }, |
100 | {.name: "st_centroid" , .extension: "spatial" }, |
101 | {.name: "st_read" , .extension: "spatial" }, |
102 | {.name: "st_geomfromwkb" , .extension: "spatial" }, |
103 | {.name: "st_list_proj_crs" , .extension: "spatial" }, |
104 | {.name: "st_isvalid" , .extension: "spatial" }, |
105 | {.name: "st_polygon2dfromwkb" , .extension: "spatial" }, |
106 | {.name: "st_disjoint" , .extension: "spatial" }, |
107 | {.name: "st_length" , .extension: "spatial" }, |
108 | {.name: "st_difference" , .extension: "spatial" }, |
109 | {.name: "st_area" , .extension: "spatial" }, |
110 | {.name: "st_union" , .extension: "spatial" }, |
111 | {.name: "st_isclosed" , .extension: "spatial" }, |
112 | {.name: "st_asgeojson" , .extension: "spatial" }, |
113 | {.name: "st_intersection" , .extension: "spatial" }, |
114 | {.name: "st_transform" , .extension: "spatial" }, |
115 | {.name: "st_dwithin" , .extension: "spatial" }, |
116 | {.name: "st_perimeter" , .extension: "spatial" }, |
117 | {.name: "st_issimple" , .extension: "spatial" }, |
118 | {.name: "st_geometrytype" , .extension: "spatial" }, |
119 | {.name: "st_simplifypreservetopology" , .extension: "spatial" }, |
120 | {.name: "st_distance" , .extension: "spatial" }, |
121 | {.name: "st_astext" , .extension: "spatial" }, |
122 | {.name: "st_overlaps" , .extension: "spatial" }, |
123 | {.name: "st_convexhull" , .extension: "spatial" }, |
124 | {.name: "st_normalize" , .extension: "spatial" }, |
125 | {.name: "st_drivers" , .extension: "spatial" }, |
126 | {.name: "st_point2dfromwkb" , .extension: "spatial" }, |
127 | {.name: "st_point2d" , .extension: "spatial" }, |
128 | {.name: "st_y" , .extension: "spatial" }, |
129 | {.name: "st_dwithin_spheroid" , .extension: "spatial" }, |
130 | {.name: "st_isempty" , .extension: "spatial" }, |
131 | {.name: "st_simplify" , .extension: "spatial" }, |
132 | {.name: "st_area_spheroid" , .extension: "spatial" }, |
133 | {.name: "st_within" , .extension: "spatial" }, |
134 | {.name: "st_length_spheroid" , .extension: "spatial" }, |
135 | {.name: "st_point3d" , .extension: "spatial" }, |
136 | {.name: "st_containsproperly" , .extension: "spatial" }, |
137 | {.name: "st_contains" , .extension: "spatial" }, |
138 | {.name: "st_collect" , .extension: "spatial" }, |
139 | {.name: "st_touches" , .extension: "spatial" }, |
140 | {.name: "st_linestring2dfromwkb" , .extension: "spatial" }, |
141 | {.name: "st_flipcoordinates" , .extension: "spatial" }, |
142 | {.name: "st_ashexwkb" , .extension: "spatial" }, |
143 | {.name: "st_geomfromtext" , .extension: "spatial" }, |
144 | {.name: "st_point4d" , .extension: "spatial" }, |
145 | {.name: "st_point" , .extension: "spatial" }, |
146 | {.name: "st_coveredby" , .extension: "spatial" }, |
147 | {.name: "st_perimeter_spheroid" , .extension: "spatial" }, |
148 | {.name: "st_intersects" , .extension: "spatial" }, |
149 | {.name: "st_crosses" , .extension: "spatial" }, |
150 | {.name: "st_covers" , .extension: "spatial" }, |
151 | {.name: "st_envelope" , .extension: "spatial" }, |
152 | {.name: "st_aswkb" , .extension: "spatial" }, |
153 | {.name: "st_equals" , .extension: "spatial" }, |
154 | {.name: "st_collectionextract" , .extension: "spatial" }, |
155 | {.name: "st_npoints" , .extension: "spatial" }, |
156 | {.name: "st_pointonsurface" , .extension: "spatial" }, |
157 | {.name: "st_dimension" , .extension: "spatial" }, |
158 | {.name: "st_removerepeatedpoints" , .extension: "spatial" }, |
159 | {.name: "st_geomfromgeojson" , .extension: "spatial" }, |
160 | {.name: "st_readosm" , .extension: "spatial" }, |
161 | {.name: "st_numpoints" , .extension: "spatial" }}; |
162 | |
163 | static constexpr ExtensionEntry EXTENSION_SETTINGS[] = { |
164 | {.name: "binary_as_string" , .extension: "parquet" }, |
165 | {.name: "calendar" , .extension: "icu" }, |
166 | {.name: "http_retries" , .extension: "httpfs" }, |
167 | {.name: "http_retry_backoff" , .extension: "httpfs" }, |
168 | {.name: "http_retry_wait_ms" , .extension: "httpfs" }, |
169 | {.name: "http_timeout" , .extension: "httpfs" }, |
170 | {.name: "force_download" , .extension: "httpfs" }, |
171 | {.name: "s3_access_key_id" , .extension: "httpfs" }, |
172 | {.name: "s3_endpoint" , .extension: "httpfs" }, |
173 | {.name: "s3_region" , .extension: "httpfs" }, |
174 | {.name: "s3_secret_access_key" , .extension: "httpfs" }, |
175 | {.name: "s3_session_token" , .extension: "httpfs" }, |
176 | {.name: "s3_uploader_max_filesize" , .extension: "httpfs" }, |
177 | {.name: "s3_uploader_max_parts_per_file" , .extension: "httpfs" }, |
178 | {.name: "s3_uploader_thread_limit" , .extension: "httpfs" }, |
179 | {.name: "s3_url_compatibility_mode" , .extension: "httpfs" }, |
180 | {.name: "s3_url_style" , .extension: "httpfs" }, |
181 | {.name: "s3_use_ssl" , .extension: "httpfs" }, |
182 | {.name: "sqlite_all_varchar" , .extension: "sqlite_scanner" }, |
183 | {.name: "timezone" , .extension: "icu" }, |
184 | }; |
185 | } // namespace duckdb |
186 | |