From 1c2b0924a78428edeb572300356922860af20001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20Houl=C3=A9?= <13155277+tomhoule@users.noreply.github.com> Date: Thu, 16 Mar 2023 08:43:42 +0100 Subject: [PATCH] qe/prisma-models: delete more dead codes, unused dependencies (#3776) --- Cargo.lock | 3 --- query-engine/prisma-models/Cargo.toml | 3 --- query-engine/prisma-models/src/error.rs | 16 ---------------- .../prisma-models/src/field/composite.rs | 1 - query-engine/prisma-models/src/field/mod.rs | 2 -- query-engine/prisma-models/src/field/relation.rs | 1 - query-engine/prisma-models/src/field/scalar.rs | 1 - .../prisma-models/src/field_selection.rs | 8 ++++---- query-engine/prisma-models/src/lib.rs | 1 - .../prisma-models/src/parent_container.rs | 12 ++---------- query-engine/prisma-models/src/pk.rs | 6 ++---- .../prisma-models/src/prisma_value_ext.rs | 2 +- 12 files changed, 9 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fd9110b670c0..f243506ce1dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3057,13 +3057,10 @@ name = "prisma-models" version = "0.0.0" dependencies = [ "bigdecimal", - "chrono", "dml", "itertools", "prisma-value", "psl", - "serde", - "serde_json", "thiserror", ] diff --git a/query-engine/prisma-models/Cargo.toml b/query-engine/prisma-models/Cargo.toml index 0bc03b380399..a1dcce3efa50 100644 --- a/query-engine/prisma-models/Cargo.toml +++ b/query-engine/prisma-models/Cargo.toml @@ -4,14 +4,11 @@ name = "prisma-models" version = "0.0.0" [dependencies] -chrono = { version = "0.4", features = ["serde"] } psl.workspace = true dml = { path = "../dml" } itertools = "0.10" prisma-value = { path = "../../libs/prisma-value" } bigdecimal = "0.3" -serde.workspace = true -serde_json = { version = "1.0", features = ["float_roundtrip"] } thiserror = "1.0" [features] diff --git a/query-engine/prisma-models/src/error.rs b/query-engine/prisma-models/src/error.rs index a30b5d522c44..438f7f35e18c 100644 --- a/query-engine/prisma-models/src/error.rs +++ b/query-engine/prisma-models/src/error.rs @@ -1,4 +1,3 @@ -use prisma_value::ConversionFailure; use thiserror::Error; #[derive(Debug, Error, PartialEq)] @@ -13,9 +12,6 @@ pub enum DomainError { container_name: String, }, - #[error("Relation `{}` not found", name)] - RelationNotFound { name: String }, - #[error("ScalarField `{}` on {} `{}` not found", name, container_type, container_name)] ScalarFieldNotFound { name: String, @@ -33,21 +29,9 @@ pub enum DomainError { #[error("RelationField `{}` on model `{}` not found", name, model)] RelationFieldNotFound { name: String, model: String }, - #[error("Relation field `{}` on model `{}` not found", relation, model)] - FieldForRelationNotFound { relation: String, model: String }, - - #[error("Model id `{}` for relation `{}` not found", model_id, relation)] - ModelForRelationNotFound { model_id: String, relation: String }, - #[error("Enum `{}` not found", name)] EnumNotFound { name: String }, #[error("Conversion from `{}` to `{}` failed.", _0, _1)] ConversionFailure(String, String), } - -impl From for DomainError { - fn from(err: ConversionFailure) -> Self { - Self::ConversionFailure(err.from.into_owned(), err.to.into_owned()) - } -} diff --git a/query-engine/prisma-models/src/field/composite.rs b/query-engine/prisma-models/src/field/composite.rs index d918ceec93f2..87bcd24dcfa9 100644 --- a/query-engine/prisma-models/src/field/composite.rs +++ b/query-engine/prisma-models/src/field/composite.rs @@ -11,7 +11,6 @@ pub enum CompositeFieldId { pub type CompositeField = crate::Zipper; pub type CompositeFieldRef = CompositeField; -pub type CompositeFieldWeak = CompositeField; impl CompositeField { fn arity(&self) -> FieldArity { diff --git a/query-engine/prisma-models/src/field/mod.rs b/query-engine/prisma-models/src/field/mod.rs index 2ad0a99e943b..84aa0c5fef34 100644 --- a/query-engine/prisma-models/src/field/mod.rs +++ b/query-engine/prisma-models/src/field/mod.rs @@ -10,8 +10,6 @@ use crate::{ast, ModelRef}; use psl::parser_database::{walkers, ScalarType}; use std::{borrow::Cow, hash::Hash}; -pub type FieldWeak = Field; - #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum Field { Relation(RelationFieldRef), diff --git a/query-engine/prisma-models/src/field/relation.rs b/query-engine/prisma-models/src/field/relation.rs index d800b12fdb81..c072191641f8 100644 --- a/query-engine/prisma-models/src/field/relation.rs +++ b/query-engine/prisma-models/src/field/relation.rs @@ -7,7 +7,6 @@ use std::fmt::Display; pub type RelationField = crate::Zipper; pub type RelationFieldRef = RelationField; -pub type RelationFieldWeak = RelationField; impl RelationField { pub fn name(&self) -> &str { diff --git a/query-engine/prisma-models/src/field/scalar.rs b/query-engine/prisma-models/src/field/scalar.rs index de23a8936a1b..d711ad53a2ad 100644 --- a/query-engine/prisma-models/src/field/scalar.rs +++ b/query-engine/prisma-models/src/field/scalar.rs @@ -5,7 +5,6 @@ use std::fmt::{Debug, Display}; pub type ScalarField = crate::Zipper; pub type ScalarFieldRef = ScalarField; -pub type ScalarFieldWeak = ScalarField; #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)] pub enum ScalarFieldId { diff --git a/query-engine/prisma-models/src/field_selection.rs b/query-engine/prisma-models/src/field_selection.rs index c966116e556d..b44529793a5a 100644 --- a/query-engine/prisma-models/src/field_selection.rs +++ b/query-engine/prisma-models/src/field_selection.rs @@ -1,6 +1,6 @@ use crate::{ - parent_container::ParentContainer, CompositeFieldRef, DomainError, Field, PrismaValueExtensions, ScalarFieldRef, - SelectionResult, + parent_container::ParentContainer, prisma_value_ext::PrismaValueExtensions, CompositeFieldRef, DomainError, Field, + ScalarFieldRef, SelectionResult, }; use itertools::Itertools; use prisma_value::PrismaValue; @@ -77,7 +77,7 @@ impl FieldSelection { SelectedField::Scalar(sf) => Some(sf.clone()), SelectedField::Composite(_) => None, }) - .collect_vec(); + .collect::>(); if scalar_fields.len() == self.selections.len() { Some(scalar_fields) @@ -179,7 +179,7 @@ impl SelectedField { } /// Coerces a value to fit the selection. If the conversion is not possible, an error will be thrown. - pub fn coerce_value(&self, value: PrismaValue) -> crate::Result { + pub(crate) fn coerce_value(&self, value: PrismaValue) -> crate::Result { match self { SelectedField::Scalar(sf) => value.coerce(&sf.type_identifier()), SelectedField::Composite(cs) => cs.coerce_value(value), diff --git a/query-engine/prisma-models/src/lib.rs b/query-engine/prisma-models/src/lib.rs index 22fe86196e0c..f5b951522f70 100644 --- a/query-engine/prisma-models/src/lib.rs +++ b/query-engine/prisma-models/src/lib.rs @@ -29,7 +29,6 @@ pub use fields::*; pub use internal_data_model::*; pub use model::*; pub use order_by::*; -pub use prisma_value_ext::*; pub use projections::*; pub use record::*; pub use relation::*; diff --git a/query-engine/prisma-models/src/parent_container.rs b/query-engine/prisma-models/src/parent_container.rs index 503166ed9fa8..e9c2363ecb65 100644 --- a/query-engine/prisma-models/src/parent_container.rs +++ b/query-engine/prisma-models/src/parent_container.rs @@ -24,13 +24,6 @@ impl ParentContainer { } } - pub fn as_model_weak(&self) -> Option { - match self { - ParentContainer::Model(m) => Some(m.clone()), - ParentContainer::CompositeType(_) => None, - } - } - pub fn as_composite(&self) -> Option { match self { ParentContainer::Model(_) => None, @@ -53,11 +46,10 @@ impl ParentContainer { } pub fn find_field(&self, prisma_name: &str) -> Option { - // Unwraps are safe: This can never fail, the models and composites are always available in memory. match self { - ParentContainer::Model(weak) => weak.fields().find_from_all(prisma_name).ok(), + ParentContainer::Model(model) => model.fields().find_from_all(prisma_name).ok(), - ParentContainer::CompositeType(weak) => weak.fields().find(|field| field.name() == prisma_name), + ParentContainer::CompositeType(ct) => ct.fields().find(|field| field.name() == prisma_name), } } diff --git a/query-engine/prisma-models/src/pk.rs b/query-engine/prisma-models/src/pk.rs index 3fe1777cf8e3..e37820b4c359 100644 --- a/query-engine/prisma-models/src/pk.rs +++ b/query-engine/prisma-models/src/pk.rs @@ -1,13 +1,11 @@ -use crate::{ScalarFieldRef, ScalarFieldWeak}; - #[derive(Debug, Clone)] pub struct PrimaryKey { pub alias: Option, - pub(crate) fields: Vec, + pub(crate) fields: Vec, } impl PrimaryKey { - pub fn fields(&self) -> Vec { + pub fn fields(&self) -> Vec { self.fields.clone() } } diff --git a/query-engine/prisma-models/src/prisma_value_ext.rs b/query-engine/prisma-models/src/prisma_value_ext.rs index 9a3ce3089a6c..09e052ea844b 100644 --- a/query-engine/prisma-models/src/prisma_value_ext.rs +++ b/query-engine/prisma-models/src/prisma_value_ext.rs @@ -2,7 +2,7 @@ use super::{PrismaValue, TypeIdentifier}; use crate::DomainError; use bigdecimal::ToPrimitive; -pub trait PrismaValueExtensions { +pub(crate) trait PrismaValueExtensions { fn coerce(self, to_type: &TypeIdentifier) -> crate::Result; }