persistence icon indicating copy to clipboard operation
persistence copied to clipboard

Evaluate if we should return iterable instead of array in some cases

Open jwage opened this issue 5 years ago • 6 comments

  • Evaluate if we should return iterable instead of array in some cases
  • It may make more sense to add new methods that return iterable instead of changing existing methods. e.g. findAllIterator() or something instead of changing findAll() to return an array.

jwage avatar Apr 23 '19 15:04 jwage

I don’t think adding methods to the interface is a good idea, as it requires duplicating logic. IMO the only reason not to do it is “it’s a tough BC break”. However, I don’t think that’s a valid argument as breaking BC again is difficult for a package this low in the dependency food chain.

alcaeus avatar Apr 23 '19 17:04 alcaeus

Hi,

Just adding my 2 cents here to an old topic.

I don't see the point of doing this, as long as the PDO Driver doesn't return an iterator.

When querying a DB, the whole resultset is returned at once and I don't see why we should create an iterator out of it, it's already loaded in the memory.

drupol avatar Dec 05 '21 06:12 drupol

@drupol what's your take on https://www.dragonbe.com/2015/07/speeding-up-database-calls-with-pdo-and.html ?

greg0ire avatar Dec 05 '21 21:12 greg0ire

I was not aware of PDOSTatement::fetch() but I think the post make sense if we use it.

I think the default in Doctrine is PDOSTatement::fetchAll() right, do you confirm ?

drupol avatar Dec 05 '21 21:12 drupol

I do not confirm and I reject the burden of proof :stuck_out_tongue:

greg0ire avatar Dec 05 '21 21:12 greg0ire

Then ok, fair enough. I'll investigate a bit this thing. The idea of having an iterator makes a lot of sense to me !

drupol avatar Dec 05 '21 21:12 drupol