Skip to content

Commit cb05239

Browse files
committed
Make lazy_query take a u32
That's what the backend accepts so larger values would just overflow.
1 parent aa457cb commit cb05239

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

src/lib.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,7 +1026,7 @@ impl<'conn> PostgresTransaction<'conn> {
10261026
pub fn lazy_query<'trans, 'stmt>(&'trans self,
10271027
stmt: &'stmt PostgresStatement,
10281028
params: &[&ToSql],
1029-
row_limit: uint)
1029+
row_limit: u32)
10301030
-> PostgresResult<PostgresLazyRows
10311031
<'trans, 'stmt>> {
10321032
if self.conn as *_ != stmt.conn as *_ {
@@ -1083,7 +1083,7 @@ impl<'conn> PostgresStatement<'conn> {
10831083
Ok(())
10841084
}
10851085

1086-
fn inner_execute(&self, portal_name: &str, row_limit: uint, params: &[&ToSql])
1086+
fn inner_execute(&self, portal_name: &str, row_limit: u32, params: &[&ToSql])
10871087
-> PostgresResult<()> {
10881088
if self.param_types.len() != params.len() {
10891089
return Err(PgWrongParamCount {
@@ -1113,7 +1113,7 @@ impl<'conn> PostgresStatement<'conn> {
11131113
},
11141114
Execute {
11151115
portal: portal_name,
1116-
max_rows: row_limit as i32
1116+
max_rows: row_limit
11171117
},
11181118
Sync]));
11191119

@@ -1127,7 +1127,7 @@ impl<'conn> PostgresStatement<'conn> {
11271127
}
11281128
}
11291129

1130-
fn lazy_query<'a>(&'a self, row_limit: uint, params: &[&ToSql])
1130+
fn lazy_query<'a>(&'a self, row_limit: u32, params: &[&ToSql])
11311131
-> PostgresResult<PostgresRows<'a>> {
11321132
let id = self.next_portal_id.get();
11331133
self.next_portal_id.set(id + 1);
@@ -1254,7 +1254,7 @@ pub struct PostgresRows<'stmt> {
12541254
stmt: &'stmt PostgresStatement<'stmt>,
12551255
name: String,
12561256
data: RingBuf<Vec<Option<Vec<u8>>>>,
1257-
row_limit: uint,
1257+
row_limit: u32,
12581258
more_rows: bool,
12591259
finished: bool,
12601260
}
@@ -1313,7 +1313,7 @@ impl<'stmt> PostgresRows<'stmt> {
13131313
try_pg!(self.stmt.conn.write_messages([
13141314
Execute {
13151315
portal: self.name.as_slice(),
1316-
max_rows: self.row_limit as i32
1316+
max_rows: self.row_limit
13171317
},
13181318
Sync]));
13191319
self.read_rows()

src/message.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ pub enum FrontendMessage<'a> {
9292
},
9393
Execute {
9494
pub portal: &'a str,
95-
pub max_rows: i32
95+
pub max_rows: u32
9696
},
9797
Parse {
9898
pub name: &'a str,
@@ -185,7 +185,7 @@ impl<W: Writer> WriteMessage for W {
185185
Execute { portal, max_rows } => {
186186
ident = Some('E');
187187
try!(buf.write_cstr(portal));
188-
try!(buf.write_be_i32(max_rows));
188+
try!(buf.write_be_u32(max_rows));
189189
}
190190
Parse { name, query, param_types } => {
191191
ident = Some('P');

0 commit comments

Comments
 (0)