duckdb 0.7.2-dev717.0 → 0.7.2-dev865.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +2 -0
- package/lib/duckdb.d.ts +12 -1
- package/lib/duckdb.js +19 -0
- package/package.json +1 -1
- package/src/duckdb/extension/json/include/json_common.hpp +1 -0
- package/src/duckdb/extension/json/include/json_functions.hpp +1 -0
- package/src/duckdb/extension/json/include/json_serializer.hpp +77 -0
- package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +147 -0
- package/src/duckdb/extension/json/json_functions.cpp +1 -0
- package/src/duckdb/extension/json/json_scan.cpp +2 -2
- package/src/duckdb/extension/json/json_serializer.cpp +217 -0
- package/src/duckdb/src/catalog/catalog.cpp +21 -5
- package/src/duckdb/src/common/enums/expression_type.cpp +8 -222
- package/src/duckdb/src/common/enums/join_type.cpp +3 -22
- package/src/duckdb/src/common/exception.cpp +2 -2
- package/src/duckdb/src/common/serializer/enum_serializer.cpp +1172 -0
- package/src/duckdb/src/common/types/value.cpp +117 -93
- package/src/duckdb/src/common/types/vector.cpp +140 -1
- package/src/duckdb/src/common/types.cpp +166 -89
- package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +3 -0
- package/src/duckdb/src/execution/physical_plan/plan_aggregate.cpp +5 -8
- package/src/duckdb/src/function/scalar/date/date_part.cpp +2 -2
- package/src/duckdb/src/function/scalar/date/date_trunc.cpp +2 -2
- package/src/duckdb/src/function/scalar/list/list_aggregates.cpp +1 -1
- package/src/duckdb/src/function/scalar/list/list_lambdas.cpp +4 -0
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +8 -8
- package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +243 -0
- package/src/duckdb/src/function/scalar/string/regexp/regexp_util.cpp +79 -0
- package/src/duckdb/src/function/scalar/string/regexp.cpp +21 -80
- package/src/duckdb/src/function/table/arrow_conversion.cpp +7 -1
- package/src/duckdb/src/function/table/table_scan.cpp +1 -1
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/enums/aggregate_handling.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/enums/expression_type.hpp +2 -3
- package/src/duckdb/src/include/duckdb/common/enums/joinref_type.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/enums/order_type.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/enums/set_operation_type.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/exception.hpp +40 -9
- package/src/duckdb/src/include/duckdb/common/preserved_error.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/serializer/enum_serializer.hpp +113 -0
- package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +336 -0
- package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +268 -0
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +126 -0
- package/src/duckdb/src/include/duckdb/common/string_util.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +2 -31
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/types.hpp +8 -2
- package/src/duckdb/src/include/duckdb/function/scalar/regexp.hpp +81 -1
- package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parser/common_table_expression_info.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/sample_options.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/query_node/recursive_cte_node.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/query_node/select_node.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/query_node/set_operation_node.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/query_node.hpp +11 -1
- package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +24 -1
- package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +2 -1
- package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +6 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +4 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +9 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref.hpp +3 -1
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +9 -52
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +62 -0
- package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +6 -3
- package/src/duckdb/src/include/duckdb/storage/table/column_data_checkpointer.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +5 -3
- package/src/duckdb/src/include/duckdb/storage/table/persistent_table_data.hpp +4 -1
- package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +6 -3
- package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +5 -3
- package/src/duckdb/src/include/duckdb/storage/table/row_group_segment_tree.hpp +37 -0
- package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +8 -1
- package/src/duckdb/src/include/duckdb/storage/table/segment_base.hpp +4 -3
- package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +271 -26
- package/src/duckdb/src/main/extension/extension_install.cpp +7 -2
- package/src/duckdb/src/optimizer/deliminator.cpp +1 -1
- package/src/duckdb/src/optimizer/filter_combiner.cpp +1 -1
- package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +3 -3
- package/src/duckdb/src/optimizer/rule/move_constants.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +1 -1
- package/src/duckdb/src/parser/common_table_expression_info.cpp +19 -0
- package/src/duckdb/src/parser/expression/between_expression.cpp +17 -0
- package/src/duckdb/src/parser/expression/case_expression.cpp +28 -0
- package/src/duckdb/src/parser/expression/cast_expression.cpp +17 -0
- package/src/duckdb/src/parser/expression/collate_expression.cpp +16 -0
- package/src/duckdb/src/parser/expression/columnref_expression.cpp +15 -0
- package/src/duckdb/src/parser/expression/comparison_expression.cpp +16 -0
- package/src/duckdb/src/parser/expression/conjunction_expression.cpp +15 -0
- package/src/duckdb/src/parser/expression/constant_expression.cpp +14 -0
- package/src/duckdb/src/parser/expression/default_expression.cpp +7 -0
- package/src/duckdb/src/parser/expression/function_expression.cpp +35 -0
- package/src/duckdb/src/parser/expression/lambda_expression.cpp +16 -0
- package/src/duckdb/src/parser/expression/operator_expression.cpp +15 -0
- package/src/duckdb/src/parser/expression/parameter_expression.cpp +15 -0
- package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +14 -0
- package/src/duckdb/src/parser/expression/star_expression.cpp +20 -0
- package/src/duckdb/src/parser/expression/subquery_expression.cpp +20 -0
- package/src/duckdb/src/parser/expression/window_expression.cpp +43 -0
- package/src/duckdb/src/parser/parsed_data/sample_options.cpp +22 -10
- package/src/duckdb/src/parser/parsed_expression.cpp +72 -0
- package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +21 -0
- package/src/duckdb/src/parser/query_node/select_node.cpp +31 -0
- package/src/duckdb/src/parser/query_node/set_operation_node.cpp +17 -0
- package/src/duckdb/src/parser/query_node.cpp +50 -0
- package/src/duckdb/src/parser/result_modifier.cpp +78 -0
- package/src/duckdb/src/parser/statement/select_statement.cpp +12 -0
- package/src/duckdb/src/parser/tableref/basetableref.cpp +21 -0
- package/src/duckdb/src/parser/tableref/emptytableref.cpp +4 -0
- package/src/duckdb/src/parser/tableref/expressionlistref.cpp +17 -0
- package/src/duckdb/src/parser/tableref/joinref.cpp +25 -0
- package/src/duckdb/src/parser/tableref/pivotref.cpp +53 -0
- package/src/duckdb/src/parser/tableref/subqueryref.cpp +15 -0
- package/src/duckdb/src/parser/tableref/table_function.cpp +17 -0
- package/src/duckdb/src/parser/tableref.cpp +46 -0
- package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +11 -0
- package/src/duckdb/src/parser/transform/expression/transform_bool_expr.cpp +1 -1
- package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +1 -1
- package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +1 -1
- package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +22 -4
- package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +4 -0
- package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_expression.cpp +4 -0
- package/src/duckdb/src/storage/checkpoint/table_data_reader.cpp +3 -11
- package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +6 -0
- package/src/duckdb/src/storage/checkpoint_manager.cpp +1 -0
- package/src/duckdb/src/storage/compression/numeric_constant.cpp +2 -2
- package/src/duckdb/src/storage/data_table.cpp +1 -1
- package/src/duckdb/src/storage/statistics/numeric_stats.cpp +145 -83
- package/src/duckdb/src/storage/statistics/numeric_stats_union.cpp +65 -0
- package/src/duckdb/src/storage/storage_info.cpp +1 -1
- package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +1 -6
- package/src/duckdb/src/storage/table/column_data.cpp +29 -35
- package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +5 -5
- package/src/duckdb/src/storage/table/column_segment.cpp +8 -7
- package/src/duckdb/src/storage/table/list_column_data.cpp +2 -1
- package/src/duckdb/src/storage/table/persistent_table_data.cpp +2 -1
- package/src/duckdb/src/storage/table/row_group.cpp +9 -9
- package/src/duckdb/src/storage/table/row_group_collection.cpp +82 -66
- package/src/duckdb/src/storage/table/scan_state.cpp +22 -3
- package/src/duckdb/src/storage/table/standard_column_data.cpp +1 -0
- package/src/duckdb/src/storage/table/struct_column_data.cpp +1 -0
- package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +0 -1
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +11780 -11512
- package/src/duckdb/third_party/re2/re2/re2.cc +9 -0
- package/src/duckdb/third_party/re2/re2/re2.h +2 -0
- package/src/duckdb/ub_extension_json_json_functions.cpp +2 -0
- package/src/duckdb/ub_src_common_serializer.cpp +2 -0
- package/src/duckdb/ub_src_function_scalar_string_regexp.cpp +4 -0
- package/src/duckdb/ub_src_parser.cpp +2 -0
- package/src/duckdb/ub_src_storage_statistics.cpp +2 -0
- package/src/duckdb/ub_src_storage_table.cpp +0 -2
- package/src/utils.cpp +12 -0
- package/test/extension.test.ts +44 -26
- package/src/duckdb/src/storage/table/segment_tree.cpp +0 -179
@@ -1,150 +1,17 @@
|
|
1
1
|
#include "duckdb/common/enums/expression_type.hpp"
|
2
2
|
|
3
3
|
#include "duckdb/common/exception.hpp"
|
4
|
+
#include "duckdb/common/serializer/enum_serializer.hpp"
|
4
5
|
|
5
6
|
namespace duckdb {
|
6
7
|
|
7
|
-
// LCOV_EXCL_START
|
8
8
|
string ExpressionTypeToString(ExpressionType type) {
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
case ExpressionType::OPERATOR_IS_NULL:
|
15
|
-
return "IS_NULL";
|
16
|
-
case ExpressionType::OPERATOR_IS_NOT_NULL:
|
17
|
-
return "IS_NOT_NULL";
|
18
|
-
case ExpressionType::COMPARE_EQUAL:
|
19
|
-
return "EQUAL";
|
20
|
-
case ExpressionType::COMPARE_NOTEQUAL:
|
21
|
-
return "NOTEQUAL";
|
22
|
-
case ExpressionType::COMPARE_LESSTHAN:
|
23
|
-
return "LESSTHAN";
|
24
|
-
case ExpressionType::COMPARE_GREATERTHAN:
|
25
|
-
return "GREATERTHAN";
|
26
|
-
case ExpressionType::COMPARE_LESSTHANOREQUALTO:
|
27
|
-
return "LESSTHANOREQUALTO";
|
28
|
-
case ExpressionType::COMPARE_GREATERTHANOREQUALTO:
|
29
|
-
return "GREATERTHANOREQUALTO";
|
30
|
-
case ExpressionType::COMPARE_IN:
|
31
|
-
return "IN";
|
32
|
-
case ExpressionType::COMPARE_DISTINCT_FROM:
|
33
|
-
return "DISTINCT_FROM";
|
34
|
-
case ExpressionType::COMPARE_NOT_DISTINCT_FROM:
|
35
|
-
return "NOT_DISTINCT_FROM";
|
36
|
-
case ExpressionType::CONJUNCTION_AND:
|
37
|
-
return "AND";
|
38
|
-
case ExpressionType::CONJUNCTION_OR:
|
39
|
-
return "OR";
|
40
|
-
case ExpressionType::VALUE_CONSTANT:
|
41
|
-
return "CONSTANT";
|
42
|
-
case ExpressionType::VALUE_PARAMETER:
|
43
|
-
return "PARAMETER";
|
44
|
-
case ExpressionType::VALUE_TUPLE:
|
45
|
-
return "TUPLE";
|
46
|
-
case ExpressionType::VALUE_TUPLE_ADDRESS:
|
47
|
-
return "TUPLE_ADDRESS";
|
48
|
-
case ExpressionType::VALUE_NULL:
|
49
|
-
return "NULL";
|
50
|
-
case ExpressionType::VALUE_VECTOR:
|
51
|
-
return "VECTOR";
|
52
|
-
case ExpressionType::VALUE_SCALAR:
|
53
|
-
return "SCALAR";
|
54
|
-
case ExpressionType::AGGREGATE:
|
55
|
-
return "AGGREGATE";
|
56
|
-
case ExpressionType::WINDOW_AGGREGATE:
|
57
|
-
return "WINDOW_AGGREGATE";
|
58
|
-
case ExpressionType::WINDOW_RANK:
|
59
|
-
return "RANK";
|
60
|
-
case ExpressionType::WINDOW_RANK_DENSE:
|
61
|
-
return "RANK_DENSE";
|
62
|
-
case ExpressionType::WINDOW_PERCENT_RANK:
|
63
|
-
return "PERCENT_RANK";
|
64
|
-
case ExpressionType::WINDOW_ROW_NUMBER:
|
65
|
-
return "ROW_NUMBER";
|
66
|
-
case ExpressionType::WINDOW_FIRST_VALUE:
|
67
|
-
return "FIRST_VALUE";
|
68
|
-
case ExpressionType::WINDOW_LAST_VALUE:
|
69
|
-
return "LAST_VALUE";
|
70
|
-
case ExpressionType::WINDOW_NTH_VALUE:
|
71
|
-
return "NTH_VALUE";
|
72
|
-
case ExpressionType::WINDOW_CUME_DIST:
|
73
|
-
return "CUME_DIST";
|
74
|
-
case ExpressionType::WINDOW_LEAD:
|
75
|
-
return "LEAD";
|
76
|
-
case ExpressionType::WINDOW_LAG:
|
77
|
-
return "LAG";
|
78
|
-
case ExpressionType::WINDOW_NTILE:
|
79
|
-
return "NTILE";
|
80
|
-
case ExpressionType::FUNCTION:
|
81
|
-
return "FUNCTION";
|
82
|
-
case ExpressionType::CASE_EXPR:
|
83
|
-
return "CASE";
|
84
|
-
case ExpressionType::OPERATOR_NULLIF:
|
85
|
-
return "NULLIF";
|
86
|
-
case ExpressionType::OPERATOR_COALESCE:
|
87
|
-
return "COALESCE";
|
88
|
-
case ExpressionType::ARRAY_EXTRACT:
|
89
|
-
return "ARRAY_EXTRACT";
|
90
|
-
case ExpressionType::ARRAY_SLICE:
|
91
|
-
return "ARRAY_SLICE";
|
92
|
-
case ExpressionType::STRUCT_EXTRACT:
|
93
|
-
return "STRUCT_EXTRACT";
|
94
|
-
case ExpressionType::SUBQUERY:
|
95
|
-
return "SUBQUERY";
|
96
|
-
case ExpressionType::STAR:
|
97
|
-
return "STAR";
|
98
|
-
case ExpressionType::PLACEHOLDER:
|
99
|
-
return "PLACEHOLDER";
|
100
|
-
case ExpressionType::COLUMN_REF:
|
101
|
-
return "COLUMN_REF";
|
102
|
-
case ExpressionType::FUNCTION_REF:
|
103
|
-
return "FUNCTION_REF";
|
104
|
-
case ExpressionType::TABLE_REF:
|
105
|
-
return "TABLE_REF";
|
106
|
-
case ExpressionType::CAST:
|
107
|
-
return "CAST";
|
108
|
-
case ExpressionType::COMPARE_NOT_IN:
|
109
|
-
return "COMPARE_NOT_IN";
|
110
|
-
case ExpressionType::COMPARE_BETWEEN:
|
111
|
-
return "COMPARE_BETWEEN";
|
112
|
-
case ExpressionType::COMPARE_NOT_BETWEEN:
|
113
|
-
return "COMPARE_NOT_BETWEEN";
|
114
|
-
case ExpressionType::VALUE_DEFAULT:
|
115
|
-
return "VALUE_DEFAULT";
|
116
|
-
case ExpressionType::BOUND_REF:
|
117
|
-
return "BOUND_REF";
|
118
|
-
case ExpressionType::BOUND_COLUMN_REF:
|
119
|
-
return "BOUND_COLUMN_REF";
|
120
|
-
case ExpressionType::BOUND_FUNCTION:
|
121
|
-
return "BOUND_FUNCTION";
|
122
|
-
case ExpressionType::BOUND_AGGREGATE:
|
123
|
-
return "BOUND_AGGREGATE";
|
124
|
-
case ExpressionType::GROUPING_FUNCTION:
|
125
|
-
return "GROUPING";
|
126
|
-
case ExpressionType::ARRAY_CONSTRUCTOR:
|
127
|
-
return "ARRAY_CONSTRUCTOR";
|
128
|
-
case ExpressionType::TABLE_STAR:
|
129
|
-
return "TABLE_STAR";
|
130
|
-
case ExpressionType::BOUND_UNNEST:
|
131
|
-
return "BOUND_UNNEST";
|
132
|
-
case ExpressionType::COLLATE:
|
133
|
-
return "COLLATE";
|
134
|
-
case ExpressionType::POSITIONAL_REFERENCE:
|
135
|
-
return "POSITIONAL_REFERENCE";
|
136
|
-
case ExpressionType::BOUND_LAMBDA_REF:
|
137
|
-
return "BOUND_LAMBDA_REF";
|
138
|
-
case ExpressionType::LAMBDA:
|
139
|
-
return "LAMBDA";
|
140
|
-
case ExpressionType::ARROW:
|
141
|
-
return "ARROW";
|
142
|
-
case ExpressionType::INVALID:
|
143
|
-
break;
|
144
|
-
}
|
145
|
-
return "INVALID";
|
9
|
+
return EnumSerializer::EnumToString(type);
|
10
|
+
}
|
11
|
+
|
12
|
+
string ExpressionClassToString(ExpressionClass type) {
|
13
|
+
return EnumSerializer::EnumToString(type);
|
146
14
|
}
|
147
|
-
// LCOV_EXCL_STOP
|
148
15
|
|
149
16
|
string ExpressionTypeToOperator(ExpressionType type) {
|
150
17
|
switch (type) {
|
@@ -173,7 +40,7 @@ string ExpressionTypeToOperator(ExpressionType type) {
|
|
173
40
|
}
|
174
41
|
}
|
175
42
|
|
176
|
-
ExpressionType
|
43
|
+
ExpressionType NegateComparisonExpression(ExpressionType type) {
|
177
44
|
ExpressionType negated_type = ExpressionType::INVALID;
|
178
45
|
switch (type) {
|
179
46
|
case ExpressionType::COMPARE_EQUAL:
|
@@ -200,7 +67,7 @@ ExpressionType NegateComparisionExpression(ExpressionType type) {
|
|
200
67
|
return negated_type;
|
201
68
|
}
|
202
69
|
|
203
|
-
ExpressionType
|
70
|
+
ExpressionType FlipComparisonExpression(ExpressionType type) {
|
204
71
|
ExpressionType flipped_type = ExpressionType::INVALID;
|
205
72
|
switch (type) {
|
206
73
|
case ExpressionType::COMPARE_NOT_DISTINCT_FROM:
|
@@ -244,85 +111,4 @@ ExpressionType OperatorToExpressionType(const string &op) {
|
|
244
111
|
return ExpressionType::INVALID;
|
245
112
|
}
|
246
113
|
|
247
|
-
string ExpressionClassToString(ExpressionClass type) {
|
248
|
-
switch (type) {
|
249
|
-
case ExpressionClass::INVALID:
|
250
|
-
return "INVALID";
|
251
|
-
case ExpressionClass::AGGREGATE:
|
252
|
-
return "AGGREGATE";
|
253
|
-
case ExpressionClass::CASE:
|
254
|
-
return "CASE";
|
255
|
-
case ExpressionClass::CAST:
|
256
|
-
return "CAST";
|
257
|
-
case ExpressionClass::COLUMN_REF:
|
258
|
-
return "COLUMN_REF";
|
259
|
-
case ExpressionClass::COMPARISON:
|
260
|
-
return "COMPARISON";
|
261
|
-
case ExpressionClass::CONJUNCTION:
|
262
|
-
return "CONJUNCTION";
|
263
|
-
case ExpressionClass::CONSTANT:
|
264
|
-
return "CONSTANT";
|
265
|
-
case ExpressionClass::DEFAULT:
|
266
|
-
return "DEFAULT";
|
267
|
-
case ExpressionClass::FUNCTION:
|
268
|
-
return "FUNCTION";
|
269
|
-
case ExpressionClass::OPERATOR:
|
270
|
-
return "OPERATOR";
|
271
|
-
case ExpressionClass::STAR:
|
272
|
-
return "STAR";
|
273
|
-
case ExpressionClass::SUBQUERY:
|
274
|
-
return "SUBQUERY";
|
275
|
-
case ExpressionClass::WINDOW:
|
276
|
-
return "WINDOW";
|
277
|
-
case ExpressionClass::PARAMETER:
|
278
|
-
return "PARAMETER";
|
279
|
-
case ExpressionClass::COLLATE:
|
280
|
-
return "COLLATE";
|
281
|
-
case ExpressionClass::LAMBDA:
|
282
|
-
return "LAMBDA";
|
283
|
-
case ExpressionClass::POSITIONAL_REFERENCE:
|
284
|
-
return "POSITIONAL_REFERENCE";
|
285
|
-
case ExpressionClass::BETWEEN:
|
286
|
-
return "BETWEEN";
|
287
|
-
case ExpressionClass::BOUND_AGGREGATE:
|
288
|
-
return "BOUND_AGGREGATE";
|
289
|
-
case ExpressionClass::BOUND_CASE:
|
290
|
-
return "BOUND_CASE";
|
291
|
-
case ExpressionClass::BOUND_CAST:
|
292
|
-
return "BOUND_CAST";
|
293
|
-
case ExpressionClass::BOUND_COLUMN_REF:
|
294
|
-
return "BOUND_COLUMN_REF";
|
295
|
-
case ExpressionClass::BOUND_COMPARISON:
|
296
|
-
return "BOUND_COMPARISON";
|
297
|
-
case ExpressionClass::BOUND_CONJUNCTION:
|
298
|
-
return "BOUND_CONJUNCTION";
|
299
|
-
case ExpressionClass::BOUND_CONSTANT:
|
300
|
-
return "BOUND_CONSTANT";
|
301
|
-
case ExpressionClass::BOUND_DEFAULT:
|
302
|
-
return "BOUND_DEFAULT";
|
303
|
-
case ExpressionClass::BOUND_FUNCTION:
|
304
|
-
return "BOUND_FUNCTION";
|
305
|
-
case ExpressionClass::BOUND_OPERATOR:
|
306
|
-
return "BOUND_OPERATOR";
|
307
|
-
case ExpressionClass::BOUND_PARAMETER:
|
308
|
-
return "BOUND_PARAMETER";
|
309
|
-
case ExpressionClass::BOUND_REF:
|
310
|
-
return "BOUND_REF";
|
311
|
-
case ExpressionClass::BOUND_SUBQUERY:
|
312
|
-
return "BOUND_SUBQUERY";
|
313
|
-
case ExpressionClass::BOUND_WINDOW:
|
314
|
-
return "BOUND_WINDOW";
|
315
|
-
case ExpressionClass::BOUND_BETWEEN:
|
316
|
-
return "BOUND_BETWEEN";
|
317
|
-
case ExpressionClass::BOUND_UNNEST:
|
318
|
-
return "BOUND_UNNEST";
|
319
|
-
case ExpressionClass::BOUND_LAMBDA:
|
320
|
-
return "BOUND_LAMBDA";
|
321
|
-
case ExpressionClass::BOUND_EXPRESSION:
|
322
|
-
return "BOUND_EXPRESSION";
|
323
|
-
default:
|
324
|
-
return "ExpressionClass::!!UNIMPLEMENTED_CASE!!";
|
325
|
-
}
|
326
|
-
}
|
327
|
-
|
328
114
|
} // namespace duckdb
|
@@ -1,30 +1,11 @@
|
|
1
1
|
#include "duckdb/common/enums/join_type.hpp"
|
2
|
+
#include "duckdb/common/serializer/enum_serializer.hpp"
|
2
3
|
|
3
4
|
namespace duckdb {
|
4
5
|
|
5
6
|
string JoinTypeToString(JoinType type) {
|
6
|
-
|
7
|
-
|
8
|
-
return "LEFT";
|
9
|
-
case JoinType::RIGHT:
|
10
|
-
return "RIGHT";
|
11
|
-
case JoinType::INNER:
|
12
|
-
return "INNER";
|
13
|
-
case JoinType::OUTER:
|
14
|
-
return "FULL";
|
15
|
-
case JoinType::SEMI:
|
16
|
-
return "SEMI";
|
17
|
-
case JoinType::ANTI:
|
18
|
-
return "ANTI";
|
19
|
-
case JoinType::SINGLE:
|
20
|
-
return "SINGLE";
|
21
|
-
case JoinType::MARK:
|
22
|
-
return "MARK";
|
23
|
-
case JoinType::INVALID: // LCOV_EXCL_START
|
24
|
-
break;
|
25
|
-
}
|
26
|
-
return "INVALID";
|
27
|
-
} // LCOV_EXCL_STOP
|
7
|
+
return EnumSerializer::EnumToString(type);
|
8
|
+
}
|
28
9
|
|
29
10
|
bool IsLeftOuterJoin(JoinType type) {
|
30
11
|
return type == JoinType::LEFT || type == JoinType::OUTER;
|
@@ -149,6 +149,7 @@ const HTTPException &Exception::AsHTTPException() const {
|
|
149
149
|
D_ASSERT(type == ExceptionType::HTTP);
|
150
150
|
const auto &e = static_cast<const HTTPException *>(this);
|
151
151
|
D_ASSERT(e->GetStatusCode() != 0);
|
152
|
+
D_ASSERT(e->GetHeaders().size() > 0);
|
152
153
|
return *e;
|
153
154
|
}
|
154
155
|
|
@@ -202,8 +203,7 @@ void Exception::ThrowAsTypeWithMessage(ExceptionType type, const string &message
|
|
202
203
|
case ExceptionType::DEPENDENCY:
|
203
204
|
throw DependencyException(message);
|
204
205
|
case ExceptionType::HTTP: {
|
205
|
-
|
206
|
-
throw HTTPException(exc.GetStatusCode(), exc.GetResponse(), exc.what());
|
206
|
+
original->AsHTTPException().Throw();
|
207
207
|
}
|
208
208
|
default:
|
209
209
|
throw Exception(type, message);
|