[BUGFIX] TceformsUpdateWizard shows up too often
[Packages/TYPO3.CMS.git] / typo3 / sysext / install / Classes / Updates / TceformsUpdateWizard.php
index 9550310..5f25d6e 100644 (file)
@@ -192,9 +192,8 @@ class TceformsUpdateWizard extends AbstractUpdate {
                                        }
                                } while (count($records) === self::RECORDS_PER_QUERY);
 
-                               // add the field to the "finished fields"
-                               // this can only be done
-                               if (is_array($records) && count($records) === 0) {
+                               // add the field to the "finished fields" if things didn't fail above
+                               if (is_array($records)) {
                                        $finishedFields[] = $fieldKey;
                                }
                        }
@@ -224,6 +223,7 @@ class TceformsUpdateWizard extends AbstractUpdate {
         * @param string $fieldToMigrate
         * @param array $relationFields
         * @param int $limit Maximum number records to select
+        * @throws \RuntimeException
         * @return array
         */
        protected function getRecordsFromTable($table, $fieldToMigrate, $relationFields, $limit) {
@@ -235,7 +235,11 @@ class TceformsUpdateWizard extends AbstractUpdate {
                        . ' AND ' . $fieldToMigrate . ' != \'\''
                        . ' AND CAST(CAST(' . $fieldToMigrate . ' AS DECIMAL) AS CHAR) <> ' . $fieldToMigrate
                        . $deletedCheck;
-               return $this->database->exec_SELECTgetRows($fields, $table, $where, '', '', $limit);
+               $result = $this->database->exec_SELECTgetRows($fields, $table, $where, '', '', $limit);
+               if ($result === NULL) {
+                       throw new \RuntimeException('Database query failed. Error was: ' . $this->database->sql_error());
+               }
+               return $result;
        }
 
        /**