                     
                     XCTAssertEqual(rows[2], ["cola1": 3, "cola2": "a3"])
                     XCTAssertEqual(rows[2].prefetches.keys, ["cs", "ds"])
+                    XCTAssertEqual(rows[2].prefetches["cs"]!.count, 0)
                     XCTAssertEqual(rows[2].prefetches["ds"]!.count, 0)
                 }
                 

                    XCTAssertEqual(row.prefetches["ds1"]!.count, 1)
                    XCTAssertEqual(row.prefetches["ds1"]![0], ["cold1": 10, "cold2": 7, "cold3": "d1", "grdb_colc2": 1]) // TODO: remove grdb_ column?
                    XCTAssertEqual(row.prefetches["ds2"]!.count, 0)
                }
            }
        }

        }
    }
    
    func testIncludingAllHasManyThroughIsNotMergedWithHasMany() throws {
        let dbQueue = try makeDatabaseQueue()
        try dbQueue.read { db in
            // Plain request
            do {
                let cs = A.hasMany(C.self).forKey("cs")
                let request = A
                    .including(all: cs.orderByPrimaryKey())
                    .including(all: A
                        .hasMany(D.self, through: cs, using: C.hasMany(D.self))
                        .orderByPrimaryKey()
                        .forKey("ds"))  // TODO: auto-pluralization
                    .orderByPrimaryKey()
