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,7 +1,6 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/operators_functions.hpp"
|
2
2
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
3
3
|
#include "duckdb/common/types/cast_helpers.hpp"
|
4
|
-
#include "duckdb/function/scalar/bit_functions.hpp"
|
5
4
|
#include "duckdb/common/types/bit.hpp"
|
6
5
|
|
7
6
|
namespace duckdb {
|
@@ -100,14 +99,14 @@ static void BitwiseANDOperation(DataChunk &args, ExpressionState &state, Vector
|
|
100
99
|
});
|
101
100
|
}
|
102
101
|
|
103
|
-
|
104
|
-
ScalarFunctionSet functions
|
102
|
+
ScalarFunctionSet BitwiseAndFun::GetFunctions() {
|
103
|
+
ScalarFunctionSet functions;
|
105
104
|
for (auto &type : LogicalType::Integral()) {
|
106
105
|
functions.AddFunction(
|
107
106
|
ScalarFunction({type, type}, type, GetScalarIntegerBinaryFunction<BitwiseANDOperator>(type)));
|
108
107
|
}
|
109
108
|
functions.AddFunction(ScalarFunction({LogicalType::BIT, LogicalType::BIT}, LogicalType::BIT, BitwiseANDOperation));
|
110
|
-
|
109
|
+
return functions;
|
111
110
|
}
|
112
111
|
|
113
112
|
//===--------------------------------------------------------------------===//
|
@@ -130,14 +129,14 @@ static void BitwiseOROperation(DataChunk &args, ExpressionState &state, Vector &
|
|
130
129
|
});
|
131
130
|
}
|
132
131
|
|
133
|
-
|
134
|
-
ScalarFunctionSet functions
|
132
|
+
ScalarFunctionSet BitwiseOrFun::GetFunctions() {
|
133
|
+
ScalarFunctionSet functions;
|
135
134
|
for (auto &type : LogicalType::Integral()) {
|
136
135
|
functions.AddFunction(
|
137
136
|
ScalarFunction({type, type}, type, GetScalarIntegerBinaryFunction<BitwiseOROperator>(type)));
|
138
137
|
}
|
139
138
|
functions.AddFunction(ScalarFunction({LogicalType::BIT, LogicalType::BIT}, LogicalType::BIT, BitwiseOROperation));
|
140
|
-
|
139
|
+
return functions;
|
141
140
|
}
|
142
141
|
|
143
142
|
//===--------------------------------------------------------------------===//
|
@@ -160,14 +159,14 @@ static void BitwiseXOROperation(DataChunk &args, ExpressionState &state, Vector
|
|
160
159
|
});
|
161
160
|
}
|
162
161
|
|
163
|
-
|
164
|
-
ScalarFunctionSet functions
|
162
|
+
ScalarFunctionSet BitwiseXorFun::GetFunctions() {
|
163
|
+
ScalarFunctionSet functions;
|
165
164
|
for (auto &type : LogicalType::Integral()) {
|
166
165
|
functions.AddFunction(
|
167
166
|
ScalarFunction({type, type}, type, GetScalarIntegerBinaryFunction<BitwiseXOROperator>(type)));
|
168
167
|
}
|
169
168
|
functions.AddFunction(ScalarFunction({LogicalType::BIT, LogicalType::BIT}, LogicalType::BIT, BitwiseXOROperation));
|
170
|
-
|
169
|
+
return functions;
|
171
170
|
}
|
172
171
|
|
173
172
|
//===--------------------------------------------------------------------===//
|
@@ -189,13 +188,13 @@ static void BitwiseNOTOperation(DataChunk &args, ExpressionState &state, Vector
|
|
189
188
|
});
|
190
189
|
}
|
191
190
|
|
192
|
-
|
193
|
-
ScalarFunctionSet functions
|
191
|
+
ScalarFunctionSet BitwiseNotFun::GetFunctions() {
|
192
|
+
ScalarFunctionSet functions;
|
194
193
|
for (auto &type : LogicalType::Integral()) {
|
195
194
|
functions.AddFunction(ScalarFunction({type}, type, GetScalarIntegerUnaryFunction<BitwiseNotOperator>(type)));
|
196
195
|
}
|
197
196
|
functions.AddFunction(ScalarFunction({LogicalType::BIT}, LogicalType::BIT, BitwiseNOTOperation));
|
198
|
-
|
197
|
+
return functions;
|
199
198
|
}
|
200
199
|
|
201
200
|
//===--------------------------------------------------------------------===//
|
@@ -251,15 +250,15 @@ static void BitwiseShiftLeftOperation(DataChunk &args, ExpressionState &state, V
|
|
251
250
|
});
|
252
251
|
}
|
253
252
|
|
254
|
-
|
255
|
-
ScalarFunctionSet functions
|
253
|
+
ScalarFunctionSet LeftShiftFun::GetFunctions() {
|
254
|
+
ScalarFunctionSet functions;
|
256
255
|
for (auto &type : LogicalType::Integral()) {
|
257
256
|
functions.AddFunction(
|
258
257
|
ScalarFunction({type, type}, type, GetScalarIntegerBinaryFunction<BitwiseShiftLeftOperator>(type)));
|
259
258
|
}
|
260
259
|
functions.AddFunction(
|
261
260
|
ScalarFunction({LogicalType::BIT, LogicalType::INTEGER}, LogicalType::BIT, BitwiseShiftLeftOperation));
|
262
|
-
|
261
|
+
return functions;
|
263
262
|
}
|
264
263
|
|
265
264
|
//===--------------------------------------------------------------------===//
|
@@ -294,15 +293,15 @@ static void BitwiseShiftRightOperation(DataChunk &args, ExpressionState &state,
|
|
294
293
|
});
|
295
294
|
}
|
296
295
|
|
297
|
-
|
298
|
-
ScalarFunctionSet functions
|
296
|
+
ScalarFunctionSet RightShiftFun::GetFunctions() {
|
297
|
+
ScalarFunctionSet functions;
|
299
298
|
for (auto &type : LogicalType::Integral()) {
|
300
299
|
functions.AddFunction(
|
301
300
|
ScalarFunction({type, type}, type, GetScalarIntegerBinaryFunction<BitwiseShiftRightOperator>(type)));
|
302
301
|
}
|
303
302
|
functions.AddFunction(
|
304
303
|
ScalarFunction({LogicalType::BIT, LogicalType::INTEGER}, LogicalType::BIT, BitwiseShiftRightOperation));
|
305
|
-
|
304
|
+
return functions;
|
306
305
|
}
|
307
306
|
|
308
307
|
} // namespace duckdb
|
@@ -1,10 +1,9 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/random_functions.hpp"
|
2
2
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
3
3
|
#include "duckdb/execution/expression_executor.hpp"
|
4
4
|
#include "duckdb/main/client_context.hpp"
|
5
5
|
#include "duckdb/planner/expression/bound_function_expression.hpp"
|
6
6
|
#include "duckdb/common/random_engine.hpp"
|
7
|
-
#include "duckdb/function/scalar/uuid_functions.hpp"
|
8
7
|
#include "duckdb/common/types/uuid.hpp"
|
9
8
|
|
10
9
|
namespace duckdb {
|
@@ -34,11 +33,11 @@ static unique_ptr<FunctionLocalState> RandomInitLocalState(ExpressionState &stat
|
|
34
33
|
return make_uniq<RandomLocalState>(random_engine.NextRandomInteger());
|
35
34
|
}
|
36
35
|
|
37
|
-
|
36
|
+
ScalarFunction RandomFun::GetFunction() {
|
38
37
|
ScalarFunction random("random", {}, LogicalType::DOUBLE, RandomFunction, nullptr, nullptr, nullptr,
|
39
38
|
RandomInitLocalState);
|
40
39
|
random.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS;
|
41
|
-
|
40
|
+
return random;
|
42
41
|
}
|
43
42
|
|
44
43
|
static void GenerateUUIDFunction(DataChunk &args, ExpressionState &state, Vector &result) {
|
@@ -53,12 +52,12 @@ static void GenerateUUIDFunction(DataChunk &args, ExpressionState &state, Vector
|
|
53
52
|
}
|
54
53
|
}
|
55
54
|
|
56
|
-
|
55
|
+
ScalarFunction UUIDFun::GetFunction() {
|
57
56
|
ScalarFunction uuid_function({}, LogicalType::UUID, GenerateUUIDFunction, nullptr, nullptr, nullptr,
|
58
57
|
RandomInitLocalState);
|
59
58
|
// generate a random uuid
|
60
59
|
uuid_function.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS;
|
61
|
-
|
60
|
+
return uuid_function;
|
62
61
|
}
|
63
62
|
|
64
63
|
} // namespace duckdb
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/random_functions.hpp"
|
2
2
|
#include "duckdb/common/exception.hpp"
|
3
3
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
4
4
|
#include "duckdb/execution/expression_executor.hpp"
|
@@ -52,10 +52,10 @@ unique_ptr<FunctionData> SetSeedBind(ClientContext &context, ScalarFunction &bou
|
|
52
52
|
return make_uniq<SetseedBindData>(context);
|
53
53
|
}
|
54
54
|
|
55
|
-
|
55
|
+
ScalarFunction SetseedFun::GetFunction() {
|
56
56
|
ScalarFunction setseed("setseed", {LogicalType::DOUBLE}, LogicalType::SQLNULL, SetSeedFunction, SetSeedBind);
|
57
57
|
setseed.side_effects = FunctionSideEffects::HAS_SIDE_EFFECTS;
|
58
|
-
|
58
|
+
return setseed;
|
59
59
|
}
|
60
60
|
|
61
61
|
} // namespace duckdb
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
#include "utf8proc.hpp"
|
3
3
|
#include "utf8proc_wrapper.hpp"
|
4
4
|
|
@@ -16,10 +16,9 @@ struct AsciiOperator {
|
|
16
16
|
}
|
17
17
|
};
|
18
18
|
|
19
|
-
|
20
|
-
ScalarFunction
|
21
|
-
|
22
|
-
set.AddFunction(ascii);
|
19
|
+
ScalarFunction ASCIIFun::GetFunction() {
|
20
|
+
return ScalarFunction({LogicalType::VARCHAR}, LogicalType::INTEGER,
|
21
|
+
ScalarFunction::UnaryFunction<string_t, int32_t, AsciiOperator>);
|
23
22
|
}
|
24
23
|
|
25
24
|
} // namespace duckdb
|
@@ -1,3 +1,4 @@
|
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
1
2
|
#include "duckdb/common/exception.hpp"
|
2
3
|
#include "duckdb/common/operator/cast_operators.hpp"
|
3
4
|
#include "duckdb/common/types/string_type.hpp"
|
@@ -5,7 +6,6 @@
|
|
5
6
|
#include "duckdb/common/types/vector.hpp"
|
6
7
|
#include "duckdb/common/unicode_bar.hpp"
|
7
8
|
#include "duckdb/common/vector_operations/generic_executor.hpp"
|
8
|
-
#include "duckdb/function/scalar/string_functions.hpp"
|
9
9
|
|
10
10
|
namespace duckdb {
|
11
11
|
|
@@ -81,13 +81,13 @@ static void BarFunction(DataChunk &args, ExpressionState &state, Vector &result)
|
|
81
81
|
}
|
82
82
|
}
|
83
83
|
|
84
|
-
|
85
|
-
ScalarFunctionSet bar
|
84
|
+
ScalarFunctionSet BarFun::GetFunctions() {
|
85
|
+
ScalarFunctionSet bar;
|
86
86
|
bar.AddFunction(ScalarFunction({LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE},
|
87
87
|
LogicalType::VARCHAR, BarFunction));
|
88
88
|
bar.AddFunction(ScalarFunction({LogicalType::DOUBLE, LogicalType::DOUBLE, LogicalType::DOUBLE},
|
89
89
|
LogicalType::VARCHAR, BarFunction));
|
90
|
-
|
90
|
+
return bar;
|
91
91
|
}
|
92
92
|
|
93
93
|
} // namespace duckdb
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
#include "utf8proc.hpp"
|
3
3
|
#include "utf8proc_wrapper.hpp"
|
4
4
|
|
@@ -35,15 +35,14 @@ static void ChrFunction(DataChunk &args, ExpressionState &state, Vector &result)
|
|
35
35
|
}
|
36
36
|
#endif
|
37
37
|
|
38
|
-
|
39
|
-
ScalarFunction
|
38
|
+
ScalarFunction ChrFun::GetFunction() {
|
39
|
+
return ScalarFunction("chr", {LogicalType::INTEGER}, LogicalType::VARCHAR,
|
40
40
|
#ifdef DUCKDB_DEBUG_NO_INLINE
|
41
|
-
|
41
|
+
ChrFunction
|
42
42
|
#else
|
43
|
-
|
43
|
+
ScalarFunction::UnaryFunction<int32_t, string_t, ChrOperator>
|
44
44
|
#endif
|
45
45
|
);
|
46
|
-
set.AddFunction(chr);
|
47
46
|
}
|
48
47
|
|
49
48
|
} // namespace duckdb
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
#include "duckdb/common/map.hpp"
|
3
3
|
#include "duckdb/common/vector.hpp"
|
4
4
|
|
@@ -96,11 +96,9 @@ static void DamerauLevenshteinFunction(DataChunk &args, ExpressionState &state,
|
|
96
96
|
[&](string_t source, string_t target) { return DamerauLevenshteinScalarFunction(result, source, target); });
|
97
97
|
}
|
98
98
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
LogicalType::BIGINT, DamerauLevenshteinFunction));
|
103
|
-
set.AddFunction(damerau_levenshtein);
|
99
|
+
ScalarFunction DamerauLevenshteinFun::GetFunction() {
|
100
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BIGINT,
|
101
|
+
DamerauLevenshteinFunction);
|
104
102
|
}
|
105
103
|
|
106
104
|
} // namespace duckdb
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
3
3
|
|
4
4
|
#include <ctype.h>
|
@@ -38,17 +38,8 @@ static void MismatchesFunction(DataChunk &args, ExpressionState &state, Vector &
|
|
38
38
|
[&](string_t str, string_t tgt) { return MismatchesScalarFunction(result, str, tgt); });
|
39
39
|
}
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
mismatches.AddFunction(ScalarFunction("mismatches", {LogicalType::VARCHAR, LogicalType::VARCHAR},
|
44
|
-
LogicalType::BIGINT,
|
45
|
-
MismatchesFunction)); // Pointer to function implementation
|
46
|
-
set.AddFunction(mismatches);
|
47
|
-
|
48
|
-
ScalarFunctionSet hamming("hamming");
|
49
|
-
hamming.AddFunction(ScalarFunction("mismatches", {LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BIGINT,
|
50
|
-
MismatchesFunction)); // Pointer to function implementation
|
51
|
-
set.AddFunction(hamming);
|
41
|
+
ScalarFunction HammingFun::GetFunction() {
|
42
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BIGINT, MismatchesFunction);
|
52
43
|
}
|
53
44
|
|
54
45
|
} // namespace duckdb
|
@@ -4,7 +4,8 @@
|
|
4
4
|
#include "duckdb/common/types/blob.hpp"
|
5
5
|
#include "duckdb/common/vector_operations/unary_executor.hpp"
|
6
6
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
7
|
-
#include "duckdb/
|
7
|
+
#include "duckdb/planner/expression/bound_function_expression.hpp"
|
8
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
8
9
|
|
9
10
|
namespace duckdb {
|
10
11
|
|
@@ -332,10 +333,8 @@ static void FromHexFunction(DataChunk &args, ExpressionState &state, Vector &res
|
|
332
333
|
UnaryExecutor::ExecuteString<string_t, string_t, FromHexOperator>(input, result, count);
|
333
334
|
}
|
334
335
|
|
335
|
-
|
336
|
-
ScalarFunctionSet to_hex
|
337
|
-
ScalarFunctionSet from_hex("from_hex");
|
338
|
-
|
336
|
+
ScalarFunctionSet HexFun::GetFunctions() {
|
337
|
+
ScalarFunctionSet to_hex;
|
339
338
|
to_hex.AddFunction(
|
340
339
|
ScalarFunction({LogicalType::VARCHAR}, LogicalType::VARCHAR, ToHexFunction<string_t, HexStrOperator>));
|
341
340
|
|
@@ -347,20 +346,16 @@ void HexFun::RegisterFunction(BuiltinFunctions &set) {
|
|
347
346
|
|
348
347
|
to_hex.AddFunction(
|
349
348
|
ScalarFunction({LogicalType::HUGEINT}, LogicalType::VARCHAR, ToHexFunction<hugeint_t, HexHugeIntOperator>));
|
349
|
+
return to_hex;
|
350
|
+
}
|
350
351
|
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
set.AddFunction(from_hex);
|
352
|
+
ScalarFunction UnhexFun::GetFunction() {
|
353
|
+
return ScalarFunction({LogicalType::VARCHAR}, LogicalType::BLOB, FromHexFunction);
|
354
|
+
}
|
355
355
|
|
356
|
-
|
357
|
-
|
358
|
-
from_hex.name = "unhex";
|
359
|
-
set.AddFunction(to_hex);
|
360
|
-
set.AddFunction(from_hex);
|
356
|
+
ScalarFunctionSet BinFun::GetFunctions() {
|
357
|
+
ScalarFunctionSet to_binary;
|
361
358
|
|
362
|
-
ScalarFunctionSet to_binary("to_binary");
|
363
|
-
ScalarFunctionSet from_binary("from_binary");
|
364
359
|
to_binary.AddFunction(
|
365
360
|
ScalarFunction({LogicalType::VARCHAR}, LogicalType::VARCHAR, ToBinaryFunction<string_t, BinaryStrOperator>));
|
366
361
|
to_binary.AddFunction(ScalarFunction({LogicalType::UBIGINT}, LogicalType::VARCHAR,
|
@@ -369,16 +364,11 @@ void HexFun::RegisterFunction(BuiltinFunctions &set) {
|
|
369
364
|
ScalarFunction({LogicalType::BIGINT}, LogicalType::VARCHAR, ToBinaryFunction<int64_t, BinaryIntegralOperator>));
|
370
365
|
to_binary.AddFunction(ScalarFunction({LogicalType::HUGEINT}, LogicalType::VARCHAR,
|
371
366
|
ToBinaryFunction<hugeint_t, BinaryHugeIntOperator>));
|
367
|
+
return to_binary;
|
368
|
+
}
|
372
369
|
|
373
|
-
|
374
|
-
|
375
|
-
set.AddFunction(to_binary);
|
376
|
-
set.AddFunction(from_binary);
|
377
|
-
|
378
|
-
to_binary.name = "bin";
|
379
|
-
from_binary.name = "unbin";
|
380
|
-
set.AddFunction(to_binary);
|
381
|
-
set.AddFunction(from_binary);
|
370
|
+
ScalarFunction UnbinFun::GetFunction() {
|
371
|
+
return ScalarFunction({LogicalType::VARCHAR}, LogicalType::BLOB, FromBinaryFunction);
|
382
372
|
}
|
383
373
|
|
384
374
|
} // namespace duckdb
|
@@ -1,9 +1,9 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
|
3
3
|
#include "duckdb/common/exception.hpp"
|
4
4
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
5
5
|
#include "duckdb/planner/expression/bound_function_expression.hpp"
|
6
|
-
|
6
|
+
#include "duckdb/function/scalar/string_functions.hpp"
|
7
7
|
#include "utf8proc.hpp"
|
8
8
|
|
9
9
|
namespace duckdb {
|
@@ -49,17 +49,10 @@ static unique_ptr<BaseStatistics> InStrPropagateStats(ClientContext &context, Fu
|
|
49
49
|
return nullptr;
|
50
50
|
}
|
51
51
|
|
52
|
-
|
53
|
-
ScalarFunction
|
54
|
-
|
55
|
-
|
56
|
-
ScalarFunction::BinaryFunction<string_t, string_t, int64_t, InstrOperator>, nullptr, nullptr,
|
57
|
-
InStrPropagateStats);
|
58
|
-
set.AddFunction(instr);
|
59
|
-
instr.name = "strpos";
|
60
|
-
set.AddFunction(instr);
|
61
|
-
instr.name = "position";
|
62
|
-
set.AddFunction(instr);
|
52
|
+
ScalarFunction InstrFun::GetFunction() {
|
53
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BIGINT,
|
54
|
+
ScalarFunction::BinaryFunction<string_t, string_t, int64_t, InstrOperator>, nullptr, nullptr,
|
55
|
+
InStrPropagateStats);
|
63
56
|
}
|
64
57
|
|
65
58
|
} // namespace duckdb
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
3
3
|
#include "duckdb/common/map.hpp"
|
4
4
|
|
@@ -58,11 +58,8 @@ static void JaccardFunction(DataChunk &args, ExpressionState &state, Vector &res
|
|
58
58
|
[&](string_t str, string_t tgt) { return JaccardScalarFunction(result, str, tgt); });
|
59
59
|
}
|
60
60
|
|
61
|
-
|
62
|
-
|
63
|
-
jaccard.AddFunction(ScalarFunction("jaccard", {LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::DOUBLE,
|
64
|
-
JaccardFunction)); // Pointer to function implementation
|
65
|
-
set.AddFunction(jaccard);
|
61
|
+
ScalarFunction JaccardFun::GetFunction() {
|
62
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::DOUBLE, JaccardFunction);
|
66
63
|
}
|
67
64
|
|
68
65
|
} // namespace duckdb
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#include "jaro_winkler.hpp"
|
2
2
|
|
3
|
-
#include "duckdb/
|
3
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
4
4
|
|
5
5
|
namespace duckdb {
|
6
6
|
|
@@ -60,11 +60,12 @@ static void JaroWinklerFunction(DataChunk &args, ExpressionState &state, Vector
|
|
60
60
|
JaroWinklerScalarFunction);
|
61
61
|
}
|
62
62
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
63
|
+
ScalarFunction JaroSimilarityFun::GetFunction() {
|
64
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::DOUBLE, JaroFunction);
|
65
|
+
}
|
66
|
+
|
67
|
+
ScalarFunction JaroWinklerSimilarityFun::GetFunction() {
|
68
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::DOUBLE, JaroWinklerFunction);
|
68
69
|
}
|
69
70
|
|
70
71
|
} // namespace duckdb
|
@@ -1,6 +1,7 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
3
3
|
#include "duckdb/common/limits.hpp"
|
4
|
+
#include "duckdb/function/scalar/string_functions.hpp"
|
4
5
|
|
5
6
|
#include <ctype.h>
|
6
7
|
#include <algorithm>
|
@@ -50,11 +51,14 @@ static void LeftFunction(DataChunk &args, ExpressionState &state, Vector &result
|
|
50
51
|
[&](string_t str, int64_t pos) { return LeftScalarFunction<OP>(result, str, pos); });
|
51
52
|
}
|
52
53
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
54
|
+
ScalarFunction LeftFun::GetFunction() {
|
55
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::BIGINT}, LogicalType::VARCHAR,
|
56
|
+
LeftFunction<LeftRightUnicode>);
|
57
|
+
}
|
58
|
+
|
59
|
+
ScalarFunction LeftGraphemeFun::GetFunction() {
|
60
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::BIGINT}, LogicalType::VARCHAR,
|
61
|
+
LeftFunction<LeftRightGrapheme>);
|
58
62
|
}
|
59
63
|
|
60
64
|
template <class OP>
|
@@ -83,11 +87,14 @@ static void RightFunction(DataChunk &args, ExpressionState &state, Vector &resul
|
|
83
87
|
[&](string_t str, int64_t pos) { return RightScalarFunction<OP>(result, str, pos); });
|
84
88
|
}
|
85
89
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
90
|
+
ScalarFunction RightFun::GetFunction() {
|
91
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::BIGINT}, LogicalType::VARCHAR,
|
92
|
+
RightFunction<LeftRightUnicode>);
|
93
|
+
}
|
94
|
+
|
95
|
+
ScalarFunction RightGraphemeFun::GetFunction() {
|
96
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::BIGINT}, LogicalType::VARCHAR,
|
97
|
+
RightFunction<LeftRightGrapheme>);
|
91
98
|
}
|
92
99
|
|
93
100
|
} // namespace duckdb
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
3
3
|
#include "duckdb/common/string_util.hpp"
|
4
4
|
|
@@ -77,17 +77,8 @@ static void LevenshteinFunction(DataChunk &args, ExpressionState &state, Vector
|
|
77
77
|
[&](string_t str, string_t tgt) { return LevenshteinScalarFunction(result, str, tgt); });
|
78
78
|
}
|
79
79
|
|
80
|
-
|
81
|
-
|
82
|
-
levenshtein.AddFunction(ScalarFunction("levenshtein", {LogicalType::VARCHAR, LogicalType::VARCHAR},
|
83
|
-
LogicalType::BIGINT,
|
84
|
-
LevenshteinFunction)); // Pointer to function implementation
|
85
|
-
set.AddFunction(levenshtein);
|
86
|
-
|
87
|
-
ScalarFunctionSet editdist3("editdist3");
|
88
|
-
editdist3.AddFunction(ScalarFunction("levenshtein", {LogicalType::VARCHAR, LogicalType::VARCHAR},
|
89
|
-
LogicalType::BIGINT, LevenshteinFunction));
|
90
|
-
set.AddFunction(editdist3);
|
80
|
+
ScalarFunction LevenshteinFun::GetFunction() {
|
81
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::BIGINT, LevenshteinFunction);
|
91
82
|
}
|
92
83
|
|
93
84
|
} // namespace duckdb
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
|
3
3
|
#include "duckdb/common/exception.hpp"
|
4
4
|
#include "duckdb/common/crypto/md5.hpp"
|
@@ -67,26 +67,20 @@ static void MD5NumberLowerFunction(DataChunk &args, ExpressionState &state, Vect
|
|
67
67
|
UnaryExecutor::Execute<string_t, uint64_t, MD5Number64Operator<true>>(input, result, args.size());
|
68
68
|
}
|
69
69
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
MD5NumberUpperFunction)); // pointer to function implementation
|
85
|
-
|
86
|
-
set.AddFunction(ScalarFunction("md5_number_lower", // name of the function
|
87
|
-
{LogicalType::VARCHAR}, // argument list
|
88
|
-
LogicalType::UBIGINT, // return type
|
89
|
-
MD5NumberLowerFunction)); // pointer to function implementation
|
70
|
+
ScalarFunction MD5Fun::GetFunction() {
|
71
|
+
return ScalarFunction({LogicalType::VARCHAR}, LogicalType::VARCHAR, MD5Function);
|
72
|
+
}
|
73
|
+
|
74
|
+
ScalarFunction MD5NumberFun::GetFunction() {
|
75
|
+
return ScalarFunction({LogicalType::VARCHAR}, LogicalType::HUGEINT, MD5NumberFunction);
|
76
|
+
}
|
77
|
+
|
78
|
+
ScalarFunction MD5NumberUpperFun::GetFunction() {
|
79
|
+
return ScalarFunction({LogicalType::VARCHAR}, LogicalType::UBIGINT, MD5NumberUpperFunction);
|
80
|
+
}
|
81
|
+
|
82
|
+
ScalarFunction MD5NumberLowerFun::GetFunction() {
|
83
|
+
return ScalarFunction({LogicalType::VARCHAR}, LogicalType::UBIGINT, MD5NumberLowerFunction);
|
90
84
|
}
|
91
85
|
|
92
86
|
} // namespace duckdb
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "duckdb/
|
1
|
+
#include "duckdb/core_functions/scalar/string_functions.hpp"
|
2
2
|
|
3
3
|
#include "duckdb/common/algorithm.hpp"
|
4
4
|
#include "duckdb/common/exception.hpp"
|
@@ -130,20 +130,14 @@ static void PadFunction(DataChunk &args, ExpressionState &state, Vector &result)
|
|
130
130
|
});
|
131
131
|
}
|
132
132
|
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
LogicalType::VARCHAR},
|
137
|
-
LogicalType::VARCHAR, // return type
|
138
|
-
PadFunction<LeftPadOperator>)); // pointer to function implementation
|
133
|
+
ScalarFunction LpadFun::GetFunction() {
|
134
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::INTEGER, LogicalType::VARCHAR}, LogicalType::VARCHAR,
|
135
|
+
PadFunction<LeftPadOperator>);
|
139
136
|
}
|
140
137
|
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
LogicalType::VARCHAR},
|
145
|
-
LogicalType::VARCHAR, // return type
|
146
|
-
PadFunction<RightPadOperator>)); // pointer to function implementation
|
138
|
+
ScalarFunction RpadFun::GetFunction() {
|
139
|
+
return ScalarFunction({LogicalType::VARCHAR, LogicalType::INTEGER, LogicalType::VARCHAR}, LogicalType::VARCHAR,
|
140
|
+
PadFunction<RightPadOperator>);
|
147
141
|
}
|
148
142
|
|
149
143
|
} // namespace duckdb
|