Merge 'prefetch' into 'trunk'
[dbsrgits/DBIx-Class.git] / t / prefetch / rows_bug.t
index 821c84e..8683b16 100644 (file)
@@ -40,6 +40,26 @@ TODO: {
     . " \$use_prefetch_count == $use_prefetch_count)"
   );
 }
+__END__
+my $rs1 = $schema->resultset('Artist')->search(
+    undef, {
+#        join => 'cds',
+    },
+);
+warn ${$rs1->as_query}->[0], $/;
+{ my @x = $rs1->all; warn "$#x\n"; }
+
+my $rs2 = $schema->resultset('Artist')->search(
+    undef, {
+        from => [{
+            me => $rs1->as_query,
+        }],
+        prefetch => 'cds',
+    },
+);
+
+warn ${$rs2->as_query}->[0], $/;
+{ my @x = $rs2->all; warn "$#x\n"; }
 
 __END__
 The fix is to, when using prefetch, take the query and put it into a subquery
@@ -78,3 +98,6 @@ becomes:
 Problem:
   * The prefetch->join change needs to happen ONLY IF there are conditions
     that depend on bar being joined.
+  * How will this work when the $rs is further searched on? Those clauses
+    need to be added to the subquery, not the outer one. This is particularly
+    true if rows is added in the attribute later per the Pager.