Branch: refs/heads/master Home: https://github.com/phpmyadmin/phpmyadmin Commit: 56a832948c06032237ea2c34d76691289159b499 https://github.com/phpmyadmin/phpmyadmin/commit/56a832948c06032237ea2c34d76691289159b499 Author: Kamil Tekiela <[email protected]> Date: 2021-11-26 (Fri, 11 November 2021) -03:00
Changed paths: M libraries/classes/Bookmark.php M libraries/classes/Controllers/Server/Variables/GetVariableController.php M libraries/classes/Controllers/Server/Variables/SetVariableController.php M libraries/classes/Controllers/Table/FindReplaceController.php M libraries/classes/Database/CentralColumns.php M libraries/classes/Database/Designer/Common.php M libraries/classes/Database/Routines.php M libraries/classes/DatabaseInterface.php M libraries/classes/Dbal/DbalInterface.php M libraries/classes/Normalization.php M libraries/classes/Plugins/Export/ExportMediawiki.php M libraries/classes/Plugins/Import/ImportCsv.php M libraries/classes/Profiling.php M libraries/classes/Relation.php M libraries/classes/Server/Privileges.php M libraries/classes/StorageEngine.php M libraries/classes/Table.php M libraries/classes/UserPreferences.php M psalm-baseline.xml M test/classes/Plugins/Export/ExportXmlTest.php M test/classes/TableTest.php M test/classes/UserPreferencesTest.php Log Message: ----------- Refactor DatabaseInterface.php (#17209) * Use str_starts_with() Signed-off-by: Kamil Tekiela <[email protected]> * Remove redundant !empty() !empty() on a declared variable is redundant. Signed-off-by: Kamil Tekiela <[email protected]> * Replace loop with array_column() Signed-off-by: Kamil Tekiela <[email protected]> * Simpify assignment by removing temporary variable Signed-off-by: Kamil Tekiela <[email protected]> * Remove redundant if statements and array_merge Signed-off-by: Kamil Tekiela <[email protected]> * Remove temporary variable Signed-off-by: Kamil Tekiela <[email protected]> * Unindent code Signed-off-by: Kamil Tekiela <[email protected]> * Add helper method fetchByMode() This is done to avoid calling methods through variables. It is the same in terms of performance. Signed-off-by: Kamil Tekiela <[email protected]> * Move if statements to where they are relevant I had a choice to either move the while loop out of the if statements or move the if statements inside. I decided it made more sense to move them inside. Signed-off-by: Kamil Tekiela <[email protected]> * Add NULL to phpdoc for the two parameters that can be null Signed-off-by: Kamil Tekiela <[email protected]> * Simplify return statement Signed-off-by: Kamil Tekiela <[email protected]> * Improve performance and simplify code Since we are always using STORE mode then we can use data_seek() method. This will allow us to get rid of the loop and use fetchByMode() method. Signed-off-by: Kamil Tekiela <[email protected]> * Inline value defaulting Signed-off-by: Kamil Tekiela <[email protected]> * Remove redundant check Signed-off-by: Kamil Tekiela <[email protected]> * [bugfix] getColumnNames() should return an array of strings There were multiple issues here. If we are selecting only a certain column from the SQL then let's use the handy function instead of array_keys. We will never get anything other than an array so checking if it is not an array makes no sense. Returning null only to cast it to an array is pointless. If really necessary, we could still check for an empty array. The ColumnController returned the value without even casting it to an array. I am not sure how jQuery/JavaScript dealt with it. Signed-off-by: Kamil Tekiela <[email protected]> * Refactor getColumnMapFromSql and add type hint Signed-off-by: Kamil Tekiela <[email protected]> * Refactor getVirtualTables Signed-off-by: Kamil Tekiela <[email protected]> * Remove redundant loop Signed-off-by: Kamil Tekiela <[email protected]> * Remove redundant usage of freeResult() If there was no chance for the object to leak the scope and it is the end of the scope then there's no reason to call this method. Signed-off-by: Kamil Tekiela <[email protected]> * Replace dynamic variable with declare one It's always the same name. If we were creating more than one, we could use associative array, but in this case there seems to be absolutely no need for any of this. Dynamic variables make it harder to debug the code. Signed-off-by: Kamil Tekiela <[email protected]> * Update psalm-baseline.xml Signed-off-by: Kamil Tekiela <[email protected]> * Widen the condition per williamdes suggestion This will allow value such as '' and '0' to pass through. Previously `if(! empty($database))` and `if($database)` dissallowed them. Signed-off-by: Kamil Tekiela <[email protected]> * fetchResult() should return only arrays Tests fixed to return arrays. Non-empty in case of true, empty in case of false. Fixed a lot of Psalm issues where the condition was always true. Signed-off-by: Kamil Tekiela <[email protected]> _______________________________________________ Git mailing list [email protected] https://lists.phpmyadmin.net/mailman/listinfo/git
