pub struct PostgresSqlGenerator;Expand description
SQL generator that produces PostgreSQL-compatible SQL.
Implementations§
Trait Implementations§
Source§impl Clone for PostgresSqlGenerator
impl Clone for PostgresSqlGenerator
Source§fn clone(&self) -> PostgresSqlGenerator
fn clone(&self) -> PostgresSqlGenerator
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PostgresSqlGenerator
impl Debug for PostgresSqlGenerator
Source§impl Default for PostgresSqlGenerator
impl Default for PostgresSqlGenerator
Source§impl ISqlGenerator for PostgresSqlGenerator
impl ISqlGenerator for PostgresSqlGenerator
Source§fn insert(&self, table: &str, columns: &[&str], returning: bool) -> String
fn insert(&self, table: &str, columns: &[&str], returning: bool) -> String
Generates an INSERT statement.
Source§fn insert_batch(
&self,
table: &str,
columns: &[&str],
row_count: usize,
) -> String
fn insert_batch( &self, table: &str, columns: &[&str], row_count: usize, ) -> String
Generates a multi-row INSERT statement with
row_count value groups
(INSERT INTO t (c1, c2) VALUES (?, ?), (?, ?), ...). Placeholders
follow the dialect’s numbering (? for SQLite/MySQL, $n for PG).Source§fn upsert_batch(
&self,
table: &str,
columns: &[&str],
conflict_cols: &[&str],
row_count: usize,
) -> String
fn upsert_batch( &self, table: &str, columns: &[&str], conflict_cols: &[&str], row_count: usize, ) -> String
Generates a batch UPSERT statement (
row_count value groups). Read moreSource§fn update(
&self,
table: &str,
set_columns: &[&str],
where_clause: &str,
) -> String
fn update( &self, table: &str, set_columns: &[&str], where_clause: &str, ) -> String
Generates an UPDATE statement.
Source§fn create_table(&self, table: &str, columns: &[(String, String)]) -> String
fn create_table(&self, table: &str, columns: &[(String, String)]) -> String
Generates a CREATE TABLE statement.
Source§fn drop_table(&self, table: &str) -> String
fn drop_table(&self, table: &str) -> String
Generates a DROP TABLE statement.
Source§fn pagination(&self, skip: Option<usize>, take: Option<usize>) -> String
fn pagination(&self, skip: Option<usize>, take: Option<usize>) -> String
Generates a pagination clause.
Source§fn parameter_placeholder(&self, index: usize) -> String
fn parameter_placeholder(&self, index: usize) -> String
Returns the parameter placeholder (e.g.,
$1 for PG, ? for MySQL).Source§fn quote_identifier(&self, identifier: &str) -> String
fn quote_identifier(&self, identifier: &str) -> String
Returns the identifier quoting character (e.g.,
" for PG, ` for MySQL).Source§fn auto_increment_syntax(&self) -> &'static str
fn auto_increment_syntax(&self) -> &'static str
Returns the dialect-specific auto-increment syntax.
Source§fn supports_returning(&self) -> bool
fn supports_returning(&self) -> bool
Whether
insert_batch includes a RETURNING * clause (PostgreSQL).
When true, execute_inserts uses query() to read back generated PKs
directly from the INSERT result set.Source§fn uses_numbered_placeholders(&self) -> bool
fn uses_numbered_placeholders(&self) -> bool
Whether the dialect uses numbered placeholders (e.g. PostgreSQL
$1,
$2) where the index depends on position within the full statement. Read moreSource§fn update_batch(
&self,
table: &str,
set_columns: &[&str],
pk_col: &str,
row_count: usize,
where_clause: &str,
) -> String
fn update_batch( &self, table: &str, set_columns: &[&str], pk_col: &str, row_count: usize, where_clause: &str, ) -> String
Generates a batch UPDATE using
CASE pk_col WHEN ? THEN ? for
row_count rows, reducing N round trips to 1. Read moreSource§fn last_insert_id_sql(&self) -> Option<&'static str>
fn last_insert_id_sql(&self) -> Option<&'static str>
SQL that retrieves the auto-increment key generated by the most recent
batch INSERT. Returns
None when the dialect uses RETURNING instead. Read moreSource§fn last_insert_id_returns_first(&self) -> bool
fn last_insert_id_returns_first(&self) -> bool
Whether
last_insert_id_sql() returns the FIRST (MySQL) or LAST
(SQLite) generated ID in a batch INSERT. The executor uses this to
compute the full key sequence: first_id..first_id+N or
last_id-N+1..last_id.Auto Trait Implementations§
impl Freeze for PostgresSqlGenerator
impl RefUnwindSafe for PostgresSqlGenerator
impl Send for PostgresSqlGenerator
impl Sync for PostgresSqlGenerator
impl Unpin for PostgresSqlGenerator
impl UnsafeUnpin for PostgresSqlGenerator
impl UnwindSafe for PostgresSqlGenerator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more