Uploaded image for project: 'PHP Driver: Library'
  1. PHP Driver: Library
  2. PHPLIB-1523

Remove iterators for database, collection, and index enumeration

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • 2.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • PHP Drivers

      The iterators for DatabaseInfo, CollectionInfo, and IndexInfo can be removed. Instead, create a CachingIterator that decorates a CallbackIterator:

      // First class callable syntax, needs new factory in info classes
      return new CachingIterator(new CallbackIterator($cursor, IndexInfo::fromDatabaseResult(...)));
      
      
      // Alternatively, create a static closure to instantiate the info object
      return new CachingIterator(new CallbackIterator($cursor, static fn (array $info) => new IndexInfo($info)));
      
      

            Assignee:
            Unassigned Unassigned
            Reporter:
            andreas.braun@mongodb.com Andreas Braun
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: