Browse Source

Escape table and column names in generated queries.

Kestrel 2 years ago
parent
commit
ffd2013532
4 changed files with 6 additions and 6 deletions
  1. 1 1
      microrm/Cargo.toml
  2. 1 1
      microrm/src/query/delete.rs
  3. 1 1
      microrm/src/query/select.rs
  4. 3 3
      microrm/src/query/update.rs

+ 1 - 1
microrm/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "microrm"
-version = "0.3.7"
+version = "0.3.8"
 edition = "2021"
 license = "BSD-4-Clause"
 authors = ["Kestrel <kestrel@flying-kestrel.ca>"]

+ 1 - 1
microrm/src/query/delete.rs

@@ -24,7 +24,7 @@ impl<'r, 'q, T: Entity> StaticVersion for Delete<'r, 'q, T> {
 
 impl<'r, 'q, T: Entity> QueryComponent for Delete<'r, 'q, T> {
     fn derive(&self) -> DerivedQuery {
-        DerivedQuery::new().add(QueryPart::Root, format!("DELETE FROM {}", T::table_name()))
+        DerivedQuery::new().add(QueryPart::Root, format!("DELETE FROM `{}`", T::table_name()))
     }
 
     fn contribute<H: Hasher>(&self, hasher: &mut H) {

+ 1 - 1
microrm/src/query/select.rs

@@ -26,7 +26,7 @@ impl<'r, 'q, T: Entity> QueryComponent for Select<'r, 'q, T> {
     fn derive(&self) -> DerivedQuery {
         DerivedQuery::new().add(
             QueryPart::Root,
-            format!("SELECT * FROM {}", T::table_name()),
+            format!("SELECT * FROM `{}`", T::table_name()),
         )
     }
 

+ 3 - 3
microrm/src/query/update.rs

@@ -37,7 +37,7 @@ impl<'r, 'q, T: Entity> StaticVersion for Update<'r, 'q, T> {
 
 impl<'r, 'q, T: Entity> QueryComponent for Update<'r, 'q, T> {
     fn derive(&self) -> DerivedQuery {
-        DerivedQuery::new().add(QueryPart::Root, format!("UPDATE {}", T::table_name()))
+        DerivedQuery::new().add(QueryPart::Root, format!("UPDATE `{}`", T::table_name()))
     }
 
     fn contribute<H: Hasher>(&self, hasher: &mut H) {
@@ -77,7 +77,7 @@ impl<'r, 'q, T: Entity> QueryComponent for Entire<'r, 'q, T> {
         // skip ID column
         let cols = T::columns();
         for column in &cols[1..] {
-            dq = dq.add(QueryPart::Set, format!("{} = ?", column.name()));
+            dq = dq.add(QueryPart::Set, format!("`{}` = ?", column.name()));
         }
         dq
     }
@@ -161,7 +161,7 @@ where
     fn derive(&self) -> DerivedQuery {
         self.wrap
             .derive()
-            .add(QueryPart::Set, format!("{} = ?", self.col.name()))
+            .add(QueryPart::Set, format!("`{}` = ?", self.col.name()))
     }
 
     fn contribute<H: Hasher>(&self, hasher: &mut H) {