| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| [package] |
| name = "datafusion-comet-spark-expr" |
| description = "DataFusion expressions that emulate Apache Spark's behavior" |
| version = { workspace = true } |
| homepage = { workspace = true } |
| repository = { workspace = true } |
| authors = { workspace = true } |
| readme = { workspace = true } |
| license = { workspace = true } |
| edition = { workspace = true } |
| |
| [dependencies] |
| arrow = { workspace = true } |
| chrono = { workspace = true } |
| datafusion = { workspace = true } |
| datafusion-spark = { workspace = true } |
| num = { workspace = true } |
| regex = { workspace = true } |
| # preserve_order: needed for get_json_object to match Spark's JSON key ordering |
| serde_json = { version = "1.0", features = ["preserve_order"] } |
| serde = { version = "1.0", features = ["derive"] } |
| datafusion-comet-common = { workspace = true } |
| datafusion-comet-jni-bridge = { workspace = true } |
| jni = "0.22.4" |
| futures = { workspace = true } |
| twox-hash = "2.1.2" |
| rand = { workspace = true } |
| base64 = "0.23.0" |
| # shortest round-trip float formatting, used to match Spark's Double.toString-based |
| # float/double to decimal conversion |
| ryu = "1.0" |
| uuid = "1.23.3" |
| |
| [dev-dependencies] |
| arrow = {workspace = true} |
| criterion = { version = "0.7", features = ["async", "async_tokio", "async_std"] } |
| rand = { workspace = true} |
| tokio = { version = "1", features = ["rt-multi-thread"] } |
| datafusion = { workspace = true, features = ["sql"] } |
| |
| [lib] |
| name = "datafusion_comet_spark_expr" |
| path = "src/lib.rs" |
| |
| [[bench]] |
| name = "cast_from_string" |
| harness = false |
| |
| [[bench]] |
| name = "cast_string_to_date" |
| harness = false |
| |
| [[bench]] |
| name = "cast_string_to_timestamp" |
| harness = false |
| |
| [[bench]] |
| name = "cast_numeric" |
| harness = false |
| |
| [[bench]] |
| name = "conditional" |
| harness = false |
| |
| [[bench]] |
| name = "decimal_div" |
| harness = false |
| |
| [[bench]] |
| name = "aggregate" |
| harness = false |
| |
| [[bench]] |
| name = "bloom_filter_agg" |
| harness = false |
| |
| [[bench]] |
| name = "padding" |
| harness = false |
| |
| [[bench]] |
| name = "base64" |
| harness = false |
| |
| [[bench]] |
| name = "unbase64" |
| harness = false |
| |
| [[bench]] |
| name = "date_trunc" |
| harness = false |
| |
| [[bench]] |
| name = "normalize_nan" |
| harness = false |
| |
| [[bench]] |
| name = "sort_float_keys" |
| harness = false |
| |
| [[bench]] |
| name = "to_csv" |
| harness = false |
| |
| [[bench]] |
| name = "cast_int_to_timestamp" |
| harness = false |
| |
| [[test]] |
| name = "test_udf_registration" |
| path = "tests/spark_expr_reg.rs" |
| |
| [[bench]] |
| name = "cast_from_boolean" |
| harness = false |
| |
| [[bench]] |
| name = "wide_decimal" |
| harness = false |
| |
| [[bench]] |
| name = "cast_non_int_numeric_timestamp" |
| harness = false |
| |
| [[bench]] |
| name = "map_sort" |
| harness = false |
| |
| [[bench]] |
| name = "to_time" |
| harness = false |
| |
| [[bench]] |
| name = "unhex" |
| harness = false |
| |
| [[bench]] |
| name = "array_size" |
| harness = false |
| |
| [[bench]] |
| name = "regexp_extract" |
| harness = false |
| |
| [[bench]] |
| name = "parse_url" |
| harness = false |
| |
| [[bench]] |
| name = "cast_binary_to_string" |
| harness = false |
| |
| [[bench]] |
| name = "get_json_object" |
| harness = false |
| |
| [[bench]] |
| name = "arrays_overlap" |
| harness = false |
| |
| [[bench]] |
| name = "checked_arithmetic" |
| harness = false |
| |
| [[bench]] |
| name = "to_json" |
| harness = false |
| |
| [[bench]] |
| name = "floor" |
| harness = false |
| |
| [[bench]] |
| name = "ceil" |
| harness = false |
| |
| [[bench]] |
| name = "cast_float_to_string" |
| harness = false |
| |
| [[bench]] |
| name = "date_trunc_array_fmt" |
| harness = false |
| |
| [[bench]] |
| name = "cast_decimal_to_string" |
| harness = false |
| |
| [[bench]] |
| name = "cast_float_to_decimal" |
| harness = false |
| |
| [[bench]] |
| name = "decimal_rescale" |
| harness = false |
| |
| [[bench]] |
| name = "check_overflow" |
| harness = false |
| |
| [[bench]] |
| name = "round" |
| harness = false |
| |
| [[bench]] |
| name = "unscaled_value" |
| harness = false |
| |
| [[bench]] |
| name = "make_decimal" |
| harness = false |
| |
| [[bench]] |
| name = "cast_int_to_decimal" |
| harness = false |
| |
| [[bench]] |
| name = "log" |
| harness = false |
| |
| [[bench]] |
| name = "pow" |
| harness = false |
| |
| [[bench]] |
| name = "abs" |
| harness = false |
| |
| [[bench]] |
| name = "isnan" |
| harness = false |
| |
| [[bench]] |
| name = "rlike" |
| harness = false |
| |
| [[bench]] |
| name = "create_named_struct" |
| harness = false |
| |
| [[bench]] |
| name = "get_struct_field" |
| harness = false |
| |
| [[bench]] |
| name = "from_json" |
| harness = false |
| |
| [[bench]] |
| name = "modulo" |
| harness = false |
| |
| [[bench]] |
| name = "levenshtein" |
| harness = false |
| |
| [[bench]] |
| name = "negative" |
| harness = false |
| |
| [[bench]] |
| name = "split" |
| harness = false |
| |
| [[bench]] |
| name = "regexp_extract_all" |
| harness = false |
| |
| [[bench]] |
| name = "contains" |
| harness = false |
| |
| [[bench]] |
| name = "timestamp_trunc" |
| harness = false |
| |
| [[bench]] |
| name = "unix_timestamp" |
| harness = false |
| |
| [[bench]] |
| name = "from_utc_timestamp" |
| harness = false |
| |
| [[bench]] |
| name = "to_utc_timestamp" |
| harness = false |