[phpMyAdmin Git] [phpmyadmin/phpmyadmin] cd4008: Move MySQL charset maps to separate class

Michal Čihař michal at cihar.com
Mon Apr 11 13:05:19 CEST 2016


  Branch: refs/heads/master
  Home:   https://github.com/phpmyadmin/phpmyadmin
  Commit: cd4008b3d72c0f95c4de736ce359ca5771272e3b
      https://github.com/phpmyadmin/phpmyadmin/commit/cd4008b3d72c0f95c4de736ce359ca5771272e3b
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M index.php
    A libraries/Charsets.php
    M libraries/common.inc.php
    M libraries/plugins/export/ExportSql.php
    M test/classes/plugin/export/ExportSqlTest.php

  Log Message:
  -----------
  Move MySQL charset maps to separate class

This allows us to load it only when needed

Issue #11731

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: cfc2f1cb05331b85c1c075ca2037c09626573903
      https://github.com/phpmyadmin/phpmyadmin/commit/cfc2f1cb05331b85c1c075ca2037c09626573903
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M index.php
    M libraries/Charsets.php
    M libraries/controllers/server/ServerCollationsController.php
    M libraries/mysql_charsets.inc.php

  Log Message:
  -----------
  Move charsets obtaining to the Charsets class

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: 54f0d14ea9bdd2d3420afcdd470c2fe94c1bfaa9
      https://github.com/phpmyadmin/phpmyadmin/commit/54f0d14ea9bdd2d3420afcdd470c2fe94c1bfaa9
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M libraries/Charsets.php

  Log Message:
  -----------
  Remove session caching for MySQL charsets

This cache makes the session data quite huge giving performance penalty
when loading the cache. Loading the data again from MySQL server is
faster than this.

Also the charsets data is really needed only on few pages, the overall
impact of this caching is negative.

Caching the data per request however is useful.

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: e1db0a72cffc78c91d88a00c1a3f45e2da6d58a3
      https://github.com/phpmyadmin/phpmyadmin/commit/e1db0a72cffc78c91d88a00c1a3f45e2da6d58a3
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M libraries/Charsets.php

  Log Message:
  -----------
  Remove unused code

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: d30bb0581cd7052296e999c6bee6808951b573b6
      https://github.com/phpmyadmin/phpmyadmin/commit/d30bb0581cd7052296e999c6bee6808951b573b6
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M libraries/Charsets.php

  Log Message:
  -----------
  Load collations only when needed

In many cases we need only charset information, so split the loading.

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: a8820cbd4ecc49652511f4c1c0f765138a059b84
      https://github.com/phpmyadmin/phpmyadmin/commit/a8820cbd4ecc49652511f4c1c0f765138a059b84
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M libraries/Charsets.php

  Log Message:
  -----------
  Remove not needed mysql prefix from static variables

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: f9a02cde3034600544e265e1ca03b0a4ef9b2f77
      https://github.com/phpmyadmin/phpmyadmin/commit/f9a02cde3034600544e265e1ca03b0a4ef9b2f77
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M libraries/Charsets.php

  Log Message:
  -----------
  Simplify code by storing frequently used array members in variable

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: 1fe277e98884cbd4cffddecd143eb86491871908
      https://github.com/phpmyadmin/phpmyadmin/commit/1fe277e98884cbd4cffddecd143eb86491871908
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M libraries/DatabaseInterface.php

  Log Message:
  -----------
  Use $this instead of accessing DBI from globals

