From c7a5ed311a50181149373b47a9171db2f241b4eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aure=CC=80le=20Nitoref?= Date: Fri, 4 Oct 2024 00:28:32 +0200 Subject: [PATCH] Fix quaint geometry as raw --- quaint/src/visitor/mssql.rs | 5 +++-- quaint/src/visitor/mysql.rs | 4 ++-- quaint/src/visitor/postgres.rs | 4 ++-- quaint/src/visitor/sqlite.rs | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/quaint/src/visitor/mssql.rs b/quaint/src/visitor/mssql.rs index 15b5ae0324b..d27314968bd 100644 --- a/quaint/src/visitor/mssql.rs +++ b/quaint/src/visitor/mssql.rs @@ -424,10 +424,10 @@ impl<'a> Visitor<'a> for Mssql<'a> { // TODO@geometry: find a way to avoid cloning ValueType::Geometry(g) => g .as_ref() - .map(|g| self.visit_function(geom_from_text(g.wkt.clone(), g.srid, false))), + .map(|g| self.visit_function(geom_from_text(g.wkt.clone().raw(), g.srid.map(IntoRaw::raw), false))), ValueType::Geography(g) => g .as_ref() - .map(|g| self.visit_function(geom_from_text(g.wkt.clone(), g.srid, true))), + .map(|g| self.visit_function(geom_from_text(g.wkt.clone().raw(), g.srid.map(IntoRaw::raw), true))), }; match res { @@ -839,6 +839,7 @@ impl<'a> Visitor<'a> for Mssql<'a> { self.write(if geom.geography { "geography" } else { "geometry" })?; self.surround_with("::STGeomFromText(", ")", |ref mut s| { s.visit_expression(*geom.wkt_expression)?; + s.write(",")?; if geom.geography { s.visit_expression(*geom.srid_expression.unwrap_or_else(|| Box::new(4326.into())))?; } else { diff --git a/quaint/src/visitor/mysql.rs b/quaint/src/visitor/mysql.rs index dd3c67720b3..fbe596d9fdc 100644 --- a/quaint/src/visitor/mysql.rs +++ b/quaint/src/visitor/mysql.rs @@ -196,10 +196,10 @@ impl<'a> Visitor<'a> for Mysql<'a> { // TODO@geometry: find a way to avoid cloning ValueType::Geometry(g) => g .as_ref() - .map(|g| self.visit_function(geom_from_text(g.wkt.clone(), g.srid, false))), + .map(|g| self.visit_function(geom_from_text(g.wkt.clone().raw(), g.srid.map(IntoRaw::raw), false))), ValueType::Geography(g) => g .as_ref() - .map(|g| self.visit_function(geom_from_text(g.wkt.clone(), g.srid, true))), + .map(|g| self.visit_function(geom_from_text(g.wkt.clone().raw(), g.srid.map(IntoRaw::raw), true))), }; match res { diff --git a/quaint/src/visitor/postgres.rs b/quaint/src/visitor/postgres.rs index c0ff3866633..658648994fb 100644 --- a/quaint/src/visitor/postgres.rs +++ b/quaint/src/visitor/postgres.rs @@ -260,10 +260,10 @@ impl<'a> Visitor<'a> for Postgres<'a> { // TODO@geometry: find a way to avoid cloning ValueType::Geometry(g) => g .as_ref() - .map(|g| self.visit_function(geom_from_text(g.wkt.clone(), g.srid, false))), + .map(|g| self.visit_function(geom_from_text(g.wkt.clone().raw(), g.srid.map(IntoRaw::raw), false))), ValueType::Geography(g) => g .as_ref() - .map(|g| self.visit_function(geom_from_text(g.wkt.clone(), g.srid, true))), + .map(|g| self.visit_function(geom_from_text(g.wkt.clone().raw(), g.srid.map(IntoRaw::raw), true))), }; match res { diff --git a/quaint/src/visitor/sqlite.rs b/quaint/src/visitor/sqlite.rs index c20d6fd9f0b..99cc169c721 100644 --- a/quaint/src/visitor/sqlite.rs +++ b/quaint/src/visitor/sqlite.rs @@ -143,10 +143,10 @@ impl<'a> Visitor<'a> for Sqlite<'a> { // TODO@geometry: find a way to avoid cloning ValueType::Geometry(g) => g .as_ref() - .map(|g| self.visit_function(geom_from_text(g.wkt.clone(), g.srid, false))), + .map(|g| self.visit_function(geom_from_text(g.wkt.clone().raw(), g.srid.map(IntoRaw::raw), false))), ValueType::Geography(g) => g .as_ref() - .map(|g| self.visit_function(geom_from_text(g.wkt.clone(), g.srid, true))), + .map(|g| self.visit_function(geom_from_text(g.wkt.clone().raw(), g.srid.map(IntoRaw::raw), true))), }; match res {