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;
            }
        }
    }
コード例 #2
0
 public final function isClientPaginationRequired()
 {
     return $this->isClientSortingRequired() || $this->isClientPaginationRequiredImpl() || isset($this->parent) && $this->parent->isClientPaginationRequired();
 }