From 30de0704d53098332dcec4e25aec0305fdc6aff6 Mon Sep 17 00:00:00 2001
From: David Maus <maus@hab.de>
Date: Tue, 17 Apr 2012 12:34:57 +0200
Subject: [PATCH] Do not delegate getFields() to contained records

* NestedRecord.php (getFields): Do not delegate getFields() to
contained records when called with selector.

Record::select() calls getFields() w/o arguments which returns all
fields.
---
 src/php/HAB/Pica/Record/NestedRecord.php | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/php/HAB/Pica/Record/NestedRecord.php b/src/php/HAB/Pica/Record/NestedRecord.php
index a42d13a..57e0ab4 100644
--- a/src/php/HAB/Pica/Record/NestedRecord.php
+++ b/src/php/HAB/Pica/Record/NestedRecord.php
@@ -109,8 +109,6 @@ abstract class NestedRecord extends Record {
   /**
    * Return fields of the record.
    *
-   * The getFields() is propagated down to all contained records.
-   *
    * @see \HAB\Pica\Record\Record::getFields()
    *
    * @param  string $selector Body of regular expression
@@ -120,7 +118,7 @@ abstract class NestedRecord extends Record {
     if ($selector === null) {
       return array_merge($this->_fields, Helper::flatten(Helper::mapMethod($this->_records, 'getFields')));
     } else {
-      return array_merge($this->select(Field::match($selector)), Helper::flatten(Helper::mapMethod($this->_records, 'getFields', array($selector))));
+      return $this->select(Field::match($selector));
     }
   }
 
-- 
GitLab