/**
  * Analyzes fields and adds the extracted information to the field type, auto increment and primary key info caches.
  *
  * @param array $parsedExtSQL The output produced by \TYPO3\CMS\Install\Service\SqlSchemaMigrationService->getFieldDefinitions_fileContent()
  * @return void
  */
 protected function analyzeFields($parsedExtSQL)
 {
     foreach ($parsedExtSQL as $table => $tdef) {
         // check if table is mapped
         if (isset($this->mapping[$table])) {
             $table = $this->mapping[$table]['mapTableName'];
         }
         if (is_array($tdef['fields'])) {
             foreach ($tdef['fields'] as $field => $fdefString) {
                 $fdef = $this->SQLparser->parseFieldDef($fdefString);
                 $fieldType = isset($fdef['fieldType']) ? $fdef['fieldType'] : '';
                 $this->cache_fieldType[$table][$field]['type'] = $fieldType;
                 $this->cache_fieldType[$table][$field]['metaType'] = $this->dbmsSpecifics->getMetaFieldType($fieldType);
                 $this->cache_fieldType[$table][$field]['notnull'] = isset($fdef['featureIndex']['NOTNULL']) && !$this->SQLparser->checkEmptyDefaultValue($fdef['featureIndex']) ? 1 : 0;
                 if (isset($fdef['featureIndex']['DEFAULT'])) {
                     $default = $fdef['featureIndex']['DEFAULT']['value'][0];
                     if (isset($fdef['featureIndex']['DEFAULT']['value'][1])) {
                         $default = $fdef['featureIndex']['DEFAULT']['value'][1] . $default . $fdef['featureIndex']['DEFAULT']['value'][1];
                     }
                     $this->cache_fieldType[$table][$field]['default'] = $default;
                 }
                 if (isset($fdef['featureIndex']['AUTO_INCREMENT'])) {
                     $this->cache_autoIncFields[$table] = $field;
                 }
                 if (isset($tdef['keys']['PRIMARY'])) {
                     $this->cache_primaryKeys[$table] = substr($tdef['keys']['PRIMARY'], 13, -1);
                 }
             }
         }
     }
 }