Skip to content

Commit

Permalink
Remove Geometry connector capabilities to allow stable build
Browse files Browse the repository at this point in the history
  • Loading branch information
Oreilles committed Oct 7, 2024
1 parent c9479dd commit 8b15e06
Show file tree
Hide file tree
Showing 17 changed files with 8 additions and 44 deletions.
2 changes: 1 addition & 1 deletion libs/user-facing-errors/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ impl Error {

/// Construct a new UnknownError from a `PanicInfo` in a panic hook. `UnknownError`s created
/// with this constructor will have a proper, useful backtrace.
pub fn new_in_panic_hook(panic_info: &std::panic::PanicHookInfo<'_>) -> Self {
pub fn new_in_panic_hook(panic_info: &std::panic::PanicInfo<'_>) -> Self {
let message = panic_info
.payload()
.downcast_ref::<&str>()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ macro_rules! reachable_only_with_capability {
#[inline(always)]
#[allow(dead_code)] // not used if more than one connector is built
const fn check_comptime_capability(capabilities: ConnectorCapabilities, cap: ConnectorCapability) -> bool {
(capabilities.bits_c() & (cap as u128)) > 0
(capabilities.bits_c() & (cap as u64)) > 0
}

#[inline(always)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@ const CAPABILITIES: ConnectorCapabilities = enumflags2::make_bitflags!(Connector
Json |
JsonFiltering |
JsonFilteringArrayPath |
Geometry |
GeometryFiltering |
NamedPrimaryKeys |
NamedForeignKeys |
SqlQueryRaw |
Expand Down
1 change: 0 additions & 1 deletion psl/psl-core/src/builtin_connectors/mongodb.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ use std::result::Result as StdResult;

const CAPABILITIES: ConnectorCapabilities = enumflags2::make_bitflags!(ConnectorCapability::{
Json |
Geometry |
Enums |
EnumArrayPush |
RelationFieldsInArbitraryOrder |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ const CONSTRAINT_SCOPES: &[ConstraintScope] = &[
];

const CAPABILITIES: ConnectorCapabilities = enumflags2::make_bitflags!(ConnectorCapability::{
Geometry |
GeometryFiltering |
AnyId |
AutoIncrement |
AutoIncrementAllowedOnNonId |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@ pub const CAPABILITIES: ConnectorCapabilities = enumflags2::make_bitflags!(Conne
Enums |
EnumArrayPush |
Json |
Geometry |
GeometryFiltering |
AutoIncrementAllowedOnNonId |
RelationFieldsInArbitraryOrder |
CreateMany |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ pub const CAPABILITIES: ConnectorCapabilities = enumflags2::make_bitflags!(Conne
JsonFilteringArrayPath |
JsonFilteringAlphanumeric |
JsonFilteringAlphanumericFieldRef |
Geometry |
GeometryFiltering |
MultiSchema |
NamedForeignKeys |
NamedPrimaryKeys |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ pub const CAPABILITIES: ConnectorCapabilities = enumflags2::make_bitflags!(Conne
AnyId |
AutoIncrement |
CompoundIds |
Geometry |
GeometryFiltering |
SqlQueryRaw |
RelationFieldsInArbitraryOrder |
UpdateableId |
Expand Down
4 changes: 0 additions & 4 deletions psl/psl-core/src/datamodel_connector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -223,10 +223,6 @@ pub trait Connector: Send + Sync {
}
}

fn supports_geometry_type(&self) -> bool {
self.capabilities().contains(ConnectorCapability::Geometry)
}

fn supported_index_types(&self) -> BitFlags<IndexAlgorithm> {
IndexAlgorithm::BTree.into()
}
Expand Down
4 changes: 1 addition & 3 deletions psl/psl-core/src/datamodel_connector/capabilities.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ macro_rules! capabilities {
($( $variant:ident $(,)? ),*) => {
#[derive(Debug, Clone, Copy, PartialEq)]
#[enumflags2::bitflags]
#[repr(u128)]
#[repr(u64)]
pub enum ConnectorCapability {
$(
$variant,
Expand Down Expand Up @@ -55,8 +55,6 @@ capabilities!(
TwoWayEmbeddedManyToManyRelation,
ImplicitManyToManyRelation,
MultiSchema,
Geometry,
GeometryFiltering,
//Start of ME/IE only capabilities
AutoIncrementAllowedOnNonId,
AutoIncrementMultipleAllowed,
Expand Down
1 change: 0 additions & 1 deletion psl/psl-core/src/datamodel_connector/empty_connector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ impl Connector for EmptyDatamodelConnector {
CompoundIds |
Enums |
Json |
Geometry |
ImplicitManyToManyRelation
})
}
Expand Down
1 change: 0 additions & 1 deletion psl/psl-core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#![deny(rust_2018_idioms, unsafe_code)]
#![allow(clippy::derive_partial_eq_without_eq)]
#![allow(incomplete_features)]
#![feature(repr128)]

pub mod builtin_connectors;
pub mod datamodel_connector;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -298,22 +298,6 @@ pub(super) fn validate_scalar_field_connector_specific(field: ScalarFieldWalker<
}
}

ScalarFieldType::BuiltInScalar(ScalarType::Geometry) => {
if !ctx.connector.supports_geometry_type() {
ctx.push_error(DatamodelError::new_field_validation_error(
&format!(
"Field `{}` in {container} `{}` can't be of type Geometry. The current connector does not support the Geometry type.",
field.name(),
field.model().name(),
),
container,
field.model().name(),
field.name(),
field.ast_field().span(),
));
}
}

_ => (),
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use query_engine_tests::*;

#[test_suite(capabilities(Geometry))]
#[test_suite]
mod geometry_filter_spec {
use query_engine_tests::run_query;

Expand Down Expand Up @@ -119,8 +119,7 @@ mod geometry_filter_spec {

#[connector_test(
schema(schema),
exclude(Postgres, Sqlite(3, "cfd1", "libsql.js", "libsql.js.wasm"), MySQL(5.6)),
capabilities(GeometryFiltering)
exclude(Postgres, Sqlite(3, "cfd1", "libsql.js", "libsql.js.wasm"), MySQL(5.6), MongoDb)
)]
async fn geometric_comparison_filters(runner: Runner) -> TestResult<()> {
geometric_comparison_filters_test(runner).await
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ mod mapped_create {
}
}

#[test_suite(capabilities(Geometry))]
#[test_suite]
mod geometry_create {
use query_engine_tests::run_query;

Expand Down
2 changes: 1 addition & 1 deletion query-engine/query-engine-wasm/rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[toolchain]
channel = "nightly-2024-09-29"
channel = "nightly-2024-05-25"
components = ["clippy", "rustfmt", "rust-src"]
targets = [
"wasm32-unknown-unknown",
Expand Down
2 changes: 1 addition & 1 deletion rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[toolchain]
channel = "nightly"
channel = "1.80.1"
components = ["clippy", "rustfmt", "rust-src"]
targets = [
# WASM target for serverless and edge environments.
Expand Down

0 comments on commit 8b15e06

Please sign in to comment.