[package]
edition = "2021"
rust-version = "1.88"
name = "fraiseql-core"
version = "2.0.0-rc.13"
authors = ["FraiseQL Team <team@fraiseql.dev>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core execution engine for FraiseQL v2 - Compiled GraphQL over SQL"
homepage = "https://fraiseql.dev"
documentation = "https://docs.fraiseql.dev"
readme = false
keywords = [
"graphql",
"database",
"compiler",
"sql",
]
categories = [
"database",
"web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/fraiseql/fraiseql"
[features]
arrow = [
"dep:arrow",
"dep:arrow-array",
]
default = [
"postgres",
"rich-filters",
]
kafka = ["rdkafka"]
mysql = ["sqlx/mysql"]
postgres = []
rich-filters = []
sqlite = ["sqlx/sqlite"]
sqlserver = [
"tiberius",
"bb8",
"bb8-tiberius",
]
test-mysql = ["mysql"]
test-postgres = []
test-sqlserver = ["sqlserver"]
wire-backend = ["fraiseql-wire"]
[lib]
name = "fraiseql_core"
path = "src/lib.rs"
[[test]]
name = "aggregation_integration"
path = "tests/aggregation_integration.rs"
[[test]]
name = "auth_sdk_integration"
path = "tests/auth_sdk_integration.rs"
[[test]]
name = "concurrency_cache"
path = "tests/concurrency_cache.rs"
[[test]]
name = "concurrency_cancellation"
path = "tests/concurrency_cancellation.rs"
[[test]]
name = "concurrency_query_execution"
path = "tests/concurrency_query_execution.rs"
[[test]]
name = "concurrent_load_testing"
path = "tests/concurrent_load_testing.rs"
[[test]]
name = "cross_database_test"
path = "tests/cross_database_test.rs"
[[test]]
name = "custom_scalar_coercion"
path = "tests/custom_scalar_coercion.rs"
[[test]]
name = "custom_scalar_json"
path = "tests/custom_scalar_json.rs"
[[test]]
name = "deprecated_field_introspection"
path = "tests/deprecated_field_introspection.rs"
[[test]]
name = "design_analysis_tests"
path = "tests/design_analysis_tests.rs"
[[test]]
name = "e2e_aggregate_queries"
path = "tests/e2e_aggregate_queries.rs"
[[test]]
name = "e2e_cross_database_chain"
path = "tests/e2e_cross_database_chain.rs"
[[test]]
name = "e2e_field_rbac_pipeline"
path = "tests/e2e_field_rbac_pipeline.rs"
[[test]]
name = "e2e_python_authoring"
path = "tests/e2e_python_authoring.rs"
[[test]]
name = "e2e_query_execution"
path = "tests/e2e_query_execution.rs"
[[test]]
name = "e2e_sql_injection_integration"
path = "tests/e2e_sql_injection_integration.rs"
[[test]]
name = "e2e_typescript_authoring"
path = "tests/e2e_typescript_authoring.rs"
[[test]]
name = "e2e_window_functions"
path = "tests/e2e_window_functions.rs"
[[test]]
name = "elo_rust_integration"
path = "tests/elo_rust_integration.rs"
[[test]]
name = "error_cache_failures"
path = "tests/error_cache_failures.rs"
[[test]]
name = "error_database_failures"
path = "tests/error_database_failures.rs"
[[test]]
name = "error_input_edge_cases"
path = "tests/error_input_edge_cases.rs"
[[test]]
name = "error_real_cache"
path = "tests/error_real_cache.rs"
[[test]]
name = "error_real_database"
path = "tests/error_real_database.rs"
[[test]]
name = "error_recovery"
path = "tests/error_recovery.rs"
[[test]]
name = "fact_table_integration"
path = "tests/fact_table_integration.rs"
[[test]]
name = "federation"
path = "tests/federation.rs"
[[test]]
name = "federation_compliance"
path = "tests/federation_compliance.rs"
[[test]]
name = "federation_composition_validation"
path = "tests/federation_composition_validation.rs"
[[test]]
name = "federation_dependency_graph"
path = "tests/federation_dependency_graph.rs"
[[test]]
name = "federation_directives"
path = "tests/federation_directives.rs"
[[test]]
name = "federation_entity_resolver"
path = "tests/federation_entity_resolver.rs"
[[test]]
name = "federation_field_directives"
path = "tests/federation_field_directives.rs"
[[test]]
name = "federation_http_requires_runtime"
path = "tests/federation_http_requires_runtime.rs"
[[test]]
name = "federation_multi_subgraph"
path = "tests/federation_multi_subgraph.rs"
[[test]]
name = "federation_mutation_http"
path = "tests/federation_mutation_http.rs"
[[test]]
name = "federation_observability_integration"
path = "tests/federation_observability_integration.rs"
[[test]]
name = "federation_observability_perf"
path = "tests/federation_observability_perf.rs"
[[test]]
name = "federation_provides_enforcement"
path = "tests/federation_provides_enforcement.rs"
[[test]]
name = "federation_requires_provides_enforcement"
path = "tests/federation_requires_provides_enforcement.rs"
[[test]]
name = "federation_saga_chaos_test"
path = "tests/federation_saga_chaos_test.rs"
[[test]]
name = "federation_saga_compensation"
path = "tests/federation_saga_compensation.rs"
[[test]]
name = "federation_saga_coordination"
path = "tests/federation_saga_coordination.rs"
[[test]]
name = "federation_saga_coordinator"
path = "tests/federation_saga_coordinator.rs"
[[test]]
name = "federation_saga_execution"
path = "tests/federation_saga_execution.rs"
[[test]]
name = "federation_saga_observability"
path = "tests/federation_saga_observability.rs"
[[test]]
name = "federation_saga_performance_test"
path = "tests/federation_saga_performance_test.rs"
[[test]]
name = "federation_saga_recovery_background_loop"
path = "tests/federation_saga_recovery_background_loop.rs"
[[test]]
name = "federation_saga_recovery_manager"
path = "tests/federation_saga_recovery_manager.rs"
[[test]]
name = "federation_saga_store"
path = "tests/federation_saga_store.rs"
[[test]]
name = "federation_saga_stress_test"
path = "tests/federation_saga_stress_test.rs"
[[test]]
name = "federation_scenarios"
path = "tests/federation_scenarios.rs"
[[test]]
name = "integration_executor_field_rbac"
path = "tests/integration_executor_field_rbac.rs"
[[test]]
name = "integration_field_rbac_errors"
path = "tests/integration_field_rbac_errors.rs"
[[test]]
name = "integration_field_rbac_runtime"
path = "tests/integration_field_rbac_runtime.rs"
[[test]]
name = "integration_field_rbac_toml"
path = "tests/integration_field_rbac_toml.rs"
[[test]]
name = "integration_rls"
path = "tests/integration_rls.rs"
[[test]]
name = "interface_implementation"
path = "tests/interface_implementation.rs"
[[test]]
name = "introspection_validation_rules"
path = "tests/introspection_validation_rules.rs"
[[test]]
name = "ltree_edge_cases"
path = "tests/ltree_edge_cases.rs"
[[test]]
name = "ltree_validation"
path = "tests/ltree_validation.rs"
[[test]]
name = "multi_database_integration"
path = "tests/multi_database_integration.rs"
[[test]]
name = "mutation_arguments"
path = "tests/mutation_arguments.rs"
[[test]]
name = "mutation_execution_test"
path = "tests/mutation_execution_test.rs"
[[test]]
name = "mutation_nullability"
path = "tests/mutation_nullability.rs"
[[test]]
name = "mutation_operation_dispatch"
path = "tests/mutation_operation_dispatch.rs"
[[test]]
name = "mutation_typename_integration"
path = "tests/mutation_typename_integration.rs"
[[test]]
name = "oidc_audience_validation_test"
path = "tests/oidc_audience_validation_test.rs"
[[test]]
name = "path_injection_tests"
path = "tests/path_injection_tests.rs"
[[test]]
name = "projection_integration"
path = "tests/projection_integration.rs"
[[test]]
name = "property_error_handling"
path = "tests/property_error_handling.rs"
[[test]]
name = "property_error_sanitization"
path = "tests/property_error_sanitization.rs"
[[test]]
name = "property_graphql"
path = "tests/property_graphql.rs"
[[test]]
name = "property_schema"
path = "tests/property_schema.rs"
[[test]]
name = "property_sql_generation"
path = "tests/property_sql_generation.rs"
[[test]]
name = "property_tests"
path = "tests/property_tests.rs"
[[test]]
name = "query_optimization_validation_test"
path = "tests/query_optimization_validation_test.rs"
[[test]]
name = "query_validation_integration_test"
path = "tests/query_validation_integration_test.rs"
[[test]]
name = "schema_integration_test"
path = "tests/schema_integration_test.rs"
[[test]]
name = "union_type_projection"
path = "tests/union_type_projection.rs"
[[test]]
name = "validation_audit_logging"
path = "tests/validation_audit_logging.rs"
[[test]]
name = "validation_rate_limiting"
path = "tests/validation_rate_limiting.rs"
[[test]]
name = "where_array_edge_cases"
path = "tests/where_array_edge_cases.rs"
[[test]]
name = "where_case_sensitivity"
path = "tests/where_case_sensitivity.rs"
[[test]]
name = "where_deep_nesting"
path = "tests/where_deep_nesting.rs"
[[test]]
name = "where_null_logic"
path = "tests/where_null_logic.rs"
[[test]]
name = "where_sql_injection_prevention"
path = "tests/where_sql_injection_prevention.rs"
[[test]]
name = "wire_conn_test"
path = "tests/wire_conn_test.rs"
[[test]]
name = "wire_direct_test"
path = "tests/wire_direct_test.rs"
[[test]]
name = "wire_view_query_test"
path = "tests/wire_view_query_test.rs"
[[bench]]
name = "adapter_comparison"
path = "benches/adapter_comparison.rs"
harness = false
required-features = ["postgres"]
[[bench]]
name = "design_analysis"
path = "benches/design_analysis.rs"
[[bench]]
name = "federation_bench"
path = "benches/federation_bench.rs"
harness = false
[[bench]]
name = "full_pipeline_comparison"
path = "benches/full_pipeline_comparison.rs"
harness = false
required-features = ["postgres"]
[[bench]]
name = "saga_performance_bench"
path = "benches/saga_performance_bench.rs"
[[bench]]
name = "sql_projection_benchmark"
path = "benches/sql_projection_benchmark.rs"
harness = false
[dependencies.arrow]
version = "57"
optional = true
[dependencies.arrow-array]
version = "57"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bb8]
version = "0.8"
optional = true
[dependencies.bb8-tiberius]
version = "0.15"
optional = true
[dependencies.bytes]
version = "1.0"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.dashmap]
version = "6.0"
[dependencies.deadpool]
version = "0.12"
[dependencies.deadpool-postgres]
version = "0.14"
[dependencies.fraiseql-wire]
version = "2.0.0-rc.13"
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.graphql-parser]
version = "0.4"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.itertools]
version = "0.13"
[dependencies.jsonwebtoken]
version = "9.2"
[dependencies.linked-hash-map]
version = "0.5"
[dependencies.lru]
version = "0.16"
[dependencies.native-tls]
version = "0.2"
[dependencies.parking_lot]
version = "0.12"
[dependencies.postgres-native-tls]
version = "0.5"
[dependencies.rand]
version = "0.8"
[dependencies.rdkafka]
version = "0.39"
features = ["tokio"]
optional = true
[dependencies.regex]
version = "1.10"
[dependencies.reqwest]
version = "0.12"
features = ["json"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio",
"json",
]
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tiberius]
version = "0.12"
features = [
"tds73",
"rustls",
]
optional = true
default-features = false
[dependencies.tokio]
version = "1.0"
features = ["full"]
[dependencies.tokio-postgres]
version = "0.7"
features = [
"with-serde_json-1",
"with-uuid-1",
"with-chrono-0_4",
"with-serde_json-1",
]
[dependencies.tokio-util]
version = "0.7"
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1.21"
features = [
"v4",
"serde",
]
[dependencies.zeroize]
version = "1.8"
features = ["std"]
[dev-dependencies.criterion]
version = "0.5"
features = ["async_tokio"]
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.temp-env]
version = "0.3"
features = ["async_closure"]
[dev-dependencies.tempfile]
version = "3.25"
[dev-dependencies.testcontainers]
version = "0.26"
[dev-dependencies.testcontainers-modules]
version = "0.14"
features = ["postgres"]
[dev-dependencies.tokio-test]
version = "0.4"