duckdb 0.7.2-dev2740.0 → 0.7.2-dev2867.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 +21 -13
- package/package.json +1 -1
- package/src/duckdb/extension/icu/icu-datepart.cpp +51 -1
- package/src/duckdb/extension/icu/icu-strptime.cpp +1 -1
- package/src/duckdb/extension/json/include/json_functions.hpp +35 -37
- package/src/duckdb/extension/json/include/json_scan.hpp +1 -1
- package/src/duckdb/extension/json/include/json_transform.hpp +1 -1
- package/src/duckdb/extension/json/json-extension.cpp +10 -20
- package/src/duckdb/extension/json/json_functions/copy_json.cpp +2 -2
- package/src/duckdb/extension/json/json_functions/json_array_length.cpp +2 -3
- package/src/duckdb/extension/json/json_functions/json_contains.cpp +2 -2
- package/src/duckdb/extension/json/json_functions/json_create.cpp +20 -20
- package/src/duckdb/extension/json/json_functions/json_extract.cpp +4 -6
- package/src/duckdb/extension/json/json_functions/json_keys.cpp +2 -3
- package/src/duckdb/extension/json/json_functions/json_merge_patch.cpp +2 -2
- package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +8 -8
- package/src/duckdb/extension/json/json_functions/json_structure.cpp +2 -2
- package/src/duckdb/extension/json/json_functions/json_transform.cpp +4 -4
- package/src/duckdb/extension/json/json_functions/json_type.cpp +2 -3
- package/src/duckdb/extension/json/json_functions/json_valid.cpp +2 -2
- package/src/duckdb/extension/json/json_functions/read_json.cpp +6 -6
- package/src/duckdb/extension/json/json_functions/read_json_objects.cpp +4 -4
- package/src/duckdb/extension/json/json_functions.cpp +6 -6
- package/src/duckdb/extension/parquet/parquet-extension.cpp +16 -28
- package/src/duckdb/src/catalog/catalog_entry/pragma_function_catalog_entry.cpp +1 -2
- package/src/duckdb/src/catalog/catalog_entry/scalar_function_catalog_entry.cpp +1 -1
- package/src/duckdb/src/catalog/catalog_entry/scalar_macro_catalog_entry.cpp +2 -2
- package/src/duckdb/src/catalog/catalog_entry/table_function_catalog_entry.cpp +1 -2
- package/src/duckdb/src/catalog/catalog_transaction.cpp +4 -0
- package/src/duckdb/src/catalog/duck_catalog.cpp +8 -1
- package/src/duckdb/src/common/enums/date_part_specifier.cpp +82 -0
- package/src/duckdb/src/common/local_file_system.cpp +1 -3
- package/src/duckdb/src/common/multi_file_reader.cpp +11 -8
- package/src/duckdb/src/common/types/vector.cpp +136 -3
- package/src/duckdb/src/{function → core_functions}/aggregate/algebraic/avg.cpp +9 -12
- package/src/duckdb/src/core_functions/aggregate/algebraic/corr.cpp +13 -0
- package/src/duckdb/src/core_functions/aggregate/algebraic/covar.cpp +21 -0
- package/src/duckdb/src/core_functions/aggregate/algebraic/stddev.cpp +34 -0
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/approx_count.cpp +3 -3
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/arg_min_max.cpp +7 -23
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/bitagg.cpp +10 -10
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/bitstring_agg.cpp +4 -4
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/bool.cpp +1 -17
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/entropy.cpp +5 -4
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/kurtosis.cpp +5 -6
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/minmax.cpp +5 -5
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/product.cpp +2 -11
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/skew.cpp +5 -6
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/string_agg.cpp +4 -6
- package/src/duckdb/src/{function → core_functions}/aggregate/distributive/sum.cpp +38 -46
- package/src/duckdb/src/{function → core_functions}/aggregate/holistic/approximate_quantile.cpp +4 -5
- package/src/duckdb/src/{function → core_functions}/aggregate/holistic/mode.cpp +4 -5
- package/src/duckdb/src/{function → core_functions}/aggregate/holistic/quantile.cpp +31 -23
- package/src/duckdb/src/{function → core_functions}/aggregate/holistic/reservoir_quantile.cpp +4 -5
- package/src/duckdb/src/{function → core_functions}/aggregate/nested/histogram.cpp +4 -4
- package/src/duckdb/src/{function → core_functions}/aggregate/nested/list.cpp +6 -10
- package/src/duckdb/src/{function → core_functions}/aggregate/regression/regr_avg.cpp +7 -11
- package/src/duckdb/src/{function → core_functions}/aggregate/regression/regr_count.cpp +4 -4
- package/src/duckdb/src/{function → core_functions}/aggregate/regression/regr_intercept.cpp +5 -8
- package/src/duckdb/src/{function → core_functions}/aggregate/regression/regr_r2.cpp +5 -7
- package/src/duckdb/src/{function → core_functions}/aggregate/regression/regr_slope.cpp +5 -7
- package/src/duckdb/src/{function → core_functions}/aggregate/regression/regr_sxx_syy.cpp +8 -12
- package/src/duckdb/src/{function → core_functions}/aggregate/regression/regr_sxy.cpp +6 -8
- package/src/duckdb/src/core_functions/core_functions.cpp +50 -0
- package/src/duckdb/src/core_functions/function_list.cpp +352 -0
- package/src/duckdb/src/{function → core_functions}/scalar/bit/bitstring.cpp +12 -15
- package/src/duckdb/src/{function → core_functions}/scalar/blob/base64.cpp +6 -6
- package/src/duckdb/src/{function → core_functions}/scalar/blob/encode.cpp +7 -6
- package/src/duckdb/src/{function → core_functions}/scalar/date/age.cpp +3 -3
- package/src/duckdb/src/{function → core_functions}/scalar/date/current.cpp +8 -8
- package/src/duckdb/src/{function → core_functions}/scalar/date/date_diff.cpp +3 -6
- package/src/duckdb/src/{function → core_functions}/scalar/date/date_part.cpp +144 -148
- package/src/duckdb/src/{function → core_functions}/scalar/date/date_sub.cpp +3 -6
- package/src/duckdb/src/{function → core_functions}/scalar/date/date_trunc.cpp +3 -6
- package/src/duckdb/src/{function → core_functions}/scalar/date/epoch.cpp +7 -8
- package/src/duckdb/src/{function → core_functions}/scalar/date/make_date.cpp +14 -14
- package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +251 -0
- package/src/duckdb/src/{function → core_functions}/scalar/date/time_bucket.cpp +4 -5
- package/src/duckdb/src/{function → core_functions}/scalar/date/to_interval.cpp +39 -19
- package/src/duckdb/src/{function/scalar/enum/enum_functions_implementation.cpp → core_functions/scalar/enum/enum_functions.cpp} +18 -22
- package/src/duckdb/src/{function → core_functions}/scalar/generic/alias.cpp +4 -4
- package/src/duckdb/src/{function → core_functions}/scalar/generic/current_setting.cpp +4 -5
- package/src/duckdb/src/{function → core_functions}/scalar/generic/error.cpp +4 -4
- package/src/duckdb/src/{function → core_functions}/scalar/generic/hash.cpp +4 -4
- package/src/duckdb/src/{function → core_functions}/scalar/generic/least.cpp +8 -9
- package/src/duckdb/src/{function → core_functions}/scalar/generic/stats.cpp +4 -4
- package/src/duckdb/src/{function/scalar/system → core_functions/scalar/generic}/system_functions.cpp +24 -13
- package/src/duckdb/src/{function → core_functions}/scalar/generic/typeof.cpp +4 -4
- package/src/duckdb/src/{function → core_functions}/scalar/list/array_slice.cpp +3 -13
- package/src/duckdb/src/{function → core_functions}/scalar/list/flatten.cpp +5 -5
- package/src/duckdb/src/{function → core_functions}/scalar/list/list_aggregates.cpp +2 -13
- package/src/duckdb/src/{function → core_functions}/scalar/list/list_lambdas.cpp +9 -24
- package/src/duckdb/src/{function → core_functions}/scalar/list/list_sort.cpp +8 -22
- package/src/duckdb/src/{function → core_functions}/scalar/list/list_value.cpp +4 -5
- package/src/duckdb/src/{function → core_functions}/scalar/list/range.cpp +8 -6
- package/src/duckdb/src/{function → core_functions}/scalar/map/cardinality.cpp +5 -4
- package/src/duckdb/src/{function → core_functions}/scalar/map/map.cpp +6 -63
- package/src/duckdb/src/{function → core_functions}/scalar/map/map_entries.cpp +5 -4
- package/src/duckdb/src/{function → core_functions}/scalar/map/map_extract.cpp +22 -7
- package/src/duckdb/src/{function → core_functions}/scalar/map/map_from_entries.cpp +6 -5
- package/src/duckdb/src/{function → core_functions}/scalar/map/map_keys_values.cpp +8 -7
- package/src/duckdb/src/{function → core_functions}/scalar/math/numeric.cpp +110 -138
- package/src/duckdb/src/{function → core_functions}/scalar/operators/bitwise.cpp +19 -20
- package/src/duckdb/src/{function/scalar/math → core_functions/scalar/random}/random.cpp +5 -6
- package/src/duckdb/src/{function/scalar/math → core_functions/scalar/random}/setseed.cpp +3 -3
- package/src/duckdb/src/{function → core_functions}/scalar/string/ascii.cpp +4 -5
- package/src/duckdb/src/{function → core_functions}/scalar/string/bar.cpp +4 -4
- package/src/duckdb/src/{function → core_functions}/scalar/string/chr.cpp +5 -6
- package/src/duckdb/src/{function → core_functions}/scalar/string/damerau_levenshtein.cpp +4 -6
- package/src/duckdb/src/{function/scalar/string/mismatches.cpp → core_functions/scalar/string/hamming.cpp} +3 -12
- package/src/duckdb/src/{function → core_functions}/scalar/string/hex.cpp +15 -25
- package/src/duckdb/src/{function → core_functions}/scalar/string/instr.cpp +6 -13
- package/src/duckdb/src/{function → core_functions}/scalar/string/jaccard.cpp +3 -6
- package/src/duckdb/src/{function → core_functions}/scalar/string/jaro_winkler.cpp +7 -6
- package/src/duckdb/src/{function → core_functions}/scalar/string/left_right.cpp +18 -11
- package/src/duckdb/src/{function → core_functions}/scalar/string/levenshtein.cpp +3 -12
- package/src/duckdb/src/{function → core_functions}/scalar/string/md5.cpp +15 -21
- package/src/duckdb/src/{function → core_functions}/scalar/string/pad.cpp +7 -13
- package/src/duckdb/src/{function → core_functions}/scalar/string/printf.cpp +10 -10
- package/src/duckdb/src/{function → core_functions}/scalar/string/repeat.cpp +3 -6
- package/src/duckdb/src/{function → core_functions}/scalar/string/replace.cpp +4 -7
- package/src/duckdb/src/{function → core_functions}/scalar/string/reverse.cpp +3 -3
- package/src/duckdb/src/{function → core_functions}/scalar/string/starts_with.cpp +4 -8
- package/src/duckdb/src/{function → core_functions}/scalar/string/string_split.cpp +11 -11
- package/src/duckdb/src/{function → core_functions}/scalar/string/translate.cpp +4 -7
- package/src/duckdb/src/{function → core_functions}/scalar/string/trim.cpp +19 -14
- package/src/duckdb/src/core_functions/scalar/string/unicode.cpp +28 -0
- package/src/duckdb/src/{function → core_functions}/scalar/struct/struct_insert.cpp +4 -4
- package/src/duckdb/src/{function → core_functions}/scalar/struct/struct_pack.cpp +3 -4
- package/src/duckdb/src/{function → core_functions}/scalar/union/union_extract.cpp +4 -8
- package/src/duckdb/src/{function → core_functions}/scalar/union/union_tag.cpp +4 -8
- package/src/duckdb/src/{function → core_functions}/scalar/union/union_value.cpp +4 -59
- package/src/duckdb/src/execution/operator/persistent/base_csv_reader.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/parallel_csv_reader.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +11 -2
- package/src/duckdb/src/function/aggregate/distributive_functions.cpp +0 -17
- package/src/duckdb/src/function/cast/string_cast.cpp +1 -1
- package/src/duckdb/src/function/function.cpp +0 -8
- package/src/duckdb/src/function/function_set.cpp +25 -0
- package/src/duckdb/src/function/scalar/generic_functions.cpp +1 -9
- package/src/duckdb/src/function/scalar/nested_functions.cpp +0 -22
- package/src/duckdb/src/function/scalar/operators.cpp +0 -6
- package/src/duckdb/src/function/scalar/{date/strftime.cpp → strftime_format.cpp} +1 -249
- package/src/duckdb/src/function/scalar/string/length.cpp +0 -19
- package/src/duckdb/src/function/scalar/string_functions.cpp +0 -40
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +5 -0
- package/src/duckdb/src/function/table/arrow_conversion.cpp +1 -1
- package/src/duckdb/src/function/table/read_csv.cpp +7 -4
- package/src/duckdb/src/function/table/system/duckdb_functions.cpp +27 -40
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/aggregate_function_catalog_entry.hpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/function_entry.hpp +33 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/pragma_function_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/scalar_function_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_function_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_transaction.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/algorithm.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +5 -4
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +11 -1
- package/src/duckdb/src/include/duckdb/{function → core_functions}/aggregate/algebraic/corr.hpp +3 -4
- package/src/duckdb/src/include/duckdb/{function → core_functions}/aggregate/algebraic/covar.hpp +1 -1
- package/src/duckdb/src/include/duckdb/{function → core_functions}/aggregate/algebraic/stddev.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic_functions.hpp +124 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +229 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/holistic_functions.hpp +85 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/nested_functions.hpp +41 -0
- package/src/duckdb/src/include/duckdb/{function → core_functions}/aggregate/regression/regr_count.hpp +3 -4
- package/src/duckdb/src/include/duckdb/{function → core_functions}/aggregate/regression/regr_slope.hpp +2 -2
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression_functions.hpp +97 -0
- package/src/duckdb/src/include/duckdb/{function → core_functions}/aggregate/sum_helpers.hpp +1 -1
- package/src/duckdb/src/include/duckdb/{function/scalar/uuid_functions.hpp → core_functions/core_functions.hpp} +7 -5
- package/src/duckdb/src/include/duckdb/core_functions/function_list.hpp +33 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/bit_functions.hpp +52 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/blob_functions.hpp +58 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/date_functions.hpp +544 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/enum_functions.hpp +61 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/generic_functions.hpp +142 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/list_functions.hpp +220 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/map_functions.hpp +85 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/math_functions.hpp +394 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/operators_functions.hpp +70 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/random_functions.hpp +49 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +439 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/struct_functions.hpp +40 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/union_functions.hpp +43 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/base_csv_reader.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_reader_options.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_type.hpp +4 -0
- package/src/duckdb/src/include/duckdb/function/aggregate/distributive_functions.hpp +0 -85
- package/src/duckdb/src/include/duckdb/function/built_in_functions.hpp +0 -8
- package/src/duckdb/src/include/duckdb/function/function_set.hpp +7 -2
- package/src/duckdb/src/include/duckdb/function/scalar/generic_functions.hpp +1 -36
- package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +0 -120
- package/src/duckdb/src/include/duckdb/function/scalar/operators.hpp +0 -24
- package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +1 -97
- package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/database.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/database_manager.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +0 -2
- package/src/duckdb/src/include/duckdb/main/extension_util.hpp +48 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_function_info.hpp +6 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +5 -1
- package/src/duckdb/src/main/attached_database.cpp +5 -3
- package/src/duckdb/src/main/database.cpp +34 -37
- package/src/duckdb/src/main/extension/extension_helper.cpp +1 -0
- package/src/duckdb/src/main/extension/extension_load.cpp +61 -38
- package/src/duckdb/src/main/extension/extension_util.cpp +90 -0
- package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +1 -4
- package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +2 -4
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +43 -24
- package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +3 -0
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +17 -28
- package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +6 -7
- package/src/duckdb/third_party/fmt/format.cc +0 -5
- package/src/duckdb/third_party/fmt/include/fmt/core.h +10 -12
- package/src/duckdb/third_party/fmt/include/fmt/format-inl.h +2 -33
- package/src/duckdb/third_party/fmt/include/fmt/format.h +61 -24
- package/src/duckdb/third_party/fmt/include/fmt/printf.h +15 -1
- package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +1 -0
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +10735 -10674
- package/src/duckdb/ub_src_common_enums.cpp +2 -0
- package/src/duckdb/ub_src_core_functions.cpp +4 -0
- package/src/duckdb/ub_src_core_functions_aggregate_algebraic.cpp +8 -0
- package/src/duckdb/ub_src_core_functions_aggregate_distributive.cpp +24 -0
- package/src/duckdb/ub_src_core_functions_aggregate_holistic.cpp +8 -0
- package/src/duckdb/ub_src_core_functions_aggregate_nested.cpp +4 -0
- package/src/duckdb/ub_src_core_functions_aggregate_regression.cpp +14 -0
- package/src/duckdb/ub_src_core_functions_scalar_bit.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_blob.cpp +4 -0
- package/src/duckdb/ub_src_core_functions_scalar_date.cpp +22 -0
- package/src/duckdb/ub_src_core_functions_scalar_enum.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_generic.cpp +16 -0
- package/src/duckdb/ub_src_core_functions_scalar_list.cpp +14 -0
- package/src/duckdb/ub_src_core_functions_scalar_map.cpp +12 -0
- package/src/duckdb/ub_src_core_functions_scalar_math.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_operators.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_random.cpp +4 -0
- package/src/duckdb/ub_src_core_functions_scalar_string.cpp +44 -0
- package/src/duckdb/ub_src_core_functions_scalar_struct.cpp +4 -0
- package/src/duckdb/ub_src_core_functions_scalar_union.cpp +6 -0
- package/src/duckdb/ub_src_function_aggregate.cpp +0 -8
- package/src/duckdb/ub_src_function_aggregate_distributive.cpp +0 -24
- package/src/duckdb/ub_src_function_scalar.cpp +2 -8
- package/src/duckdb/ub_src_function_scalar_generic.cpp +0 -14
- package/src/duckdb/ub_src_function_scalar_list.cpp +0 -14
- package/src/duckdb/ub_src_function_scalar_operators.cpp +0 -2
- package/src/duckdb/ub_src_function_scalar_string.cpp +0 -42
- package/src/duckdb/ub_src_function_scalar_struct.cpp +0 -4
- package/src/duckdb/ub_src_function_scalar_system.cpp +0 -2
- package/src/duckdb/ub_src_main_extension.cpp +2 -0
- package/src/duckdb/src/function/aggregate/algebraic/corr.cpp +0 -14
- package/src/duckdb/src/function/aggregate/algebraic/covar.cpp +0 -25
- package/src/duckdb/src/function/aggregate/algebraic/stddev.cpp +0 -54
- package/src/duckdb/src/function/aggregate/algebraic_functions.cpp +0 -21
- package/src/duckdb/src/function/aggregate/holistic_functions.cpp +0 -12
- package/src/duckdb/src/function/aggregate/nested_functions.cpp +0 -10
- package/src/duckdb/src/function/aggregate/regression_functions.cpp +0 -21
- package/src/duckdb/src/function/scalar/date_functions.cpp +0 -22
- package/src/duckdb/src/function/scalar/enum_functions.cpp +0 -13
- package/src/duckdb/src/function/scalar/math_functions.cpp +0 -50
- package/src/duckdb/src/function/scalar/trigonometrics_functions.cpp +0 -18
- package/src/duckdb/src/include/duckdb/function/aggregate/algebraic_functions.hpp +0 -56
- package/src/duckdb/src/include/duckdb/function/aggregate/holistic_functions.hpp +0 -33
- package/src/duckdb/src/include/duckdb/function/aggregate/nested_functions.hpp +0 -26
- package/src/duckdb/src/include/duckdb/function/aggregate/regression_functions.hpp +0 -53
- package/src/duckdb/src/include/duckdb/function/scalar/bit_functions.hpp +0 -32
- package/src/duckdb/src/include/duckdb/function/scalar/blob_functions.hpp +0 -24
- package/src/duckdb/src/include/duckdb/function/scalar/date_functions.hpp +0 -73
- package/src/duckdb/src/include/duckdb/function/scalar/enum_functions.hpp +0 -37
- package/src/duckdb/src/include/duckdb/function/scalar/math_functions.hpp +0 -137
- package/src/duckdb/src/include/duckdb/function/scalar/trigonometric_functions.hpp +0 -49
- package/src/duckdb/ub_src_function_aggregate_algebraic.cpp +0 -8
- package/src/duckdb/ub_src_function_aggregate_holistic.cpp +0 -8
- package/src/duckdb/ub_src_function_aggregate_nested.cpp +0 -4
- package/src/duckdb/ub_src_function_aggregate_regression.cpp +0 -14
- package/src/duckdb/ub_src_function_scalar_bit.cpp +0 -2
- package/src/duckdb/ub_src_function_scalar_blob.cpp +0 -4
- package/src/duckdb/ub_src_function_scalar_date.cpp +0 -22
- package/src/duckdb/ub_src_function_scalar_enum.cpp +0 -2
- package/src/duckdb/ub_src_function_scalar_map.cpp +0 -12
- package/src/duckdb/ub_src_function_scalar_math.cpp +0 -6
- package/src/duckdb/ub_src_function_scalar_union.cpp +0 -6
- /package/src/duckdb/src/include/duckdb/function/scalar/{strftime.hpp → strftime_format.hpp} +0 -0
@@ -1,6 +1,5 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/math_functions.hpp"
|
2
2
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
3
|
-
#include "duckdb/function/scalar/trigonometric_functions.hpp"
|
4
3
|
#include "duckdb/common/operator/abs.hpp"
|
5
4
|
#include "duckdb/common/operator/multiply.hpp"
|
6
5
|
#include "duckdb/common/types/hugeint.hpp"
|
@@ -59,14 +58,14 @@ struct NextAfterOperator {
|
|
59
58
|
}
|
60
59
|
};
|
61
60
|
|
62
|
-
|
63
|
-
ScalarFunctionSet next_after_fun
|
61
|
+
ScalarFunctionSet NextAfterFun::GetFunctions() {
|
62
|
+
ScalarFunctionSet next_after_fun;
|
64
63
|
next_after_fun.AddFunction(
|
65
|
-
ScalarFunction(
|
64
|
+
ScalarFunction({LogicalType::DOUBLE, LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
66
65
|
ScalarFunction::BinaryFunction<double, double, double, NextAfterOperator>));
|
67
|
-
next_after_fun.AddFunction(ScalarFunction(
|
66
|
+
next_after_fun.AddFunction(ScalarFunction({LogicalType::FLOAT, LogicalType::FLOAT}, LogicalType::FLOAT,
|
68
67
|
ScalarFunction::BinaryFunction<float, float, float, NextAfterOperator>));
|
69
|
-
|
68
|
+
return next_after_fun;
|
70
69
|
}
|
71
70
|
|
72
71
|
//===--------------------------------------------------------------------===//
|
@@ -158,8 +157,8 @@ unique_ptr<FunctionData> DecimalUnaryOpBind(ClientContext &context, ScalarFuncti
|
|
158
157
|
return nullptr;
|
159
158
|
}
|
160
159
|
|
161
|
-
|
162
|
-
ScalarFunctionSet abs
|
160
|
+
ScalarFunctionSet AbsOperatorFun::GetFunctions() {
|
161
|
+
ScalarFunctionSet abs;
|
163
162
|
for (auto &type : LogicalType::Numeric()) {
|
164
163
|
switch (type.id()) {
|
165
164
|
case LogicalTypeId::DECIMAL:
|
@@ -185,9 +184,7 @@ void AbsFun::RegisterFunction(BuiltinFunctions &set) {
|
|
185
184
|
break;
|
186
185
|
}
|
187
186
|
}
|
188
|
-
|
189
|
-
abs.name = "@";
|
190
|
-
set.AddFunction(abs);
|
187
|
+
return abs;
|
191
188
|
}
|
192
189
|
|
193
190
|
//===--------------------------------------------------------------------===//
|
@@ -229,8 +226,8 @@ struct BitStringBitCntOperator {
|
|
229
226
|
}
|
230
227
|
};
|
231
228
|
|
232
|
-
|
233
|
-
ScalarFunctionSet functions
|
229
|
+
ScalarFunctionSet BitCountFun::GetFunctions() {
|
230
|
+
ScalarFunctionSet functions;
|
234
231
|
functions.AddFunction(ScalarFunction({LogicalType::TINYINT}, LogicalType::TINYINT,
|
235
232
|
ScalarFunction::UnaryFunction<int8_t, int8_t, BitCntOperator>));
|
236
233
|
functions.AddFunction(ScalarFunction({LogicalType::SMALLINT}, LogicalType::TINYINT,
|
@@ -243,7 +240,7 @@ void BitCountFun::RegisterFunction(BuiltinFunctions &set) {
|
|
243
240
|
ScalarFunction::UnaryFunction<hugeint_t, int8_t, HugeIntBitCntOperator>));
|
244
241
|
functions.AddFunction(ScalarFunction({LogicalType::BIT}, LogicalType::BIGINT,
|
245
242
|
ScalarFunction::UnaryFunction<string_t, idx_t, BitStringBitCntOperator>));
|
246
|
-
|
243
|
+
return functions;
|
247
244
|
}
|
248
245
|
|
249
246
|
//===--------------------------------------------------------------------===//
|
@@ -284,8 +281,8 @@ int8_t SignOperator::Operation(double input) {
|
|
284
281
|
}
|
285
282
|
}
|
286
283
|
|
287
|
-
|
288
|
-
ScalarFunctionSet sign
|
284
|
+
ScalarFunctionSet SignFun::GetFunctions() {
|
285
|
+
ScalarFunctionSet sign;
|
289
286
|
for (auto &type : LogicalType::Numeric()) {
|
290
287
|
if (type.id() == LogicalTypeId::DECIMAL) {
|
291
288
|
continue;
|
@@ -295,7 +292,7 @@ void SignFun::RegisterFunction(BuiltinFunctions &set) {
|
|
295
292
|
ScalarFunction::GetScalarUnaryFunctionFixedReturn<int8_t, SignOperator>(type)));
|
296
293
|
}
|
297
294
|
}
|
298
|
-
|
295
|
+
return sign;
|
299
296
|
}
|
300
297
|
|
301
298
|
//===--------------------------------------------------------------------===//
|
@@ -360,8 +357,8 @@ struct CeilDecimalOperator {
|
|
360
357
|
}
|
361
358
|
};
|
362
359
|
|
363
|
-
|
364
|
-
ScalarFunctionSet ceil
|
360
|
+
ScalarFunctionSet CeilFun::GetFunctions() {
|
361
|
+
ScalarFunctionSet ceil;
|
365
362
|
for (auto &type : LogicalType::Numeric()) {
|
366
363
|
scalar_function_t func = nullptr;
|
367
364
|
bind_scalar_function_t bind_func = nullptr;
|
@@ -384,10 +381,7 @@ void CeilFun::RegisterFunction(BuiltinFunctions &set) {
|
|
384
381
|
}
|
385
382
|
ceil.AddFunction(ScalarFunction({type}, type, func, bind_func));
|
386
383
|
}
|
387
|
-
|
388
|
-
set.AddFunction(ceil);
|
389
|
-
ceil.name = "ceiling";
|
390
|
-
set.AddFunction(ceil);
|
384
|
+
return ceil;
|
391
385
|
}
|
392
386
|
|
393
387
|
//===--------------------------------------------------------------------===//
|
@@ -416,8 +410,8 @@ struct FloorDecimalOperator {
|
|
416
410
|
}
|
417
411
|
};
|
418
412
|
|
419
|
-
|
420
|
-
ScalarFunctionSet floor
|
413
|
+
ScalarFunctionSet FloorFun::GetFunctions() {
|
414
|
+
ScalarFunctionSet floor;
|
421
415
|
for (auto &type : LogicalType::Numeric()) {
|
422
416
|
scalar_function_t func = nullptr;
|
423
417
|
bind_scalar_function_t bind_func = nullptr;
|
@@ -440,7 +434,7 @@ void FloorFun::RegisterFunction(BuiltinFunctions &set) {
|
|
440
434
|
}
|
441
435
|
floor.AddFunction(ScalarFunction({type}, type, func, bind_func));
|
442
436
|
}
|
443
|
-
|
437
|
+
return floor;
|
444
438
|
}
|
445
439
|
|
446
440
|
//===--------------------------------------------------------------------===//
|
@@ -465,8 +459,8 @@ struct TruncDecimalOperator {
|
|
465
459
|
}
|
466
460
|
};
|
467
461
|
|
468
|
-
|
469
|
-
ScalarFunctionSet
|
462
|
+
ScalarFunctionSet TruncFun::GetFunctions() {
|
463
|
+
ScalarFunctionSet trunc;
|
470
464
|
for (auto &type : LogicalType::Numeric()) {
|
471
465
|
scalar_function_t func = nullptr;
|
472
466
|
bind_scalar_function_t bind_func = nullptr;
|
@@ -495,9 +489,9 @@ void TruncFun::RegisterFunction(BuiltinFunctions &set) {
|
|
495
489
|
default:
|
496
490
|
throw InternalException("Unimplemented numeric type for function \"trunc\"");
|
497
491
|
}
|
498
|
-
|
492
|
+
trunc.AddFunction(ScalarFunction({type}, type, func, bind_func));
|
499
493
|
}
|
500
|
-
|
494
|
+
return trunc;
|
501
495
|
}
|
502
496
|
|
503
497
|
//===--------------------------------------------------------------------===//
|
@@ -683,8 +677,8 @@ unique_ptr<FunctionData> BindDecimalRoundPrecision(ClientContext &context, Scala
|
|
683
677
|
return make_uniq<RoundPrecisionFunctionData>(round_value);
|
684
678
|
}
|
685
679
|
|
686
|
-
|
687
|
-
ScalarFunctionSet round
|
680
|
+
ScalarFunctionSet RoundFun::GetFunctions() {
|
681
|
+
ScalarFunctionSet round;
|
688
682
|
for (auto &type : LogicalType::Numeric()) {
|
689
683
|
scalar_function_t round_prec_func = nullptr;
|
690
684
|
scalar_function_t round_func = nullptr;
|
@@ -713,7 +707,7 @@ void RoundFun::RegisterFunction(BuiltinFunctions &set) {
|
|
713
707
|
round.AddFunction(ScalarFunction({type}, type, round_func, bind_func));
|
714
708
|
round.AddFunction(ScalarFunction({type, LogicalType::INTEGER}, type, round_prec_func, bind_prec_func));
|
715
709
|
}
|
716
|
-
|
710
|
+
return round;
|
717
711
|
}
|
718
712
|
|
719
713
|
//===--------------------------------------------------------------------===//
|
@@ -726,9 +720,9 @@ struct ExpOperator {
|
|
726
720
|
}
|
727
721
|
};
|
728
722
|
|
729
|
-
|
730
|
-
|
731
|
-
|
723
|
+
ScalarFunction ExpFun::GetFunction() {
|
724
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
725
|
+
ScalarFunction::UnaryFunction<double, double, ExpOperator>);
|
732
726
|
}
|
733
727
|
|
734
728
|
//===--------------------------------------------------------------------===//
|
@@ -741,16 +735,9 @@ struct PowOperator {
|
|
741
735
|
}
|
742
736
|
};
|
743
737
|
|
744
|
-
|
745
|
-
ScalarFunction
|
746
|
-
|
747
|
-
set.AddFunction(power_function);
|
748
|
-
power_function.name = "power";
|
749
|
-
set.AddFunction(power_function);
|
750
|
-
power_function.name = "**";
|
751
|
-
set.AddFunction(power_function);
|
752
|
-
power_function.name = "^";
|
753
|
-
set.AddFunction(power_function);
|
738
|
+
ScalarFunction PowOperatorFun::GetFunction() {
|
739
|
+
return ScalarFunction({LogicalType::DOUBLE, LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
740
|
+
ScalarFunction::BinaryFunction<double, double, double, PowOperator>);
|
754
741
|
}
|
755
742
|
|
756
743
|
//===--------------------------------------------------------------------===//
|
@@ -766,9 +753,9 @@ struct SqrtOperator {
|
|
766
753
|
}
|
767
754
|
};
|
768
755
|
|
769
|
-
|
770
|
-
|
771
|
-
|
756
|
+
ScalarFunction SqrtFun::GetFunction() {
|
757
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
758
|
+
ScalarFunction::UnaryFunction<double, double, SqrtOperator>);
|
772
759
|
}
|
773
760
|
|
774
761
|
//===--------------------------------------------------------------------===//
|
@@ -781,9 +768,9 @@ struct CbRtOperator {
|
|
781
768
|
}
|
782
769
|
};
|
783
770
|
|
784
|
-
|
785
|
-
|
786
|
-
|
771
|
+
ScalarFunction CbrtFun::GetFunction() {
|
772
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
773
|
+
ScalarFunction::UnaryFunction<double, double, CbRtOperator>);
|
787
774
|
}
|
788
775
|
|
789
776
|
//===--------------------------------------------------------------------===//
|
@@ -803,9 +790,9 @@ struct LnOperator {
|
|
803
790
|
}
|
804
791
|
};
|
805
792
|
|
806
|
-
|
807
|
-
|
808
|
-
|
793
|
+
ScalarFunction LnFun::GetFunction() {
|
794
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
795
|
+
ScalarFunction::UnaryFunction<double, double, LnOperator>);
|
809
796
|
}
|
810
797
|
|
811
798
|
//===--------------------------------------------------------------------===//
|
@@ -824,9 +811,9 @@ struct Log10Operator {
|
|
824
811
|
}
|
825
812
|
};
|
826
813
|
|
827
|
-
|
828
|
-
|
829
|
-
|
814
|
+
ScalarFunction Log10Fun::GetFunction() {
|
815
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
816
|
+
ScalarFunction::UnaryFunction<double, double, Log10Operator>);
|
830
817
|
}
|
831
818
|
|
832
819
|
//===--------------------------------------------------------------------===//
|
@@ -845,9 +832,9 @@ struct Log2Operator {
|
|
845
832
|
}
|
846
833
|
};
|
847
834
|
|
848
|
-
|
849
|
-
|
850
|
-
|
835
|
+
ScalarFunction Log2Fun::GetFunction() {
|
836
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
837
|
+
ScalarFunction::UnaryFunction<double, double, Log2Operator>);
|
851
838
|
}
|
852
839
|
|
853
840
|
//===--------------------------------------------------------------------===//
|
@@ -859,8 +846,8 @@ static void PiFunction(DataChunk &args, ExpressionState &state, Vector &result)
|
|
859
846
|
result.Reference(pi_value);
|
860
847
|
}
|
861
848
|
|
862
|
-
|
863
|
-
|
849
|
+
ScalarFunction PiFun::GetFunction() {
|
850
|
+
return ScalarFunction({}, LogicalType::DOUBLE, PiFunction);
|
864
851
|
}
|
865
852
|
|
866
853
|
//===--------------------------------------------------------------------===//
|
@@ -873,9 +860,9 @@ struct DegreesOperator {
|
|
873
860
|
}
|
874
861
|
};
|
875
862
|
|
876
|
-
|
877
|
-
|
878
|
-
|
863
|
+
ScalarFunction DegreesFun::GetFunction() {
|
864
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
865
|
+
ScalarFunction::UnaryFunction<double, double, DegreesOperator>);
|
879
866
|
}
|
880
867
|
|
881
868
|
//===--------------------------------------------------------------------===//
|
@@ -888,9 +875,9 @@ struct RadiansOperator {
|
|
888
875
|
}
|
889
876
|
};
|
890
877
|
|
891
|
-
|
892
|
-
|
893
|
-
|
878
|
+
ScalarFunction RadiansFun::GetFunction() {
|
879
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
880
|
+
ScalarFunction::UnaryFunction<double, double, RadiansOperator>);
|
894
881
|
}
|
895
882
|
|
896
883
|
//===--------------------------------------------------------------------===//
|
@@ -903,13 +890,13 @@ struct IsNanOperator {
|
|
903
890
|
}
|
904
891
|
};
|
905
892
|
|
906
|
-
|
907
|
-
ScalarFunctionSet funcs
|
893
|
+
ScalarFunctionSet IsNanFun::GetFunctions() {
|
894
|
+
ScalarFunctionSet funcs;
|
908
895
|
funcs.AddFunction(ScalarFunction({LogicalType::FLOAT}, LogicalType::BOOLEAN,
|
909
896
|
ScalarFunction::UnaryFunction<float, bool, IsNanOperator>));
|
910
897
|
funcs.AddFunction(ScalarFunction({LogicalType::DOUBLE}, LogicalType::BOOLEAN,
|
911
898
|
ScalarFunction::UnaryFunction<double, bool, IsNanOperator>));
|
912
|
-
|
899
|
+
return funcs;
|
913
900
|
}
|
914
901
|
|
915
902
|
//===--------------------------------------------------------------------===//
|
@@ -922,13 +909,13 @@ struct SignBitOperator {
|
|
922
909
|
}
|
923
910
|
};
|
924
911
|
|
925
|
-
|
926
|
-
ScalarFunctionSet funcs
|
912
|
+
ScalarFunctionSet SignBitFun::GetFunctions() {
|
913
|
+
ScalarFunctionSet funcs;
|
927
914
|
funcs.AddFunction(ScalarFunction({LogicalType::FLOAT}, LogicalType::BOOLEAN,
|
928
915
|
ScalarFunction::UnaryFunction<float, bool, SignBitOperator>));
|
929
916
|
funcs.AddFunction(ScalarFunction({LogicalType::DOUBLE}, LogicalType::BOOLEAN,
|
930
917
|
ScalarFunction::UnaryFunction<double, bool, SignBitOperator>));
|
931
|
-
|
918
|
+
return funcs;
|
932
919
|
}
|
933
920
|
|
934
921
|
//===--------------------------------------------------------------------===//
|
@@ -951,7 +938,7 @@ bool IsInfiniteOperator::Operation(timestamp_t input) {
|
|
951
938
|
return !Value::IsFinite(input);
|
952
939
|
}
|
953
940
|
|
954
|
-
|
941
|
+
ScalarFunctionSet IsInfiniteFun::GetFunctions() {
|
955
942
|
ScalarFunctionSet funcs("isinf");
|
956
943
|
funcs.AddFunction(ScalarFunction({LogicalType::FLOAT}, LogicalType::BOOLEAN,
|
957
944
|
ScalarFunction::UnaryFunction<float, bool, IsInfiniteOperator>));
|
@@ -963,7 +950,7 @@ void IsInfiniteFun::RegisterFunction(BuiltinFunctions &set) {
|
|
963
950
|
ScalarFunction::UnaryFunction<timestamp_t, bool, IsInfiniteOperator>));
|
964
951
|
funcs.AddFunction(ScalarFunction({LogicalType::TIMESTAMP_TZ}, LogicalType::BOOLEAN,
|
965
952
|
ScalarFunction::UnaryFunction<timestamp_t, bool, IsInfiniteOperator>));
|
966
|
-
|
953
|
+
return funcs;
|
967
954
|
}
|
968
955
|
|
969
956
|
//===--------------------------------------------------------------------===//
|
@@ -976,8 +963,8 @@ struct IsFiniteOperator {
|
|
976
963
|
}
|
977
964
|
};
|
978
965
|
|
979
|
-
|
980
|
-
ScalarFunctionSet funcs
|
966
|
+
ScalarFunctionSet IsFiniteFun::GetFunctions() {
|
967
|
+
ScalarFunctionSet funcs;
|
981
968
|
funcs.AddFunction(ScalarFunction({LogicalType::FLOAT}, LogicalType::BOOLEAN,
|
982
969
|
ScalarFunction::UnaryFunction<float, bool, IsFiniteOperator>));
|
983
970
|
funcs.AddFunction(ScalarFunction({LogicalType::DOUBLE}, LogicalType::BOOLEAN,
|
@@ -988,7 +975,7 @@ void IsFiniteFun::RegisterFunction(BuiltinFunctions &set) {
|
|
988
975
|
ScalarFunction::UnaryFunction<timestamp_t, bool, IsFiniteOperator>));
|
989
976
|
funcs.AddFunction(ScalarFunction({LogicalType::TIMESTAMP_TZ}, LogicalType::BOOLEAN,
|
990
977
|
ScalarFunction::UnaryFunction<timestamp_t, bool, IsFiniteOperator>));
|
991
|
-
|
978
|
+
return funcs;
|
992
979
|
}
|
993
980
|
|
994
981
|
//===--------------------------------------------------------------------===//
|
@@ -1015,10 +1002,9 @@ struct SinOperator {
|
|
1015
1002
|
}
|
1016
1003
|
};
|
1017
1004
|
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<SinOperator>>));
|
1005
|
+
ScalarFunction SinFun::GetFunction() {
|
1006
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1007
|
+
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<SinOperator>>);
|
1022
1008
|
}
|
1023
1009
|
|
1024
1010
|
//===--------------------------------------------------------------------===//
|
@@ -1031,10 +1017,9 @@ struct CosOperator {
|
|
1031
1017
|
}
|
1032
1018
|
};
|
1033
1019
|
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<CosOperator>>));
|
1020
|
+
ScalarFunction CosFun::GetFunction() {
|
1021
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1022
|
+
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<CosOperator>>);
|
1038
1023
|
}
|
1039
1024
|
|
1040
1025
|
//===--------------------------------------------------------------------===//
|
@@ -1047,10 +1032,9 @@ struct TanOperator {
|
|
1047
1032
|
}
|
1048
1033
|
};
|
1049
1034
|
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<TanOperator>>));
|
1035
|
+
ScalarFunction TanFun::GetFunction() {
|
1036
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1037
|
+
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<TanOperator>>);
|
1054
1038
|
}
|
1055
1039
|
|
1056
1040
|
//===--------------------------------------------------------------------===//
|
@@ -1066,10 +1050,9 @@ struct ASinOperator {
|
|
1066
1050
|
}
|
1067
1051
|
};
|
1068
1052
|
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<ASinOperator>>));
|
1053
|
+
ScalarFunction AsinFun::GetFunction() {
|
1054
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1055
|
+
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<ASinOperator>>);
|
1073
1056
|
}
|
1074
1057
|
|
1075
1058
|
//===--------------------------------------------------------------------===//
|
@@ -1082,9 +1065,9 @@ struct ATanOperator {
|
|
1082
1065
|
}
|
1083
1066
|
};
|
1084
1067
|
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1068
|
+
ScalarFunction AtanFun::GetFunction() {
|
1069
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1070
|
+
ScalarFunction::UnaryFunction<double, double, ATanOperator>);
|
1088
1071
|
}
|
1089
1072
|
|
1090
1073
|
//===--------------------------------------------------------------------===//
|
@@ -1097,9 +1080,9 @@ struct ATan2 {
|
|
1097
1080
|
}
|
1098
1081
|
};
|
1099
1082
|
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1083
|
+
ScalarFunction Atan2Fun::GetFunction() {
|
1084
|
+
return ScalarFunction({LogicalType::DOUBLE, LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1085
|
+
ScalarFunction::BinaryFunction<double, double, double, ATan2>);
|
1103
1086
|
}
|
1104
1087
|
|
1105
1088
|
//===--------------------------------------------------------------------===//
|
@@ -1112,9 +1095,9 @@ struct ACos {
|
|
1112
1095
|
}
|
1113
1096
|
};
|
1114
1097
|
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1098
|
+
ScalarFunction AcosFun::GetFunction() {
|
1099
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1100
|
+
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<ACos>>);
|
1118
1101
|
}
|
1119
1102
|
|
1120
1103
|
//===--------------------------------------------------------------------===//
|
@@ -1127,10 +1110,9 @@ struct CotOperator {
|
|
1127
1110
|
}
|
1128
1111
|
};
|
1129
1112
|
|
1130
|
-
|
1131
|
-
|
1132
|
-
|
1133
|
-
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<CotOperator>>));
|
1113
|
+
ScalarFunction CotFun::GetFunction() {
|
1114
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1115
|
+
ScalarFunction::UnaryFunction<double, double, NoInfiniteDoubleWrapper<CotOperator>>);
|
1134
1116
|
}
|
1135
1117
|
|
1136
1118
|
//===--------------------------------------------------------------------===//
|
@@ -1146,9 +1128,9 @@ struct GammaOperator {
|
|
1146
1128
|
}
|
1147
1129
|
};
|
1148
1130
|
|
1149
|
-
|
1150
|
-
|
1151
|
-
|
1131
|
+
ScalarFunction GammaFun::GetFunction() {
|
1132
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1133
|
+
ScalarFunction::UnaryFunction<double, double, GammaOperator>);
|
1152
1134
|
}
|
1153
1135
|
|
1154
1136
|
//===--------------------------------------------------------------------===//
|
@@ -1164,15 +1146,14 @@ struct LogGammaOperator {
|
|
1164
1146
|
}
|
1165
1147
|
};
|
1166
1148
|
|
1167
|
-
|
1168
|
-
|
1169
|
-
|
1149
|
+
ScalarFunction LogGammaFun::GetFunction() {
|
1150
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1151
|
+
ScalarFunction::UnaryFunction<double, double, LogGammaOperator>);
|
1170
1152
|
}
|
1171
1153
|
|
1172
1154
|
//===--------------------------------------------------------------------===//
|
1173
1155
|
// factorial(), !
|
1174
1156
|
//===--------------------------------------------------------------------===//
|
1175
|
-
|
1176
1157
|
struct FactorialOperator {
|
1177
1158
|
template <class TA, class TR>
|
1178
1159
|
static inline TR Operation(TA left) {
|
@@ -1184,11 +1165,9 @@ struct FactorialOperator {
|
|
1184
1165
|
}
|
1185
1166
|
};
|
1186
1167
|
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1191
|
-
set.AddFunction({"factorial", "!__postfix"}, fun);
|
1168
|
+
ScalarFunction FactorialOperatorFun::GetFunction() {
|
1169
|
+
return ScalarFunction({LogicalType::INTEGER}, LogicalType::HUGEINT,
|
1170
|
+
ScalarFunction::UnaryFunction<int32_t, hugeint_t, FactorialOperator>);
|
1192
1171
|
}
|
1193
1172
|
|
1194
1173
|
//===--------------------------------------------------------------------===//
|
@@ -1214,9 +1193,9 @@ struct EvenOperator {
|
|
1214
1193
|
}
|
1215
1194
|
};
|
1216
1195
|
|
1217
|
-
|
1218
|
-
|
1219
|
-
|
1196
|
+
ScalarFunction EvenFun::GetFunction() {
|
1197
|
+
return ScalarFunction({LogicalType::DOUBLE}, LogicalType::DOUBLE,
|
1198
|
+
ScalarFunction::UnaryFunction<double, double, EvenOperator>);
|
1220
1199
|
}
|
1221
1200
|
|
1222
1201
|
//===--------------------------------------------------------------------===//
|
@@ -1256,19 +1235,15 @@ struct GreatestCommonDivisorOperator {
|
|
1256
1235
|
}
|
1257
1236
|
};
|
1258
1237
|
|
1259
|
-
|
1260
|
-
ScalarFunctionSet funcs
|
1261
|
-
|
1238
|
+
ScalarFunctionSet GreatestCommonDivisorFun::GetFunctions() {
|
1239
|
+
ScalarFunctionSet funcs;
|
1262
1240
|
funcs.AddFunction(
|
1263
1241
|
ScalarFunction({LogicalType::BIGINT, LogicalType::BIGINT}, LogicalType::BIGINT,
|
1264
1242
|
ScalarFunction::BinaryFunction<int64_t, int64_t, int64_t, GreatestCommonDivisorOperator>));
|
1265
1243
|
funcs.AddFunction(
|
1266
1244
|
ScalarFunction({LogicalType::HUGEINT, LogicalType::HUGEINT}, LogicalType::HUGEINT,
|
1267
1245
|
ScalarFunction::BinaryFunction<hugeint_t, hugeint_t, hugeint_t, GreatestCommonDivisorOperator>));
|
1268
|
-
|
1269
|
-
set.AddFunction(funcs);
|
1270
|
-
funcs.name = "greatest_common_divisor";
|
1271
|
-
set.AddFunction(funcs);
|
1246
|
+
return funcs;
|
1272
1247
|
}
|
1273
1248
|
|
1274
1249
|
//===--------------------------------------------------------------------===//
|
@@ -1290,8 +1265,8 @@ struct LeastCommonMultipleOperator {
|
|
1290
1265
|
}
|
1291
1266
|
};
|
1292
1267
|
|
1293
|
-
|
1294
|
-
ScalarFunctionSet funcs
|
1268
|
+
ScalarFunctionSet LeastCommonMultipleFun::GetFunctions() {
|
1269
|
+
ScalarFunctionSet funcs;
|
1295
1270
|
|
1296
1271
|
funcs.AddFunction(
|
1297
1272
|
ScalarFunction({LogicalType::BIGINT, LogicalType::BIGINT}, LogicalType::BIGINT,
|
@@ -1299,10 +1274,7 @@ void LeastCommonMultipleFun::RegisterFunction(BuiltinFunctions &set) {
|
|
1299
1274
|
funcs.AddFunction(
|
1300
1275
|
ScalarFunction({LogicalType::HUGEINT, LogicalType::HUGEINT}, LogicalType::HUGEINT,
|
1301
1276
|
ScalarFunction::BinaryFunction<hugeint_t, hugeint_t, hugeint_t, LeastCommonMultipleOperator>));
|
1302
|
-
|
1303
|
-
set.AddFunction(funcs);
|
1304
|
-
funcs.name = "least_common_multiple";
|
1305
|
-
set.AddFunction(funcs);
|
1277
|
+
return funcs;
|
1306
1278
|
}
|
1307
1279
|
|
1308
1280
|
} // namespace duckdb
|