1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//! Rustorm is a simple ORM implemented in rust.
//!
//!
//! ```rust,no_run
//! extern crate rustorm;
//! extern crate uuid;
//! extern crate chrono;
//! extern crate rustc_serialize;
//! use rustorm::db::postgres::Postgres;
//! use rustorm::codegen;
//! use uuid::Uuid;
//! use chrono::datetime::DateTime;
//! use chrono::offset::utc::UTC;
//! use rustc_serialize::json;
//!
//! use rustorm::em::EntityManager;
//! use rustorm::table::IsTable;
//! use rustorm::dao::IsDao;
//! use rustorm::query::Query;
//! use rustorm::dao::Type;
//! use rustorm::query::{Filter,Equality,Operand};
//! use gen::bazaar::Product;
//! use gen::bazaar::ProductAvailability;
//!
//! mod gen;
//!
//!
//! fn main(){
//! let pg = Postgres::with_connection("postgres://postgres:p0stgr3s@localhost/bazaar_v6");
//! match pg{
//! Ok(pg) => {
//! let em = EntityManager::new(&pg);
//! let mut query = Query::new();
//! query.from_table(&Product::table());
//! query.enumerate_column("*");
//!
//! query.left_join(&ProductAvailability::table(),
//! "product.product_id", "product_availability.product_id");
//! query.filter("product.name", Equality::LIKE, &"iphone%");
//! query.add_filter(Filter::new("product.description", Equality::LIKE, Operand::Value(Type::String("%Iphone%".to_string()))));
//! query.desc("product.created");
//! query.asc("product.product_id");
//!
//! let result = em.retrieve(&mut query);
//! let products = Product::from_dao_result(&result);
//!
//! for p in products{
//! println!("{}-{}", p.product_id, p.name.unwrap());
//! }
//! }
//! Err(error) =>{
//! println!("{}",error);
//! }
//! }
//! }
//! ```
//!
//!
//!
extern crate postgres;
extern crate rustc_serialize;
extern crate uuid;
extern crate chrono;
extern crate regex;
extern crate url;