@@ -11,47 +11,50 @@ exposes a high level interface in the vein of JDBC or Go's `database/sql`
1111package.
1212``` rust
1313extern 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 };
1620use postgres :: types :: ToSql ;
1721
18- #[deriving(ToStr )]
1922struct Person {
2023 id : i32 ,
2124 name : ~str ,
22- awesome : bool ,
25+ time_created : Timespec ,
2326 data : Option <~[u8 ]>
2427}
2528
2629fn 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```
0 commit comments