From 0a12760e36de77a2e0ce3f0746226477032a7c26 Mon Sep 17 00:00:00 2001 From: David Karrick Date: Thu, 11 Mar 2021 02:27:21 +0000 Subject: [PATCH 1/3] Do not quote default values for Pg backend Single-quoting the value makes it impossible to use functions. Instead, the quoting should happen in the parameter to default() --- src/backend/pg.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/pg.rs b/src/backend/pg.rs index d309bda..048d5f4 100644 --- a/src/backend/pg.rs +++ b/src/backend/pg.rs @@ -90,7 +90,7 @@ impl SqlGenerator for Pg { WrappedDefault::Null => format!(" DEFAULT NULL"), WrappedDefault::AnyText(ref val) => format!(" DEFAULT '{}'", val), WrappedDefault::UUID(ref val) => format!(" DEFAULT '{}'", val), - WrappedDefault::Date(ref val) => format!(" DEFAULT '{:?}'", val), + WrappedDefault::Date(ref val) => format!(" DEFAULT {:?}", val), WrappedDefault::Custom(ref val) => format!(" DEFAULT '{}'", val), _ => format!(" DEFAULT {}", m) }, From 95772e10c16358abc185148188cd93c163164241 Mon Sep 17 00:00:00 2001 From: David Karrick Date: Thu, 11 Mar 2021 02:29:10 +0000 Subject: [PATCH 2/3] Remove quotes for other backends as well --- src/backend/mysql.rs | 2 +- src/backend/sqlite3.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/mysql.rs b/src/backend/mysql.rs index 6db7474..fb7b14d 100644 --- a/src/backend/mysql.rs +++ b/src/backend/mysql.rs @@ -88,7 +88,7 @@ impl SqlGenerator for MySql { WrappedDefault::Null => format!(" DEFAULT NULL"), WrappedDefault::AnyText(ref val) => format!(" DEFAULT '{}'", val), WrappedDefault::UUID(ref val) => format!(" DEFAULT '{}'", val), - WrappedDefault::Date(ref val) => format!(" DEFAULT '{:?}'", val), + WrappedDefault::Date(ref val) => format!(" DEFAULT {:?}", val), WrappedDefault::Boolean(val) => format!(" DEFAULT {}", if *val { 1 } else { 0 }), WrappedDefault::Custom(ref val) => format!(" DEFAULT '{}'", val), _ => format!(" DEFAULT {}", m), diff --git a/src/backend/sqlite3.rs b/src/backend/sqlite3.rs index 178dbc8..123c49a 100644 --- a/src/backend/sqlite3.rs +++ b/src/backend/sqlite3.rs @@ -86,7 +86,7 @@ impl SqlGenerator for Sqlite { WrappedDefault::Null => format!(" DEFAULT NULL"), WrappedDefault::AnyText(ref val) => format!(" DEFAULT '{}'", val), WrappedDefault::UUID(ref val) => format!(" DEFAULT '{}'", val), - WrappedDefault::Date(ref val) => format!(" DEFAULT '{:?}'", val), + WrappedDefault::Date(ref val) => format!(" DEFAULT {:?}", val), WrappedDefault::Boolean(val) => format!(" DEFAULT {}", if *val { 1 } else { 0 }), WrappedDefault::Custom(ref val) => format!(" DEFAULT '{}'", val), _ => format!(" DEFAULT {}", m) From 68d355b01bf4ec8d87063453d87a4b1babb62dc4 Mon Sep 17 00:00:00 2001 From: David Karrick Date: Thu, 11 Mar 2021 08:09:59 +0000 Subject: [PATCH 3/3] Do not quote any default value --- src/backend/mysql.rs | 6 +++--- src/backend/pg.rs | 6 +++--- src/backend/sqlite3.rs | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/backend/mysql.rs b/src/backend/mysql.rs index fb7b14d..b548b3a 100644 --- a/src/backend/mysql.rs +++ b/src/backend/mysql.rs @@ -86,11 +86,11 @@ impl SqlGenerator for MySql { AutogenFunction::CurrentTimestamp => format!(" DEFAULT CURRENT_TIMESTAMP") }, WrappedDefault::Null => format!(" DEFAULT NULL"), - WrappedDefault::AnyText(ref val) => format!(" DEFAULT '{}'", val), - WrappedDefault::UUID(ref val) => format!(" DEFAULT '{}'", val), + WrappedDefault::AnyText(ref val) => format!(" DEFAULT {}", val), + WrappedDefault::UUID(ref val) => format!(" DEFAULT {}", val), WrappedDefault::Date(ref val) => format!(" DEFAULT {:?}", val), WrappedDefault::Boolean(val) => format!(" DEFAULT {}", if *val { 1 } else { 0 }), - WrappedDefault::Custom(ref val) => format!(" DEFAULT '{}'", val), + WrappedDefault::Custom(ref val) => format!(" DEFAULT {}", val), _ => format!(" DEFAULT {}", m), }, _ => format!(""), diff --git a/src/backend/pg.rs b/src/backend/pg.rs index 048d5f4..1fa2a49 100644 --- a/src/backend/pg.rs +++ b/src/backend/pg.rs @@ -88,10 +88,10 @@ impl SqlGenerator for Pg { AutogenFunction::CurrentTimestamp => format!(" DEFAULT CURRENT_TIMESTAMP") } WrappedDefault::Null => format!(" DEFAULT NULL"), - WrappedDefault::AnyText(ref val) => format!(" DEFAULT '{}'", val), - WrappedDefault::UUID(ref val) => format!(" DEFAULT '{}'", val), + WrappedDefault::AnyText(ref val) => format!(" DEFAULT {}", val), + WrappedDefault::UUID(ref val) => format!(" DEFAULT {}", val), WrappedDefault::Date(ref val) => format!(" DEFAULT {:?}", val), - WrappedDefault::Custom(ref val) => format!(" DEFAULT '{}'", val), + WrappedDefault::Custom(ref val) => format!(" DEFAULT {}", val), _ => format!(" DEFAULT {}", m) }, _ => format!(""), diff --git a/src/backend/sqlite3.rs b/src/backend/sqlite3.rs index 123c49a..50006ad 100644 --- a/src/backend/sqlite3.rs +++ b/src/backend/sqlite3.rs @@ -84,11 +84,11 @@ impl SqlGenerator for Sqlite { AutogenFunction::CurrentTimestamp => format!(" DEFAULT CURRENT_TIMESTAMP") } WrappedDefault::Null => format!(" DEFAULT NULL"), - WrappedDefault::AnyText(ref val) => format!(" DEFAULT '{}'", val), - WrappedDefault::UUID(ref val) => format!(" DEFAULT '{}'", val), + WrappedDefault::AnyText(ref val) => format!(" DEFAULT {}", val), + WrappedDefault::UUID(ref val) => format!(" DEFAULT {}", val), WrappedDefault::Date(ref val) => format!(" DEFAULT {:?}", val), WrappedDefault::Boolean(val) => format!(" DEFAULT {}", if *val { 1 } else { 0 }), - WrappedDefault::Custom(ref val) => format!(" DEFAULT '{}'", val), + WrappedDefault::Custom(ref val) => format!(" DEFAULT {}", val), _ => format!(" DEFAULT {}", m) }, _ => format!(""),