From d043ceedc638b140fce80098d78b453a9e600232 Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Thu, 17 Mar 2022 19:32:22 +0000 Subject: [PATCH] Refactor $sql_data Signed-off-by: Kamil Tekiela --- .../Controllers/Import/ImportController.php | 15 ++--- .../classes/Controllers/Sql/SqlController.php | 3 +- libraries/classes/Import.php | 50 ++++++----------- .../classes/Plugins/Import/ImportCsv.php | 16 +++--- .../classes/Plugins/Import/ImportLdi.php | 13 +++-- .../Plugins/Import/ImportMediawiki.php | 56 ++++++++++--------- .../classes/Plugins/Import/ImportOds.php | 11 ++-- .../classes/Plugins/Import/ImportShp.php | 21 +++---- .../classes/Plugins/Import/ImportSql.php | 14 +++-- .../classes/Plugins/Import/ImportXml.php | 15 ++--- libraries/classes/Plugins/Import/README.md | 15 ++--- libraries/classes/Plugins/ImportPlugin.php | 4 +- test/classes/ImportTest.php | 17 +----- 13 files changed, 113 insertions(+), 137 deletions(-) diff --git a/libraries/classes/Controllers/Import/ImportController.php b/libraries/classes/Controllers/Import/ImportController.php index 8b450af713..760fc87d92 100644 --- a/libraries/classes/Controllers/Import/ImportController.php +++ b/libraries/classes/Controllers/Import/ImportController.php @@ -100,7 +100,6 @@ final class ImportController extends AbstractController $GLOBALS['reset_charset'] = $GLOBALS['reset_charset'] ?? null; $GLOBALS['result'] = $GLOBALS['result'] ?? null; $GLOBALS['import_file_name'] = $GLOBALS['import_file_name'] ?? null; - $GLOBALS['sql_data'] = $GLOBALS['sql_data'] ?? null; $GLOBALS['import_notice'] = $GLOBALS['import_notice'] ?? null; $GLOBALS['read_multiply'] = $GLOBALS['read_multiply'] ?? null; $GLOBALS['my_die'] = $GLOBALS['my_die'] ?? null; @@ -597,10 +596,7 @@ final class ImportController extends AbstractController // This array contain the data like number of valid sql queries in the statement // and complete valid sql statement (which affected for rows) - $GLOBALS['sql_data'] = [ - 'valid_sql' => [], - 'valid_queries' => 0, - ]; + $queriesToBeExecuted = []; if (! $GLOBALS['error']) { /** @@ -624,7 +620,7 @@ final class ImportController extends AbstractController // Do the real import $default_fk_check = ForeignKey::handleDisableCheckInit(); try { - $import_plugin->doImport($importHandle ?? null, $GLOBALS['sql_data']); + $queriesToBeExecuted = $import_plugin->doImport($importHandle ?? null); ForeignKey::handleDisableCheckCleanup($default_fk_check); } catch (Throwable $e) { ForeignKey::handleDisableCheckCleanup($default_fk_check); @@ -741,16 +737,15 @@ final class ImportController extends AbstractController } if ($GLOBALS['go_sql']) { - if (! empty($GLOBALS['sql_data']) && ($GLOBALS['sql_data']['valid_queries'] > 1)) { + if ($queriesToBeExecuted !== []) { $_SESSION['is_multi_query'] = true; - $sql_queries = $GLOBALS['sql_data']['valid_sql']; } else { - $sql_queries = [$GLOBALS['sql_query']]; + $queriesToBeExecuted = [$GLOBALS['sql_query']]; } $html_output = ''; - foreach ($sql_queries as $GLOBALS['sql_query']) { + foreach ($queriesToBeExecuted as $GLOBALS['sql_query']) { // parse sql query [ $analyzed_sql_results, diff --git a/libraries/classes/Controllers/Sql/SqlController.php b/libraries/classes/Controllers/Sql/SqlController.php index 31fd3e81f5..791bd2d22a 100644 --- a/libraries/classes/Controllers/Sql/SqlController.php +++ b/libraries/classes/Controllers/Sql/SqlController.php @@ -61,7 +61,6 @@ class SqlController extends AbstractController $GLOBALS['disp_query'] = $GLOBALS['disp_query'] ?? null; $GLOBALS['extra_data'] = $GLOBALS['extra_data'] ?? null; $GLOBALS['message_to_show'] = $GLOBALS['message_to_show'] ?? null; - $GLOBALS['sql_data'] = $GLOBALS['sql_data'] ?? null; $GLOBALS['disp_message'] = $GLOBALS['disp_message'] ?? null; $GLOBALS['complete_query'] = $GLOBALS['complete_query'] ?? null; $GLOBALS['is_gotofile'] = $GLOBALS['is_gotofile'] ?? null; @@ -216,7 +215,7 @@ class SqlController extends AbstractController $GLOBALS['import_text'] ?? null, $GLOBALS['extra_data'] ?? null, $GLOBALS['message_to_show'] ?? null, - $GLOBALS['sql_data'] ?? null, + null, $GLOBALS['goto'], isset($GLOBALS['disp_query']) ? $GLOBALS['display_query'] : null, $GLOBALS['disp_message'] ?? null, diff --git a/libraries/classes/Import.php b/libraries/classes/Import.php index 830642be42..30c37b8047 100644 --- a/libraries/classes/Import.php +++ b/libraries/classes/Import.php @@ -108,11 +108,10 @@ class Import * Runs query inside import buffer. This is needed to allow displaying * of last SELECT, SHOW or HANDLER results and similar nice stuff. * - * @param string $sql query to run - * @param string $full query to display, this might be commented - * @param array $sqlData SQL parse data storage + * @param string $sql query to run + * @param string[] $sqlData SQL parse data storage */ - public function executeQuery(string $sql, string $full, array &$sqlData): void + public function executeQuery(string $sql, array &$sqlData): void { $GLOBALS['my_die'] = $GLOBALS['my_die'] ?? null; $GLOBALS['error'] = $GLOBALS['error'] ?? null; @@ -132,7 +131,7 @@ class Import } $GLOBALS['my_die'][] = [ - 'sql' => $full, + 'sql' => $sql, 'error' => $GLOBALS['dbi']->getError(), ]; @@ -156,9 +155,7 @@ class Import } if (($aNumRows > 0) || $isUseQuery) { - $sqlData['valid_sql'][] = $sql; - $sqlData['valid_queries'] = $sqlData['valid_queries'] ?? 0; - $sqlData['valid_queries']++; + $sqlData[] = $sql; } } @@ -184,13 +181,11 @@ class Import * Runs query inside import buffer. This is needed to allow displaying * of last SELECT, SHOW or HANDLER results and similar nice stuff. * - * @param string $sql query to run - * @param array $sqlData SQL parse data storage + * @param string $sql query to run + * @param string[] $sqlData SQL parse data storage */ - public function runQuery( - string $sql = '', - array &$sqlData = [] - ): void { + public function runQuery(string $sql, array &$sqlData): void + { $GLOBALS['go_sql'] = $GLOBALS['go_sql'] ?? null; $GLOBALS['complete_query'] = $GLOBALS['complete_query'] ?? null; $GLOBALS['display_query'] = $GLOBALS['display_query'] ?? null; @@ -241,31 +236,20 @@ class Import } $GLOBALS['sql_query'] = $this->importRunBuffer; - $sqlData['valid_sql'][] = $this->importRunBuffer; - $sqlData['valid_full'][] = $this->importRunBuffer; - $sqlData['valid_queries'] = $sqlData['valid_queries'] ?? 0; - $sqlData['valid_queries']++; + $sqlData[] = $this->importRunBuffer; } elseif ($GLOBALS['run_query']) { /* Handle rollback from go_sql */ - if ($GLOBALS['go_sql'] && isset($sqlData['valid_full'])) { - $queries = $sqlData['valid_sql']; - $fulls = $sqlData['valid_full']; - $count = $sqlData['valid_queries']; + if ($GLOBALS['go_sql'] && $sqlData !== []) { + $queries = $sqlData; + $sqlData = []; $GLOBALS['go_sql'] = false; - $sqlData['valid_sql'] = []; - $sqlData['valid_queries'] = 0; - unset($sqlData['valid_full']); - for ($i = 0; $i < $count; $i++) { - $this->executeQuery($queries[$i], $fulls[$i], $sqlData); + foreach ($queries as $query) { + $this->executeQuery($query, $sqlData); } } - $this->executeQuery( - $this->importRunBuffer, - $this->importRunBuffer, - $sqlData - ); + $this->executeQuery($this->importRunBuffer, $sqlData); } } elseif (! empty($this->importRunBuffer)) { if ($GLOBALS['go_sql']) { @@ -972,7 +956,7 @@ class Import * @param array|null $analyses Analyses of the tables * @param array|null $additionalSql Additional SQL statements to be executed * @param array|null $options Associative array of options - * @param array $sqlData 2-element array with sql data + * @param string[] $sqlData 2-element array with sql data */ public function buildSql( string $dbName, diff --git a/libraries/classes/Plugins/Import/ImportCsv.php b/libraries/classes/Plugins/Import/ImportCsv.php index 772d800adc..c90d0cda68 100644 --- a/libraries/classes/Plugins/Import/ImportCsv.php +++ b/libraries/classes/Plugins/Import/ImportCsv.php @@ -153,10 +153,8 @@ class ImportCsv extends AbstractImportCsv /** * Handles the whole import logic - * - * @param array $sql_data 2-element array with sql data */ - public function doImport(?File $importHandle = null, array &$sql_data = []): void + public function doImport(?File $importHandle = null): array { $GLOBALS['error'] = $GLOBALS['error'] ?? null; $GLOBALS['message'] = $GLOBALS['message'] ?? null; @@ -197,6 +195,8 @@ class ImportCsv extends AbstractImportCsv $GLOBALS['csv_columns'] ); + $sqlStatements = []; + // Defaults for parser $i = 0; $len = 0; @@ -544,7 +544,7 @@ class ImportCsv extends AbstractImportCsv * @todo maybe we could add original line to verbose * SQL in comment */ - $this->import->runQuery($sql, $sql_data); + $this->import->runQuery($sql, $sqlStatements); } $line++; @@ -627,16 +627,16 @@ class ImportCsv extends AbstractImportCsv $create = null; /* Created and execute necessary SQL statements from data */ - $this->import->buildSql($db_name, $tables, $analyses, $create, $options, $sql_data); + $this->import->buildSql($db_name, $tables, $analyses, $create, $options, $sqlStatements); unset($tables, $analyses); } // Commit any possible data in buffers - $this->import->runQuery('', $sql_data); + $this->import->runQuery('', $sqlStatements); if (count($values) == 0 || $GLOBALS['error'] !== false) { - return; + return $sqlStatements; } $GLOBALS['message'] = Message::error( @@ -644,6 +644,8 @@ class ImportCsv extends AbstractImportCsv ); $GLOBALS['message']->addParam($line); $GLOBALS['error'] = true; + + return $sqlStatements; } private function buildErrorsForParams( diff --git a/libraries/classes/Plugins/Import/ImportLdi.php b/libraries/classes/Plugins/Import/ImportLdi.php index 02fa536598..0712b2d5ae 100644 --- a/libraries/classes/Plugins/Import/ImportLdi.php +++ b/libraries/classes/Plugins/Import/ImportLdi.php @@ -86,10 +86,8 @@ class ImportLdi extends AbstractImportCsv /** * Handles the whole import logic - * - * @param array $sql_data 2-element array with sql data */ - public function doImport(?File $importHandle = null, array &$sql_data = []): void + public function doImport(?File $importHandle = null): array { $GLOBALS['finished'] = $GLOBALS['finished'] ?? null; $GLOBALS['import_file'] = $GLOBALS['import_file'] ?? null; @@ -104,6 +102,7 @@ class ImportLdi extends AbstractImportCsv $GLOBALS['skip_queries'] = $GLOBALS['skip_queries'] ?? null; $GLOBALS['ldi_columns'] = $GLOBALS['ldi_columns'] ?? null; + $sqlStatements = []; $compression = ''; if ($importHandle !== null) { $compression = $importHandle->getCompression(); @@ -116,7 +115,7 @@ class ImportLdi extends AbstractImportCsv ); $GLOBALS['error'] = true; - return; + return []; } $sql = 'LOAD DATA'; @@ -186,9 +185,11 @@ class ImportLdi extends AbstractImportCsv $sql .= ')'; } - $this->import->runQuery($sql, $sql_data); - $this->import->runQuery('', $sql_data); + $this->import->runQuery($sql, $sqlStatements); + $this->import->runQuery('', $sqlStatements); $GLOBALS['finished'] = true; + + return $sqlStatements; } public function isAvailable(): bool diff --git a/libraries/classes/Plugins/Import/ImportMediawiki.php b/libraries/classes/Plugins/Import/ImportMediawiki.php index 9b1e3ebe23..304bffb917 100644 --- a/libraries/classes/Plugins/Import/ImportMediawiki.php +++ b/libraries/classes/Plugins/Import/ImportMediawiki.php @@ -63,15 +63,15 @@ class ImportMediawiki extends ImportPlugin /** * Handles the whole import logic - * - * @param array $sql_data 2-element array with sql data */ - public function doImport(?File $importHandle = null, array &$sql_data = []): void + public function doImport(?File $importHandle = null): array { $GLOBALS['error'] = $GLOBALS['error'] ?? null; $GLOBALS['timeout_passed'] = $GLOBALS['timeout_passed'] ?? null; $GLOBALS['finished'] = $GLOBALS['finished'] ?? null; + $sqlStatements = []; + // Defaults for parser // The buffer that will be used to store chunks read from the imported file @@ -233,7 +233,7 @@ class ImportMediawiki extends ImportPlugin ]; // Import the current table data into the database - $this->importDataOneTable($current_table, $sql_data); + $this->importDataOneTable($current_table, $sqlStatements); // Reset table name $cur_table_name = ''; @@ -281,23 +281,25 @@ class ImportMediawiki extends ImportPlugin } } } + + return $sqlStatements; } /** * Imports data from a single table * - * @param array $table containing all table info: - * $table[0] - string - * containing table name - * $table[1] - array[] of - * table headers $table[2] - - * array[][] of table content - * rows - * @param array $sql_data 2-element array with sql data + * @param array $table containing all table info: + * $table[0] - string + * containing table name + * $table[1] - array[] of + * table headers $table[2] - + * array[][] of table content + * rows + * @param string[] $sqlStatements List of SQL statements to be executed * * @global bool $analyze whether to scan for column types */ - private function importDataOneTable(array $table, array &$sql_data): void + private function importDataOneTable(array $table, array &$sqlStatements): void { $analyze = $this->getAnalyze(); if ($analyze) { @@ -319,11 +321,11 @@ class ImportMediawiki extends ImportPlugin $analyses = []; $analyses[] = $this->import->analyzeTable($tables[0]); - $this->executeImportTables($tables, $analyses, $sql_data); + $this->executeImportTables($tables, $analyses, $sqlStatements); } // Commit any possible data in buffers - $this->import->runQuery('', $sql_data); + $this->import->runQuery('', $sqlStatements); } /** @@ -367,20 +369,20 @@ class ImportMediawiki extends ImportPlugin * Sets the database name and additional options and calls Import::buildSql() * Used in PMA_importDataAllTables() and $this->importDataOneTable() * - * @param array $tables structure: - * array( - * array(table_name, array() column_names, array()() - * rows) - * ) - * @param array $analyses structure: - * $analyses = array( - * array(array() column_types, array() column_sizes) - * ) - * @param array $sql_data 2-element array with sql data + * @param array $tables structure: + * array( + * array(table_name, array() column_names, array()() + * rows) + * ) + * @param array $analyses structure: + * $analyses = array( + * array(array() column_types, array() column_sizes) + * ) + * @param string[] $sqlStatements List of SQL statements to be executed * * @global string $db name of the database to import in */ - private function executeImportTables(array &$tables, array &$analyses, array &$sql_data): void + private function executeImportTables(array &$tables, array &$analyses, array &$sqlStatements): void { // $db_name : The currently selected database name, if applicable // No backquotes @@ -392,7 +394,7 @@ class ImportMediawiki extends ImportPlugin $create = null; // Create and execute necessary SQL statements from data - $this->import->buildSql($db_name, $tables, $analyses, $create, $options, $sql_data); + $this->import->buildSql($db_name, $tables, $analyses, $create, $options, $sqlStatements); } /** diff --git a/libraries/classes/Plugins/Import/ImportOds.php b/libraries/classes/Plugins/Import/ImportOds.php index 8ec1becd6c..e967afecb0 100644 --- a/libraries/classes/Plugins/Import/ImportOds.php +++ b/libraries/classes/Plugins/Import/ImportOds.php @@ -98,15 +98,14 @@ class ImportOds extends ImportPlugin /** * Handles the whole import logic - * - * @param array $sql_data 2-element array with sql data */ - public function doImport(?File $importHandle = null, array &$sql_data = []): void + public function doImport(?File $importHandle = null): array { $GLOBALS['error'] = $GLOBALS['error'] ?? null; $GLOBALS['timeout_passed'] = $GLOBALS['timeout_passed'] ?? null; $GLOBALS['finished'] = $GLOBALS['finished'] ?? null; + $sqlStatements = []; $buffer = ''; /** @@ -223,12 +222,14 @@ class ImportOds extends ImportPlugin $create = null; /* Created and execute necessary SQL statements from data */ - $this->import->buildSql($db_name, $tables, $analyses, $create, $options, $sql_data); + $this->import->buildSql($db_name, $tables, $analyses, $create, $options, $sqlStatements); unset($tables, $analyses); /* Commit any possible data in buffers */ - $this->import->runQuery('', $sql_data); + $this->import->runQuery('', $sqlStatements); + + return $sqlStatements; } /** diff --git a/libraries/classes/Plugins/Import/ImportShp.php b/libraries/classes/Plugins/Import/ImportShp.php index 3aa49a6de7..30502d1d89 100644 --- a/libraries/classes/Plugins/Import/ImportShp.php +++ b/libraries/classes/Plugins/Import/ImportShp.php @@ -74,10 +74,8 @@ class ImportShp extends ImportPlugin /** * Handles the whole import logic - * - * @param array $sql_data 2-element array with sql data */ - public function doImport(?File $importHandle = null, array &$sql_data = []): void + public function doImport(?File $importHandle = null): array { $GLOBALS['error'] = $GLOBALS['error'] ?? null; $GLOBALS['import_file'] = $GLOBALS['import_file'] ?? null; @@ -86,7 +84,7 @@ class ImportShp extends ImportPlugin $GLOBALS['finished'] = false; if ($importHandle === null || $this->zipExtension === null) { - return; + return []; } /** @see ImportShp::readFromBuffer() */ @@ -104,7 +102,7 @@ class ImportShp extends ImportPlugin ); $GLOBALS['message']->addParam($importHandle->getError()); - return; + return []; } } @@ -170,7 +168,7 @@ class ImportShp extends ImportPlugin ); $GLOBALS['message']->addParam($shp->lastError); - return; + return []; } switch ($shp->shapeType) { @@ -200,7 +198,7 @@ class ImportShp extends ImportPlugin ); $GLOBALS['message']->addParam($shp->getShapeName()); - return; + return []; } if (isset($gis_type)) { @@ -248,7 +246,7 @@ class ImportShp extends ImportPlugin __('The imported file does not contain any data!') ); - return; + return []; } // Column names for spatial column and the rest of the columns, @@ -299,7 +297,8 @@ class ImportShp extends ImportPlugin // Created and execute necessary SQL statements from data $null_param = null; - $this->import->buildSql($db_name, $tables, $analyses, $null_param, $options, $sql_data); + $sqlStatements = []; + $this->import->buildSql($db_name, $tables, $analyses, $null_param, $options, $sqlStatements); unset($tables, $analyses); @@ -307,7 +306,9 @@ class ImportShp extends ImportPlugin $GLOBALS['error'] = false; // Commit any possible data in buffers - $this->import->runQuery('', $sql_data); + $this->import->runQuery('', $sqlStatements); + + return $sqlStatements; } /** diff --git a/libraries/classes/Plugins/Import/ImportSql.php b/libraries/classes/Plugins/Import/ImportSql.php index 7fb80b27cd..366b6beff3 100644 --- a/libraries/classes/Plugins/Import/ImportSql.php +++ b/libraries/classes/Plugins/Import/ImportSql.php @@ -93,10 +93,8 @@ class ImportSql extends ImportPlugin /** * Handles the whole import logic - * - * @param array $sql_data 2-element array with sql data */ - public function doImport(?File $importHandle = null, array &$sql_data = []): void + public function doImport(?File $importHandle = null): array { $GLOBALS['error'] = $GLOBALS['error'] ?? null; $GLOBALS['timeout_passed'] = $GLOBALS['timeout_passed'] ?? null; @@ -116,6 +114,8 @@ class ImportSql extends ImportPlugin */ $GLOBALS['finished'] = false; + $sqlStatements = []; + while (! $GLOBALS['error'] && ! $GLOBALS['timeout_passed']) { // Getting the first statement, the remaining data and the last // delimiter. @@ -146,7 +146,7 @@ class ImportSql extends ImportPlugin } // Executing the query. - $this->import->runQuery($statement, $sql_data); + $this->import->runQuery($statement, $sqlStatements); } // Extracting remaining statements. @@ -156,11 +156,13 @@ class ImportSql extends ImportPlugin continue; } - $this->import->runQuery($statement, $sql_data); + $this->import->runQuery($statement, $sqlStatements); } // Finishing. - $this->import->runQuery('', $sql_data); + $this->import->runQuery('', $sqlStatements); + + return $sqlStatements; } /** diff --git a/libraries/classes/Plugins/Import/ImportXml.php b/libraries/classes/Plugins/Import/ImportXml.php index 7d5198d2c4..6b8f1e44df 100644 --- a/libraries/classes/Plugins/Import/ImportXml.php +++ b/libraries/classes/Plugins/Import/ImportXml.php @@ -55,10 +55,8 @@ class ImportXml extends ImportPlugin /** * Handles the whole import logic - * - * @param array $sql_data 2-element array with sql data */ - public function doImport(?File $importHandle = null, array &$sql_data = []): void + public function doImport(?File $importHandle = null): array { $GLOBALS['error'] = $GLOBALS['error'] ?? null; $GLOBALS['timeout_passed'] = $GLOBALS['timeout_passed'] ?? null; @@ -117,7 +115,7 @@ class ImportXml extends ImportPlugin unset($xml); $GLOBALS['finished'] = false; - return; + return []; } /** @@ -180,7 +178,7 @@ class ImportXml extends ImportPlugin unset($xml); $GLOBALS['finished'] = false; - return; + return []; } /** @@ -354,11 +352,14 @@ class ImportXml extends ImportPlugin } /* Created and execute necessary SQL statements from data */ - $this->import->buildSql($db_name, $tables, $analyses, $create, $options, $sql_data); + $sqlStatements = []; + $this->import->buildSql($db_name, $tables, $analyses, $create, $options, $sqlStatements); unset($analyses, $tables, $create); /* Commit any possible data in buffers */ - $this->import->runQuery('', $sql_data); + $this->import->runQuery('', $sqlStatements); + + return $sqlStatements; } } diff --git a/libraries/classes/Plugins/Import/README.md b/libraries/classes/Plugins/Import/README.md index 229e19000c..7ed52faf96 100644 --- a/libraries/classes/Plugins/Import/README.md +++ b/libraries/classes/Plugins/Import/README.md @@ -94,18 +94,17 @@ class Import[Name] extends ImportPlugin /** * Handles the whole import logic * - * @param array &$sql_data 2-element array with sql data - * - * @return void + * @return array A list of SQL statements to be executed */ - public function doImport(&$sql_data = []) + public function doImport(?File $importHandle = null): array { // get globals (others are optional) global $error, $timeout_passed, $finished; + $sqlStatements = []; $buffer = ''; while (! ($finished && $i >= $len) && ! $error && ! $timeout_passed) { - $data = $this->import->getNextChunk(); + $data = $this->import->getNextChunk($importHandle); if ($data === false) { // subtract data we didn't handle yet and stop processing $GLOBALS['offset'] -= strlen($buffer); @@ -119,10 +118,12 @@ class Import[Name] extends ImportPlugin $buffer .= $data; } // PARSE $buffer here, post sql queries using: - $this->import->runQuery($sql, $verbose_sql_with_comments, $sql_data); + $this->import->runQuery($sql, $sqlStatements); } // End of import loop // Commit any possible data in buffers - $this->import->runQuery('', '', $sql_data); + $this->import->runQuery('', $sqlStatements); + + return $sqlStatements; } /* optional: */ diff --git a/libraries/classes/Plugins/ImportPlugin.php b/libraries/classes/Plugins/ImportPlugin.php index 4573d09949..db76f5f911 100644 --- a/libraries/classes/Plugins/ImportPlugin.php +++ b/libraries/classes/Plugins/ImportPlugin.php @@ -46,10 +46,8 @@ abstract class ImportPlugin implements Plugin /** * Handles the whole import logic - * - * @param array $sql_data 2-element array with sql data */ - abstract public function doImport(?File $importHandle = null, array &$sql_data = []): void; + abstract public function doImport(?File $importHandle = null): array; /** * Gets the import specific format plugin properties diff --git a/test/classes/ImportTest.php b/test/classes/ImportTest.php index 46cf7e36b3..b684bf91e7 100644 --- a/test/classes/ImportTest.php +++ b/test/classes/ImportTest.php @@ -565,11 +565,7 @@ class ImportTest extends AbstractTestCase $this->import->runQuery('SELECT 2', $sqlData); - $this->assertSame([ - 'valid_sql' => ['SELECT 1;'], - 'valid_full' => ['SELECT 1;'], - 'valid_queries' => 1, - ], $sqlData); + $this->assertSame(['SELECT 1;'], $sqlData); $this->assertSame('SELECT 1;', $GLOBALS['sql_query']); $this->assertSame('SELECT 1;', $GLOBALS['complete_query']); $this->assertSame('SELECT 1;', $GLOBALS['display_query']); @@ -577,15 +573,8 @@ class ImportTest extends AbstractTestCase $this->import->runQuery('', $sqlData); $this->assertSame([ - 'valid_sql' => [ - 'SELECT 1;', - 'SELECT 2;', - ], - 'valid_full' => [ - 'SELECT 1;', - 'SELECT 2;', - ], - 'valid_queries' => 2, + 'SELECT 1;', + 'SELECT 2;', ], $sqlData); $this->assertSame('SELECT 2;', $GLOBALS['sql_query']);