Skip to content

Commit df9a348

Browse files
committed
Fixed up example
1 parent e2260ca commit df9a348

2 files changed

Lines changed: 32 additions & 26 deletions

File tree

README.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,47 +11,50 @@ exposes a high level interface in the vein of JDBC or Go's `database/sql`
1111
package.
1212
```rust
1313
extern mod postgres;
14+
extern mod extra;
1415

15-
use postgres::PostgresConnection;
16+
use extra::time;
17+
use extra::time::Timespec;
18+
19+
use postgres::{PostgresConnection, PostgresStatement};
1620
use postgres::types::ToSql;
1721

18-
#[deriving(ToStr)]
1922
struct Person {
2023
id: i32,
2124
name: ~str,
22-
awesome: bool,
25+
time_created: Timespec,
2326
data: Option<~[u8]>
2427
}
2528

2629
fn main() {
2730
let conn = PostgresConnection::connect("postgres://postgres@localhost");
2831

2932
conn.update("CREATE TABLE person (
30-
id SERIAL PRIMARY KEY,
31-
name VARCHAR NOT NULL,
32-
awesome BOOL NOT NULL,
33-
data BYTEA
33+
id SERIAL PRIMARY KEY,
34+
name VARCHAR NOT NULL,
35+
time_created TIMESTAMP NOT NULL,
36+
data BYTEA
3437
)", []);
3538
let me = Person {
3639
id: 0,
3740
name: ~"Steven",
38-
awesome: true,
41+
time_created: time::get_time(),
3942
data: None
4043
};
41-
conn.update("INSERT INTO person (name, awesome, data)
44+
conn.update("INSERT INTO person (name, time_created, data)
4245
VALUES ($1, $2, $3)",
43-
[&me.name as &ToSql, &me.awesome as &ToSql,
46+
[&me.name as &ToSql, &me.time_created as &ToSql,
4447
&me.data as &ToSql]);
4548

46-
let stmt = conn.prepare("SELECT id, name, awesome, data FROM person");
49+
let stmt = conn.prepare("SELECT id, name, time_created, data FROM person");
4750
for row in stmt.query([]) {
4851
let person = Person {
4952
id: row[0],
5053
name: row[1],
51-
awesome: row[2],
54+
time_created: row[2],
5255
data: row[3]
5356
};
54-
println!("Found person {}", person.to_str());
57+
println!("Found person {}", person.name);
5558
}
5659
}
5760
```

src/postgres/lib.rs

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,47 +5,50 @@ package.
55
66
```rust
77
extern mod postgres;
8+
extern mod extra;
9+
10+
use extra::time;
11+
use extra::time::Timespec;
812
9-
use postgres::PostgresConnection;
13+
use postgres::{PostgresConnection, PostgresStatement};
1014
use postgres::types::ToSql;
1115
12-
#[deriving(ToStr)]
1316
struct Person {
1417
id: i32,
1518
name: ~str,
16-
awesome: bool,
19+
time_created: Timespec,
1720
data: Option<~[u8]>
1821
}
1922
2023
fn main() {
2124
let conn = PostgresConnection::connect("postgres://postgres@localhost");
2225
2326
conn.update("CREATE TABLE person (
24-
id SERIAL PRIMARY KEY,
25-
name VARCHAR NOT NULL,
26-
awesome BOOL NOT NULL,
27-
data BYTEA
27+
id SERIAL PRIMARY KEY,
28+
name VARCHAR NOT NULL,
29+
time_created TIMESTAMP NOT NULL,
30+
data BYTEA
2831
)", []);
2932
let me = Person {
3033
id: 0,
3134
name: ~"Steven",
32-
awesome: true,
35+
time_created: time::get_time(),
3336
data: None
3437
};
35-
conn.update("INSERT INTO person (name, awesome, data)
38+
conn.update("INSERT INTO person (name, time_created, data)
3639
VALUES ($1, $2, $3)",
37-
[&me.name as &ToSql, &me.awesome as &ToSql,
40+
[&me.name as &ToSql, &me.time_created as &ToSql,
3841
&me.data as &ToSql]);
3942
40-
let stmt = conn.prepare("SELECT id, name, awesome, data FROM person");
43+
let stmt = conn.prepare("SELECT id, name, time_created, data FROM person");
4144
for row in stmt.query([]) {
4245
let person = Person {
4346
id: row[0],
4447
name: row[1],
45-
awesome: row[2],
48+
time_created: row[2],
4649
data: row[3]
4750
};
48-
println!("Found person {}", person.to_str());
51+
println!("Found person {}", person.name);
4952
}
5053
}
5154
```

0 commit comments

Comments
 (0)