protected function processRecord(array &$records = NULL, $record, array $columns = NULL, $nestedDocumentBody, ResultFormatter $resultFormatter) { // support for 'missing' (error) record if ($this->checkDocumentExistence($record, FALSE)) { // data body is loaded as an inner node 'doc' if ($nestedDocumentBody) { $record = $record->doc; } if (isset($columns)) { // removing columns which are not requested foreach ($record as $propertyName => $propertyValue) { if (!in_array($propertyName, $columns)) { unset($record->$propertyName); } // FIXME call $this->resultFormatter->format* functions } } // TODO add support for nested objects and array of objects. // 08/13/2010 What did I mean??? // 09/15/2010 I meant that we can store really complex objects in CouchDB. // Those object may contain nested objects of the object property is an array of other objects. // Such objects might not be supported by our formatters if (!$resultFormatter->formatRecord($records, $record)) { $records[] = $record; } } }
public final function isClientPaginationRequired() { return $this->isClientSortingRequired() || $this->isClientPaginationRequiredImpl() || isset($this->parent) && $this->parent->isClientPaginationRequired(); }