     t1["id"] == t2["id"]
 }.map { t1, t2 in
     [t1["firstname"], t2["comment"]]
-}/*.filter { t1, t2 in
-    t1["firstname"] == "Daniel"
-}*/.execute().flatMap{$0}.flatMap { results in
+}.filter { t1, t2 in
+    t1["firstname"] == "Daniel" || t2["comment"] == "Cool"
+}.execute().flatMap{$0}.flatMap { results in
     results.columns.zip(results.all())
 }.onSuccess { (cols, rows) in
     print(cols)


public func &&(p1:Predicate, p2:Predicate) -> Predicate {
    switch (p1, p2) {
    case (.bool(let p1), .bool(let p2)):
        return p1 && p2
    case (let p1, .bool(let p2)):

            throw RDBCFrameworkError.noDialect
        }
        
        return dialect.render(dataset: dataset, filter: self.predicate)
    }
    
    public func execute(dialect:Dialect? = nil) -> Future<ResultSet?> {