We're already in the object scope, there is no need to go to globals for
self.

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: e2deac4b22e2a960d99819cc8e3520cceb4d3c3c
      https://github.com/phpmyadmin/phpmyadmin/commit/e2deac4b22e2a960d99819cc8e3520cceb4d3c3c
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M db_operations.php
    M libraries/DatabaseInterface.php
    M libraries/controllers/database/DatabaseStructureController.php
    M libraries/controllers/server/ServerDatabasesController.php
    M libraries/mysql_charsets.lib.php
    M libraries/plugins/export/ExportSql.php
    M test/classes/DatabaseInterfaceTest.php
    M test/libraries/PMA_mysql_charsets_test.php

  Log Message:
  -----------
  Move getting collation to the DBI layer

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: be69b146f749b3dbfc74252252f0baf9e062b12c
      https://github.com/phpmyadmin/phpmyadmin/commit/be69b146f749b3dbfc74252252f0baf9e062b12c
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M libraries/operations.lib.php

  Log Message:
  -----------
  Use just class name for already used classes

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: 0758b601e752e159174e3226b3e65540626aa9a0
      https://github.com/phpmyadmin/phpmyadmin/commit/0758b601e752e159174e3226b3e65540626aa9a0
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M libraries/Table.php
    M libraries/Util.php
    M libraries/controllers/server/ServerDatabasesController.php
    M libraries/create_addfield.lib.php
    M libraries/db_common.inc.php
    M libraries/mysql_charsets.lib.php
    M libraries/operations.lib.php
    M test/classes/UtilTest.php
    M test/libraries/PMA_mysql_charsets_test.php

  Log Message:
  -----------
  Move charset query generation to to the Util class

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: 72099ff05a25c092f52dfd4c36fa1fa826c43df1
      https://github.com/phpmyadmin/phpmyadmin/commit/72099ff05a25c092f52dfd4c36fa1fa826c43df1
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M libraries/dbi/DBIMysqli.lib.php
    R libraries/mysql_charsets.inc.php
    R libraries/mysql_charsets.lib.php
    R test/libraries/PMA_mysql_charsets_test.php

  Log Message:
  -----------
  Ensure this is always defined in the global scope

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: 3e2029e7505c684066d76d3a2f5ad5ad7948b541
      https://github.com/phpmyadmin/phpmyadmin/commit/3e2029e7505c684066d76d3a2f5ad5ad7948b541
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M db_operations.php
    M db_routines.php
    M index.php
    M libraries/Charsets.php
    M libraries/DatabaseInterface.php
    M libraries/central_columns.lib.php
    M libraries/common.inc.php
    M libraries/controllers/database/DatabaseStructureController.php
    M libraries/controllers/server/ServerCollationsController.php
    M libraries/controllers/server/ServerDatabasesController.php
    M libraries/controllers/table/TableSearchController.php
    M libraries/controllers/table/TableStructureController.php
    M libraries/dbi/DBIDummy.php
    M libraries/display_import.lib.php
    M libraries/operations.lib.php
    M libraries/rte/rte_routines.lib.php
    M libraries/tbl_columns_definition_form.inc.php
    M tbl_operations.php
    M tbl_row_action.php
    M tbl_structure.php
    M templates/columns_definitions/column_attributes.phtml
    M templates/columns_definitions/column_definitions_form.phtml
    M templates/database/structure/body_for_table_summary.phtml
    M templates/server/collations/charsets.phtml
    M templates/server/databases/create.phtml
    M templates/table/structure/row_stats_table.phtml
    M templates/table/structure/table_structure_row.phtml
    A test/classes/CharsetsTest.php
    M test/classes/TableTest.php
    M test/classes/controllers/ServerCollationsControllerTest.php
    M test/classes/controllers/ServerDatabasesControllerTest.php
    M test/classes/plugin/export/ExportSqlTest.php
    M test/libraries/PMA_central_columns_test.php
    M test/libraries/PMA_normalization_test.php
    M test/libraries/PMA_operations_test.php
    M test/libraries/PMA_sql_query_form_test.php
    M test/libraries/rte/PMA_RTN_getEditorForm_test.php

  Log Message:
  -----------
  Move MySQL charsets handling to the Charsets class

Issue #11731

Signed-off-by: Michal Čihař <michal at cihar.com>


  Commit: b311780d76eb69c75d8fae7f05139fa45b53b8e6
      https://github.com/phpmyadmin/phpmyadmin/commit/b311780d76eb69c75d8fae7f05139fa45b53b8e6
  Author: Michal Čihař <michal at cihar.com>
  Date:   2016-04-11 (Mon, 11 Apr 2016)

  Changed paths:
    M index.php
    M libraries/Charsets.php
    M libraries/central_columns.lib.php
    M libraries/display_import.lib.php
    M libraries/operations.lib.php
    M libraries/rte/rte_routines.lib.php
    M templates/columns_definitions/column_attributes.phtml
    M templates/columns_definitions/column_definitions_form.phtml
    M templates/server/databases/create.phtml
    M test/classes/CharsetsTest.php

  Log Message:
  -----------
  Separate methods for charset and collation dropdowns

They do not share much code in the end and this way the code is more
readable.

Signed-off-by: Michal Čihař <michal at cihar.com>


Compare: https://github.com/phpmyadmin/phpmyadmin/compare/3e8145a4a580...b311780d76eb


More information about the Git mailing list