From eb062e247b7c8f2dee8e72c9bb501ebf51ad91fc Mon Sep 17 00:00:00 2001 From: Chris Tsang Date: Sat, 5 Oct 2024 00:30:37 +0100 Subject: [PATCH] Add doc test --- src/backend/postgres/query.rs | 4 +++- src/extension/postgres/types.rs | 15 +++++++++++++++ src/func.rs | 6 ++---- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/backend/postgres/query.rs b/src/backend/postgres/query.rs index 94dd198d..cd2bc926 100644 --- a/src/backend/postgres/query.rs +++ b/src/backend/postgres/query.rs @@ -41,7 +41,9 @@ impl QueryBuilder for PostgresQueryBuilder { fn prepare_simple_expr(&self, simple_expr: &SimpleExpr, sql: &mut dyn SqlWriter) { match simple_expr { SimpleExpr::AsEnum(type_name, expr) => { - let simple_expr = expr.clone().cast_as_quoted(SeaRc::clone(type_name), self.quote()); + let simple_expr = expr + .clone() + .cast_as_quoted(SeaRc::clone(type_name), self.quote()); self.prepare_simple_expr_common(&simple_expr, sql); } _ => QueryBuilder::prepare_simple_expr_common(self, simple_expr, sql), diff --git a/src/extension/postgres/types.rs b/src/extension/postgres/types.rs index 29bda947..70f69d09 100644 --- a/src/extension/postgres/types.rs +++ b/src/extension/postgres/types.rs @@ -406,6 +406,21 @@ impl TypeAlterStatement { self } + /// Add a enum value if not already exists + /// + /// ``` + /// use sea_query::{extension::postgres::Type, tests_cfg::*, *}; + /// + /// assert_eq!( + /// Type::alter() + /// .name(Font::Table) + /// .add_value(Alias::new("weight")) + /// .if_not_exists() + /// .after(Font::Variant) + /// .to_string(PostgresQueryBuilder), + /// r#"ALTER TYPE "font" ADD VALUE IF NOT EXISTS 'weight' AFTER 'variant'"# + /// ) + /// ``` pub fn if_not_exists(mut self) -> Self { if let Some(option) = self.option { self.option = Some(option.if_not_exists()); diff --git a/src/func.rs b/src/func.rs index 300f28ed..7d506ed0 100644 --- a/src/func.rs +++ b/src/func.rs @@ -496,10 +496,8 @@ impl Func { let expr: SimpleExpr = expr.into(); let mut quoted_type = String::new(); iden.into_iden().prepare(&mut quoted_type, q); - FunctionCall::new(Function::Cast).arg(expr.binary( - BinOper::As, - Expr::cust(quoted_type.as_str()), - )) + FunctionCall::new(Function::Cast) + .arg(expr.binary(BinOper::As, Expr::cust(quoted_type.as_str()))) } /// Call `COALESCE` function.