Skip to content

Commit 8fa7858

Browse files
committed
Make TransactionalPostgresStatement a newtype
1 parent 25cd85e commit 8fa7858

1 file changed

Lines changed: 12 additions & 16 deletions

File tree

src/postgres/lib.rs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -519,14 +519,12 @@ impl<'self> Drop for PostgresTransaction<'self> {
519519
impl<'self> PostgresTransaction<'self> {
520520
pub fn prepare<'a>(&'a self, query: &str)
521521
-> TransactionalPostgresStatement<'a> {
522-
TransactionalPostgresStatement { stmt: self.conn.prepare(query) }
522+
TransactionalPostgresStatement(self.conn.prepare(query))
523523
}
524524

525525
pub fn try_prepare<'a>(&'a self, query: &str)
526526
-> Result<TransactionalPostgresStatement<'a>, PostgresDbError> {
527-
do self.conn.try_prepare(query).map_move |stmt| {
528-
TransactionalPostgresStatement { stmt: stmt }
529-
}
527+
self.conn.try_prepare(query).map_move(TransactionalPostgresStatement)
530528
}
531529

532530
pub fn update(&self, query: &str, params: &[&ToSql]) -> uint {
@@ -768,50 +766,48 @@ impl ResultDescription {
768766
}
769767
}
770768

771-
pub struct TransactionalPostgresStatement<'self> {
772-
priv stmt: NormalPostgresStatement<'self>
773-
}
769+
pub struct TransactionalPostgresStatement<'self>(NormalPostgresStatement<'self>);
774770

775771
impl<'self> PostgresStatement for TransactionalPostgresStatement<'self> {
776772
fn param_types<'a>(&'a self) -> &'a [PostgresType] {
777-
self.stmt.param_types()
773+
(**self).param_types()
778774
}
779775

780776
fn result_descriptions<'a>(&'a self) -> &'a [ResultDescription] {
781-
self.stmt.result_descriptions()
777+
(**self).result_descriptions()
782778
}
783779

784780
fn update(&self, params: &[&ToSql]) -> uint {
785-
self.stmt.update(params)
781+
(**self).update(params)
786782
}
787783

788784
fn try_update(&self, params: &[&ToSql]) -> Result<uint, PostgresDbError> {
789-
self.stmt.try_update(params)
785+
(**self).try_update(params)
790786
}
791787

792788
fn query<'a>(&'a self, params: &[&ToSql]) -> PostgresResult<'a> {
793-
self.stmt.query(params)
789+
(**self).query(params)
794790
}
795791

796792
fn try_query<'a>(&'a self, params: &[&ToSql])
797793
-> Result<PostgresResult<'a>, PostgresDbError> {
798-
self.stmt.try_query(params)
794+
(**self).try_query(params)
799795
}
800796

801797
fn find_col_named(&self, col: &str) -> Option<uint> {
802-
self.stmt.find_col_named(col)
798+
(**self).find_col_named(col)
803799
}
804800
}
805801

806802
impl<'self> TransactionalPostgresStatement<'self> {
807803
pub fn lazy_query<'a>(&'a self, row_limit: uint, params: &[&ToSql])
808804
-> PostgresResult<'a> {
809-
self.stmt.lazy_query(row_limit, params)
805+
(**self).lazy_query(row_limit, params)
810806
}
811807

812808
pub fn try_lazy_query<'a>(&'a self, row_limit: uint, params: &[&ToSql])
813809
-> Result<PostgresResult<'a>, PostgresDbError> {
814-
self.stmt.try_lazy_query(row_limit, params)
810+
(**self).try_lazy_query(row_limit, params)
815811
}
816812
}
817813

0 commit comments

Comments
 (0)