tag:blogger.com,1999:blog-13627460924461056612024-03-13T23:00:58.970-07:00Madhura's BlogMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.comBlogger72125tag:blogger.com,1999:blog-1362746092446105661.post-91752203479231674872016-04-07T19:15:00.003-07:002016-04-07T20:27:36.214-07:00phpMyAdmin work during twenty fifth, twenty sixth and twenty eighth weeksThis is my final blog post reporting about the work I have carried out under the phpMyAdmn developer contract. However, I will continue to contribute to phpMyAdmin in a voluntary basis.<br />
<div>
<br /></div>
<div>
During the period, my focus was solely on bus fixes. This was mostly due to the continuous stream of bugs we were receiving and most of the bugs were related to the newly released 4.6 version. </div>
<div>
<br /></div>
<div>
Following are the bugs fixes during the period.</div>
<div>
<br /></div>
<div>
<div>
issue #12092 Rename exported databases/tables doesn't seem to work</div>
<div>
issue #12099 Undefined index: controllink</div>
<div>
issue #12094 PHP Fatal error: Call to undefined function __()</div>
<div>
issue #12116 Fulltext indexes are not copied when using copy database function</div>
<div>
issue #12125 Cannot highlight a column if I scroll down from the top of the table</div>
<div>
issue #12132 Can not open table with JSON field</div>
<div>
issue #12143 Cannot login with certain password</div>
</div>
<div>
<br /></div>
<div>
Additionally, I attended to the following bugs.</div>
<div>
<br /></div>
<div>
<div>
issue #12088 Improper comment creation and escaping with Percona 5.7 (` instead of ', extra "AS")</div>
<div>
issue #12091 Import file does not working when data have \' (4.6.0rc2)</div>
<div>
issue #12101 Change or remove "Slave replication" "Reset slave"</div>
<div>
issue #12104 Copy Database no longer working</div>
<div>
issue #12115 Relations vs Orphans</div>
<div>
issue #12139 Import Export error</div>
<div>
issue #12130 Error for Browser when got error 500</div>
<div>
issue #12149 Class 'PMA_Util' not found</div>
</div>
<div>
<br /></div>
<div>
Moreover, I attended to following pull requests as well.</div>
<div>
<br /></div>
<div>
<div>
issue #12113 Add new server variables</div>
<div>
issue #12136 Fix offering JSON datatype in incompatible MySQL versions</div>
</div>
Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-17441331054379896962016-03-12T18:21:00.001-08:002016-03-12T18:21:04.089-08:00phpMyAdmin work during twenty third and twenty fourth weeks<div style="text-align: justify;">
I engaged in a mix of bug fixes and improvements (including refactoring) during the fortnight. The bugs fixed and attended are as follows.</div>
<br />
<b>Bugs fixed</b><br />
issue #12073 Hide edit and delete buttons when the results are not related to a table<br />
issue #12085 Like search strings being escaped incorrectly<br />
<b><br /></b>
<b>Bugs attended</b><br />
issue #12071 Syntax error in PMA, not at command line client<br />
issue #12074 Invalid export<br />
issue #12087 Add support for JSON data type (in MySQL 5.7)<br />
<br />
<div style="text-align: justify;">
I went on to refactor the code that handled bookmarks. I used object orientation and updated the existing unit tests to suit the refactored code. Moreover, I updated the metro theme to be compatible with the upcoming 4.6.0 version, so phpMyAdmin has, at least, one additional theme compatible with the new version.</div>
<br />
<b>Refactoring</b><br />
Clean up dead code<br />
Refactor bookmark handling code<br />
<br />
<b>Other improvements</b><br />
Update metro theme to be compatible with 4.6.0Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-38610875776666059952016-02-29T20:10:00.000-08:002016-02-29T20:10:31.120-08:00phpMyAdmin work during twenty first and twenty second weeksThe work carried out during the two weeks was very diverse. I attended bug fixes (primarily), feature requests, documentation and questions, security issues, pull requests and code improvements in general.<br />
<br />
The bugs fixed and attended during the period are,<br />
Bugs fixed<br />
issue #11964 Undefined index: TABLE_COMMENT in database structure page<br />
issue #11969 Missing confirmation while dropping a view in view_operations.php<br />
issue #11977 Table name is not recognized by parser in DROP INDEX statement<br />
issue #11979 DECLARE not accepted as valid SQL<br />
issue #12017 Cannot easily select multiple tables when exporting<br />
Fix SQL syntax highlighting in database search page<br />
<br />
Bugs attended<br />
issue #11965 Deprecation Notice: StringReader has a deprecated constructor<br />
issue #11982 Row count wrong when grouping joined tables<br />
<br />
Additionally, following feature request was implemented and code improvements were performed.<br />
<br />
Feature requests<br />
issue #12017 Cannot easily select multiple tables when exporting<br />
<br />
Improvements<br />
Use back quotes around table names in confirmation messages<br />
Fix coding style violations<br />
<br />
Meanwhile, I also attended to pull requests submitted mainly bu GSoC aspirants.<br />
<br />
Pull requests attended<br />
issue #32 Fix Row count wrong when grouping joined tables, phpmyadmin/phpmyadmin#11982<br />
issue #12036 Fix for wrong mysql_upgrade message on Users tab with Percona Server 5.7<br />
<br />
Documentation and Questions<br />
issue #11970 Can you add an option to remove UUID for primary keys?<br />
issue #11972 Missing documentation for $cfg['Servers'][$i]['favorite'] and $cfg['NumFavoriteTables']<br />
<br />
Towards the end of the month, we received two detailed reports on vulnerabilities in phpMyAdmin and I contributed by coordinating, and fixing the vulnerabilities.<br />
<br />
Security issues<br />
issue #12 1.3 XSS in tbl_type parameter [PMASA-2016-12]<br />
issue #13 1.4 XSS in normalization.php [PMASA-2016-12]<br />
issue #14 1.5 XSS in normalization.js [PMASA-2016-12]<br />
issue #15 1.6 XSS in normalization.js [PMASA-2016-12]<br />
issue #25 XSS in normalization.js [PMASA-2016-12]<br />
issue #26 XSS in User accounts page [PMASA-2016-11]<br />
issue #27 XSS in Central columns page [PMASA-2016-12]<br />
issue #28 XSS in Zoom search [PMASA-2016-11]Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-83700397140178395832016-02-14T15:03:00.007-08:002016-02-14T15:03:59.204-08:00phpMyAdmin work during nineteenth and twentieth weeks<div style="text-align: justify;">
During the nineteenth and twentieth weeks, I was away from work between 2nd Feb to 10th Feb. However, during the rest of the days, I engaged in both code refactoring and bus fixes. Early on the fortnight, I refactored the server binary logs page to use the MVC architecture. This included introducing a controller class, using templating and updating unit tests.</div>
<br />
<b>Code refactoring</b><br />
Refactor server binary logs page to use MVC architecture<br />
<br />
<div style="text-align: justify;">
In terms of bugs, following bugs were fixed and more bugs were attended.</div>
<div style="text-align: justify;">
<br /></div>
<b>Bugs fixed </b><br />
issue #11909 Can't insert row into table that contains generated column<br />
issue #11911 Inserts via tbl_change.php in VARBINARY columns does not allow using HEX() and MD5()<br />
issue #11923 Errors on Structure tab when user only has select access on certain columns<br />
issue #11942 Change column action takes ages<br />
<b><br /></b>
<b>Bugs attended</b><br />
issue #11922 Browse fails with users who have only column privileges for some columns<br />
issue #11434 Class 'SqlParser\Lexer' not found (OS X)Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-64898220913385643402016-01-31T14:01:00.002-08:002016-02-01T13:04:18.623-08:00phpMyAdmin work during seventeenth and eighteenth weeks<div style="text-align: justify;">
My work during these two weeks concentrated pretty much on the security vulnerabilities that were reported. We received two lengthy reports on a number of security vulnerabilities which included cross-site scripting, full path disclosure, weaknesses in token generation and comparison etc. Altogether these vulnerabilities resulted in 9 PMASAs taking into the different combinations of phpMyAdmin versions they affected.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I contributed by fixing some vulnerabilities, testing security patches, porting some fixes done by others developers to older branches, preparing PMASAs and coordinating with the reporter, CVE team and phpMyAdmin security team.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The latter part of the fortnight was spent on fixing two regressions introduced by the security releases. </div>
<div style="text-align: justify;">
issue #11891 Error with PMA 4.0.10.13 with PHP 5.2</div>
<div style="text-align: justify;">
issue #11892 Error with PMA 4.4.15.3</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Moreover, following bug was fixing during the two weeks.</div>
<div style="text-align: justify;">
issue #11881 Full processlist lost on refresh</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-86059735520962498372016-01-17T13:25:00.004-08:002016-02-01T13:04:36.992-08:00phpMyAdmin work on sixteenth week<div style="text-align: justify;">
I was continuing on my year-end break on fifteenth week and did not work during the week, except for 2 hours on 4th January. So this report includes work carried out during the sixteenth week.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
During the week, I concentrated solely on bug fixes since there were a sizable number of bugs being reported. Most of the bugs fixed were regressions. For example, #11771 and #11846 were only present in latest git version and was due to refactoring and JS library updates respectively.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The complete list of bugs fixed and investigated are as follows,</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bugs Fixed</div>
<div style="text-align: justify;">
issue #11771 Transformation column path problem</div>
<div style="text-align: justify;">
issue #11772 Table pagination does nothing when session expired</div>
<div style="text-align: justify;">
issue #11810 'Add to central columns' in tbl_structure.php (per column button) nothing happens</div>
<div style="text-align: justify;">
issue #11814 SQL comment and variable stripped from bookmark on save</div>
<div style="text-align: justify;">
issue #11840 Index comments not working properly</div>
<div style="text-align: justify;">
issue #11846 Grid editing window is disabled the second time</div>
<div style="text-align: justify;">
issue #11854 Undefined property: stdClass::$releases at version check when disabled in config</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bugs Investigated</div>
<div style="text-align: justify;">
issue #11712 "Browse Foreign Values" Search broken across databases in 4.5.2</div>
<div style="text-align: justify;">
issue #11713 Not receiving notifications for updates</div>
<div style="text-align: justify;">
issue #11842 Fractional timestamp not supported</div>
<div style="text-align: justify;">
issue #11843 Fractional timestamp causes corrupted SQL export</div>
Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-65348328762779696192016-01-02T04:22:00.000-08:002016-01-02T04:22:17.915-08:00phpMyAdmin work during twelfth, thirteenth and forteenth weeks<div style="text-align: justify;">
With my personal engagements and summer break, I worked only for 13 hours during the three weeks. During the period, I was mostly engaged with refactoring work and improving the unit testing. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Continuing from the last couple of weeks, I refactored the server plugins page to use the MVC architecture. Code segments that were previously in a library file were moved to a controller class and instance variables were introduced as required. The view was changed to use templating and unit tests were updated to match the new classes.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I also went on to improve the unit testing by introducing a parent class to all the unit tests. With the new class, configuration values are reset to their default values for each test class. The idea was to make unit tests independent from changes made to configuration values in other unit tests. Meanwhile, unnecessary configuration values assignments in tests were removed.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Additionally, following bugs were investigated during the period.</div>
<br />
<b>Bugs Investigated</b><br />
issue #11743 Display routine-specific privileges under Database > Privileges<br />
issue #11751 Bug when export template is selectedMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-32057446103191977342015-12-12T14:51:00.003-08:002015-12-12T14:51:44.083-08:00phpMyAdmin work during tenth and eleventh weeks<div style="text-align: justify;">
During the two weeks most I attended a mix of bug fixing, implementing new features, refactoring and unit test improvements.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I did not realize that some of the unit tests were not running as part of the test suite unit Michal pointed out and included them. However, this caused quite some test failures as most of the recently added and updated tests had not been running. These were fixed at the very beginning of the period.</div>
<div style="text-align: justify;">
<b><br /></b></div>
<div style="text-align: justify;">
<b>Unit Testing</b></div>
<div style="text-align: justify;">
Fix unit test failures related to refactoring</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Quite a number of bugs were fixed during the two weeks and some more were investigated. Following are the list of bug fixes attended.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Bug Fixes</b></div>
<div style="text-align: justify;">
issue #11701 Show create procedure SQL</div>
<div style="text-align: justify;">
issue #11706 Database export template not saving compression option</div>
<div style="text-align: justify;">
issue #11710 Unable to add/remove `on update CURRENT_TIMESTAMP` option while editing a timestamp field</div>
<div style="text-align: justify;">
issue #11724 Temporary fix for live data edit of big sets is not working</div>
<div style="text-align: justify;">
issue #11728 CSV import skip row count after</div>
<div style="text-align: justify;">
issue #11732 Exporting feature does not work with union table</div>
<div style="text-align: justify;">
Exclude db name in SQL when relations are made between table in the same db</div>
<div style="text-align: justify;">
Buffer pool and InnoDB status details are not shown for InnoDB</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Bug Investigations</b></div>
<div style="text-align: justify;">
issue #11722 Excel import improper handling of dates/times</div>
<div style="text-align: justify;">
issue #11732 "Browse Foreign Values" Search broken across databases in 4.5.2</div>
<div style="text-align: justify;">
issue #11734 No result shown, if writing statement, comment, single select</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Inbility to reorder parameters of routines had bothered me in the past. So, as requested in issue #11701, I implemented the ability to do this.</div>
<div style="text-align: justify;">
<b><br /></b></div>
<div style="text-align: justify;">
<b>Feature Enhancements</b></div>
<div style="text-align: justify;">
issue #11701 Allow changing parameter order of routines</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Moreover, continueing the refactoring effert from last fortnight I went on to refactor server engines page. This involed introducing a controller class and using templating to adhere to MVC pattern. Unit tests were also updated to match the new classes.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Refactoring</b></div>
<div style="text-align: justify;">
Refactor server engines page to use MVC pattern </div>
Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com1tag:blogger.com,1999:blog-1362746092446105661.post-10488265017906725952015-11-29T12:05:00.001-08:002015-11-29T12:05:26.296-08:00phpMyAdmin work during eighth and ninth weeks<div style="text-align: justify;">
Last two weeks were dedicated completely to code refactoring where I converted a couple of server level page to MVC architecture. This is a continuation of what started during the last GSoC where we started to take up MVC architecture.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I started with server_variables.php page and created a new controller named ServerVariablesController to handle all interactions from the page. Refactoring included moving the HTML generation to 'View' (using templating) and organizing previous functions into methods and introducing instance variables where appropriate. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Server databases page was also refactored in a similar manner. Additionally, the functionalities of display_create_database.lib.php, db_create.php and build_html_for_db.lib.php were integrated into the new controller. Moreover, some functionalities that supported both ajax and non-ajax behavior (that used to facilitate scenarios with JavaScript disabled) was simplified. Towards the end of the period, server charsets page was refactored in a similar manner.</div>
<br />
<b>Code refactoring</b><br />
Refactor server variables page to use MVC architecture<br />
Refactor server databases page to use MVC architecture<br />
Simplify database dropping<br />
Merge the functionalities of display_create_database.lib.php, db_create.php and build_html_for_db.lib.php into ServerDatabasesController<br />
Refactor server charsets page to use MVC architecture<br />
Organize controllers into a better package hierarchy<br />
<br />
<div style="text-align: justify;">
I also engaged in fixing coding style violations, both introduced by refactoring as well as the ones that already existed. Further, I updated the test suite to account for newly introduced controller classes and now removed functions.</div>
<br />
<b>Coding style improvements</b><br />
Fix coding style violations<br />
<br />
<b>Unit testing</b><br />
Update unit tests for new controller classesMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-39875806013528707642015-11-22T16:35:00.004-08:002015-11-22T16:35:55.193-08:00phpMyAdmin work during sixth and seventh weeks<div style="text-align: justify;">
During the two week I attended to a combination of bugs, features/improvements, code refactoring as well as code quality improvements. However, most of the time was spent on bugs as there were number of bugs being reported. Following are the bugs fixed and investigated during the two weeks.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Bugs fixed</b></div>
<div style="text-align: justify;">
issue #11476 Errors instead of git info when PHP has no gzip support</div>
<div style="text-align: justify;">
issue #11630 Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given</div>
<div style="text-align: justify;">
issue #11632 Exporting GIS visualization ignores start and row count</div>
<div style="text-align: justify;">
issue #11639 Bug with the MainBackground Color</div>
<div style="text-align: justify;">
issue #11647 Restrict configuration NavigationTreeDbSeparator to strings</div>
<div style="text-align: justify;">
Indicate when there are no parameters for parameter binding in SQL query box</div>
<div style="text-align: justify;">
Profiling checkbox is missing</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Bugs investigated</b></div>
<div style="text-align: justify;">
issue #11637 "AS" from the main table of the query is being deleted when you are exporting a query</div>
<div style="text-align: justify;">
issue #11651 Issue while creating tables</div>
<div style="text-align: justify;">
issue #11659 Totally turn off autocomplete and sql syntax check</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Among the new features implemented, issue #11641, which requested to disable one of the relational features, was discussed during the team meeting and it was suggested to use a special value for the same configuration directive to disable the feature. This was implemented targeting future 4.6 release. Additionally, as part of minimizing the upload footprint, GIS features were adjusted to function without bulky OpenLayers library. Moreover, profiling chart now uses the generic charting mechanism which facilitate moving to a new charting library with less hassle.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>New features/Improvements</b></div>
<div style="text-align: justify;">
issue #11641 Ability to disable the navigationhiding Feature</div>
<div style="text-align: justify;">
issue #11654 Use a slider for Internal relations</div>
<div style="text-align: justify;">
Make OpenLayers library optional for GIS visualization</div>
<div style="text-align: justify;">
Link license.php</div>
<div style="text-align: justify;">
Use generic charting mechanism for profiling chart as well</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Additionally, following refactoring and code quality improvement work was carried out during the period.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Code Refactoring</b></div>
<div style="text-align: justify;">
Refactoring GIS visualization page</div>
<div style="text-align: justify;">
Move controllers to appropriate packages</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Code quality</b></div>
<div style="text-align: justify;">
Fix style violations in JS code</div>
Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-47338614163738632392015-11-01T02:00:00.005-08:002015-11-01T02:00:42.374-08:00phpMyAdmin work during third, fourth and fifth weeks<div style="text-align: justify;">
I did not engage in phpMyAdmin development work during the fourth week while I was less active during the third week due to personal engagements. So, here is a combined blog post for third, fourth and fifth weeks.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
During the period I worked on fixing the bugs reported by users as well as those reported by the automated error reporting mechanism. I cleaned up automatically reported errors by exporting them to GitHub tracker, linking them where necessary and by fixing them. Following are the bugs fixed and investigated during the period. </div>
<div style="text-align: justify;">
<br /></div>
<b>Bugs Fixed</b><br />
#11551 Fatal error when switched to master from QA_4_5<br />
#11594 'only_db' config option bug when db names contain underscore and are grouped<br />
#11603 Namespace clash for class Error<br />
#11606 PMA_Util not found when changing password<br />
#11607 Unable to change password from Login information tab<br />
#11610 Undefined variable: res_rel<br />
#11611 Warning while exporting schema to PDF<br />
#11612 Undefined index: new_row_format<br />
#11614 Undefined variable: db<br />
#11617 Getting real row count is not allowed for views<br />
#11622 Reloading privileges is not allowed<br />
<br />
<b>Bugs Investigated</b><br />
#11556 Cannot create table, please enter a valid length keeps coming up<br />
#11568 Erroneous handling of tables with FKs to other databases<br />
#11577 Table aliases ignored when using intellisense<br />
#11583 Cross DB foreign key constraints results in undefined offsets<br />
<br />
A security issues was reported during the period and I contributed by coordinating and generating security announcements.<br />
<br />
<b>Security Issues</b><br />
Content spoofing Issue in phpMyAdmin<br />
<br />
<div style="text-align: justify;">
Additionally, I engaged in some code refactoring and code quality improvements. Refactoring was on `DatabaseStructureController` as highlighted by Marc due to long method lengths. Moreover, unit tests related to PHP classes were renamed to be consistent with the corresponding names of the classes they are testing.</div>
<br />
<b>Refactoring and code quality improvements</b><br />
Refactor DatabaseStructureController<br />
Fix issues reported by PHPCS<br />
Fix issues reported by JSLint<br />
<br />
<b>Unit testing</b><br />
Rename and organize test classes<br />
<br />
<b>Feature enhancements</b><br />
Add supported file format for Archive storage engineMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-15657904697470491062015-10-11T23:24:00.003-07:002015-11-07T23:36:05.441-08:00phpMyAdmin work during first and second weeks<div style="text-align: justify;">
I started my second year as a contract developer for phpMyAdmin project on 1st of October 2015. However, this year I have limited my hours, working only on part time basis. I hope to work for 20 hours a week. Since there were only two days on the first week I am combining the work done on the first week with that of the second. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The first two weeks was totally focused on bug fixes since there was a constant steam of bugs from the newly released 4.5 version. Most of the bugs were related to the rewritten parser and I got good insight on the new parser while trying to fix some of these bugs. Following are the bugs fixed.</div>
<br />
Bug fixes<br />
issue #11521 Notice of undefined variable when performing SHOW CREATE<br />
issue #11522 Strange behavior on table rename<br />
issue #11526 Foreign key to other database's tables fails<br />
issue #11539 Rename table does not result in refresh in left panel<br />
issue #11544 Notices about undefined indexes on structure pages of information_schema tables<br />
issue #11546 "Visualize GIS data" seems to be broken<br />
issue #11548 Confirm box on "Reset slave" option<br />
Fix notices while changing from HASH type to RANGE type<br />
UI does not support inserting multiple values for JSON functions<br />
Tracking does not make sense for information_schema<br />
Fix cookies clearing on version change<br />
<br />
Moreover, following bugs were investigated during the period.<br />
<br />
Bugs investigated<br />
issue #11515 Multi source replication is not recognized<br />
issue #11538 Copy multiple tables to database<br />
issue #11536 Format of exports looses SQL on 2nd export<br />
issue #11547 "distinct" removed from query while query result export to excel<br />
<br />
I plan to spend more time on refactoring in the coming weeks.<br />
<br />
Leave days - 7th OctMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-71528237477255035452015-09-27T14:53:00.003-07:002015-09-27T14:53:57.937-07:00phpMyAdmin work during fiftieth and fifty first weeks<div style="text-align: justify;">
During these two weeks I worked relatively lesser number of hours and had to take a couple of days off. So, I am combining the work done during the two weeks to a single blog post.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
During the two weeks I concentrated mostly on feature enhancements. Two major features were implemented during the period. First of them is the ability to specify the routine level privileges and I noticed that this feature is missing when I went though the MySQL GRANT syntax. Even though this sounded easier when I started working on it, it took two full days to complete the feature. This was mostly due to the code quality of the related code segments. So, I'd put server_privileges.php file as one of the key places where refactoring can help.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The second major feature is the UI to define partition definitions. Existing create table UI has only a text area to define the partition definition. Someone who is not familiar with partition syntax would not be able to do this with the old UI. The new UI allows specifying partitioning parameters and parameters for each partitions. Additionally, I worked on making the metro theme compatible with the 4.5 version. I had accumulated commits for this for sometime. During the two week I did the final touches and the pull request was merged.</div>
<br />
<b>Feature enhancements</b><br />
Issue #11479 Allow setting routine wise privileges<br />
Issue #11490 UI for defining partitioning in create table window<br />
Pull #6 Metro theme for future version 4.5<br />
Add server plugins page<br />
Minor UI improvements to the User accounts page<br />
<br />
Additionally, following bugs were fixed during the two weeks.<br />
<br />
<b>Bugs fixed</b><br />
Issue #11464 phpMyAdmin suggests upgrading to newer version not usable on that system<br />
Issue #11475 Warnings linked to Drizzle<br />
Issue #11487 Warning when entering Query<br />
Issue #11491 Propose table structure broken<br />
Do not suggest upgrading when there is no compatible versions<br />
<br />
Leave days : 17th, 23rdMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-63904385752313628592015-09-14T05:43:00.000-07:002015-09-14T05:43:08.575-07:00phpMyAdmin work during forty eighth and forty ninth weeksI am combining two weeks of work into this blog post. I took 3 days off work (on 1st, 7th and 11th of September) and this is mostly why I am combining work of two weeks.<br />
<br />
Following are the bugs fixed and investigated during the period.<br />
<br />
<b>Bugs fixed</b><br />
Issue #11445 MySQL 5.7 and Status page for an unprivileged user<br />
Issue #11446 MySQL 5.7 and Variables page for an unprivileged user<br />
Issue #11450 Validation fails when using functions<br />
Issue #11451 Designer-Bug in move.js on multiple server configuration<br />
Issue #11454 Find and replace is broken<br />
Issue #11457 414 Request-URI Too Large<br />
Issue #11461 Foreign key constraints for InnoDB tables with upper-case letters disabled<br />
<br />
<b>Bugs investigated</b><br />
Issue #11453 Paste command is gone in 4.4<br />
Issue #11464 phpMyAdmin suggests upgrading to newer version not usable on that system<br />
Issue #11470 Impossible to cancel "Drop files here" overlay<br />
<br />
<div style="text-align: justify;">
Issue #11445 and #11446 was due to permission changes introduced in MySQL 5.7 which prevented unprivileged users from issuing SHOW commands. Issue #11454 was a regression in upcoming 4.5 version this was fixed for the release candidate. Issue #11461 was tricky to fix, however only affected the apple users.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
With regard to feature enhancements, the major change was the removal of Drizzle support. Development of Drizzle has been abandoned for years and hence support for Drizzle will be removed from version 4.6. Most of the development work of issue #6297 was carried out during earlier weeks. However, it was during this period the pull request got merged.</div>
<br />
<b>Feature enhancements</b><br />
Issue #6297 Use GET only for read only operations<br />
Issue #11456 Disabled storage engines<br />
Remove Drizzle support from master branch<br />
Mark default storage engine<br />
<br />
<div style="text-align: justify;">
A security vulnerability was reported after some time during the two weeks. The vulnerability was in code related to reCaptcha test which is an additional opt-in security feature provided in phpMyAdmin.</div>
<br />
<b>Security fixes</b><br />
Fix reCaptcha bypassMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-77192528933325522622015-08-29T16:14:00.000-07:002015-08-29T16:14:01.623-07:00phpMyAdmin work during forty sixth and forty seventh weeks<div style="text-align: justify;">
During this period I moved from Colombo to Melbourne, Australia. So, I had to take couple of days off on both weeks for preparation work as well as settling down in Australia. Hence, I am combining the work done during these two weeks to a single blog post.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The bugs fixed during the time includes bugs from both stable version and the upcoming 4.5 version. </div>
<br />
<b>Bugs fixed</b><br />
#11404 "Switch to copied table" doesn't work<br />
#11408 Export breaks when field name is 0<br />
#11410 SPATIAL index option is not clickable<br />
#11414 Unclear export options / organization / hierarchy<br />
#11421 Stored-proc / routine - broken parameter parsing<br />
#11436 CREATE DATABASE should be enabled by default on server exports<br />
Remove unnecessary title after slider initialization<br />
Fix missing template in table search page<br />
Fix function based search for geometry columns in table search page<br />
Fix GIS editor in table insert/edit page<br />
Fix x coordinates of points which was the repetition of y coordinates<br />
Respect the Auto increment checkbox in SQL export<br />
Fix missing name for configuration read_as_multibytes<br />
Fix - Do not export `sys` database when exporting server<br />
Add missing 'sql_create_database' configuration to setup and user preferences<br />
<br />
Additionally, following bugs were investigated.<br />
<br />
<b>Bugs investigated</b><br />
#11433 '%' does not work as it is with sprintf<br />
#11434 Class 'SqlParser\Lexer' not found<br />
<br />
<div style="text-align: justify;">
With regards to the feature enhancements, there were no major features implemented during the period. However, a number of smaller enhancements were carried out. I also went on to do some language improvements where a number of sentences that used title case were converted to sentence case to be compliant with phpMyAdmin language guide. Moreover, I started working on supporting JSON data type introduced in MySQL 5.7.8. However, this had to be postponed due to bugs in PHP with respect to JSON data type.</div>
<br />
<b>Feature enhancements</b><br />
Improvements to partition details on table structure page<br />
Spatial indexes with multiple columns are not allowed<br />
Organize SQL export options<br />
Make the SQL exports compatible for side by side comparison with old exports<br />
Allow editing unless it's a static variable. Allow editing new dynamic variables added in MariaDB and newer versions of MySQL<br />
Minor UI improvements in zoom search page<br />
Language improvements - Use sentence case as per phpMyAdmin language guide<br />
<br />
<b>Feature requests investigated</b><br />
#11438 Support JSON data typeMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-50233465829525348342015-08-19T09:52:00.004-07:002015-08-29T16:14:37.160-07:00phpMyAdmin work during forty fourth and forty fifth weeks<div style="text-align: justify;">
I took leave on first three days off on forty fourth week to visit Anuradhpura and here I am combining the work done on the rest of the two days with the work done on the forty fifth week in to a single blog post.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
During the two weeks I continued to QA the development version to identify any bugs arising from the ongoing developments. So, most of the bugs were fixed in the master branch. Additionally I fixed two incompatibilities with PHP7 in the stable version of phpMyAdmin. Both these incompatibilities were in third party libraries we use and these libraries were upgraded and tested.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Bugs fixed</b></div>
<div style="text-align: justify;">
#11345 Token mismatch error</div>
<div style="text-align: justify;">
#11349 Table list doesn't expand when current table on different page</div>
<div style="text-align: justify;">
#11364 JS error when trying to navigate to db structure page after db creation failed</div>
<div style="text-align: justify;">
#11382 Selecting values for set field throws JS error</div>
<div style="text-align: justify;">
#11389 ReCaptcha produce deprecated messages under PHP 7</div>
<div style="text-align: justify;">
#11387 phpseclib < 2.0 produces deprecated messages on PHP 7</div>
<div style="text-align: justify;">
Fix - Counting real number of rows always return zero</div>
<div style="text-align: justify;">
Fix - Index list not updated upon dropping a column</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Bugs investigated</b></div>
<div style="text-align: justify;">
#11384 Query formatting adds space between ! and =</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The highlight in terms of feature enhancements is the improved partition support. Now you can view all the details related to table partitions and sub partitions in the table structure page. Moreover, all the partition operations can be performed from there. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Additionally, I improved the cache invalidation on version upgrade. With the new page loading introduced in version 4.0, phpMyAdmin cached the JS files and fired the relevant event on loading a page. Now these cached files are invalidate upon version upgrade.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Feature enhancements</b></div>
<div style="text-align: justify;">
Improved partition support</div>
<div style="text-align: justify;">
Clear internal cache at script handler upon version upgrade</div>
<div style="text-align: justify;">
Minor UI improvements to the db operations page</div>
<div style="text-align: justify;">
Do not attach index table unnecessarily</div>
<div style="text-align: justify;">
Refactor db_designer.php</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>Code quality improvements</b></div>
<div style="text-align: justify;">
Create separate controllers from table and database structure pages</div>
<div style="text-align: justify;">
Organize templates into a meaningful structure</div>
<div style="text-align: justify;">
Fix coding style issues reported by PHPCS</div>
Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-11576089066660585012015-07-31T21:16:00.002-07:002015-07-31T21:16:20.699-07:00phpMyAdmin work during forty third week<div style="text-align: justify;">
During the week I mostly focused on fixing bugs. I attended to a mix of bugs that were prevalent in current stable version as well as those arose due to ongoing development targeting the next major release. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Among the older bugs, I went on to investigate a couple of bugs related to replication features. Since I did not have a replication setup I first created such as investigated the bugs that had been reported. Bug #10307 which reported how cross database replication was broken due to the use of fully qualified table names was fixed. Other replication related bugs, which were also quite old, were mostly out of date.</div>
<br />
Bugs that were fixed and investigated during the week are<br />
<br />
Bugs fixed<br />
#10307 Replication broken when using cross-database master/slave config and phpMyAdmin<br />
#11322 Missing null checkbox when grid editing a null cell<br />
#11324 JS error while opening a new page in Desginer<br />
#11326 Exported schema includes all the tables of the database<br />
#11328 Exporting table generates AUTO_INCREMENT=; for new tables<br />
#11334 Table creation time, last update and last check column are empty<br />
#11336 Exporting a table exports database level events<br />
Fix various broken features due to refactoring in database structure page<br />
Fix retrieve default storage engine correctly<br />
<br />
Bugs investigated<br />
#10435 Revoking non-existent Grant Option breaks MySQL 5.6 Replication<br />
#10622 "Loading" doesn't disappear when stopping replication slave<br />
#11325 Exporting database schema to PDF is broken<br />
#11327 Default value for BIT column exported as b<br />
<br />
When analyzing the JS errors reported in error reporting server, it was evident that quite a lot of them were due to caching issues on upgrading to a new phpMyAdmin version. This was addressed during the week and hopefully these issues will no longer occur.<br />
<br />
Enhancements<br />
Avoid caching JS and CSS files across phpMyAdmin versions<br />
Upgrade TCPDF to version 6.2.9<br />
UI improvements to replication and binary log pages<br />
Improvements to the feature allowing to export databases and tables into separate filesMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-29899147847144418532015-07-27T23:32:00.003-07:002015-07-27T23:33:55.214-07:00phpMyAdmin work during forty second weekDuring this week I attended to a mix of bug fixes and feature enhancements.<br />
<br />
<div style="text-align: justify;">
I installed upcoming MySQL 5.7 and paid attention to areas in phpMyAdmin that needs to be updated to work with 5.7. First of all I noticed that I am unable to create phpMyAdmin configuration storage table since TIMESTAMP columns in them lacked a default value and this is not allowed in MySQL 5.7. Moreover I attended to a couple of UI bugs I happen to notice while I was working. Following are the bugs that were fixed.</div>
<br />
Bugs fixed<br />
#1808 "Improve table structure" generates invalid SQL<br />
#1817 Creating configuration storage tables fail in MySQL 5.7<br />
UI fixes in error reporting feature<br />
Fix legend for table SQL page<br />
Fix gutter style for normal and dark console themes<br />
<br />
<div style="text-align: justify;">
On the feature enhancement front, the major work was to improve the rtl language support. There were quite a number of instances that were broken even in the current stable version. Since Arabic is not shipped currently due to lack of translation, these were fixed in master branch. While some of these were style changes, others involved changing the DOM structure. Additionally, I attended to some UI improvements as well as improvements targeting MySQL 5.7</div>
<div style="text-align: justify;">
<br /></div>
Feature enhancements<br />
UI improvements in the 'Variables' and 'SQL' pages<br />
Allow linking MySQL 5.7 document links<br />
Terminology improvements in the 'User accounts' and 'Privileges' pages<br />
Document SQL parameter binding feature<br />
Improve support for rtl languages<br />
Update ChangeLog links<br />
Mark MySQL 5.7 'sys' schema as a system schema<br />
<br />
<div style="text-align: justify;">
Since GSoC work is ongoing, we could observer an increase in coding style violations reported by PHPCS. During the week, I attended to these violations as well.</div>
<div style="text-align: justify;">
<br /></div>
Code quality improvements<br />
Fix PHP coding style violations reported by PHPCS<br />
<br />
P.S. This was a four day week with me taking leave on Thursday.<br />
<br />
<br />Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-52206190655253238022015-07-22T00:40:00.003-07:002015-07-22T00:40:37.589-07:00phpMyAdmin work during the forty first week<div style="text-align: justify;">
During this week I attended to bug fixes, new features as well as general coding improvements. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The highlight of the week in terms bug fixes was the ability to use error reporting server. It was not usable for a long time and now that the situation has improved to Smitha, I attended to a number of bugs reported there. I noticed that a large number of bugs were due to caching issue while upgrading. This affected relational features on PHP front while a number of JS issues reported were also due to this. I also engaged in reporting issues and sending pull requests to improve the error reporting server. Bugs fixed and attended during the week are</div>
<br />
<b>Bugs fixed</b><br />
#4979 Problem when import *.ods file<br />
#4980 Cannot read property 'status' of null<br />
#4981 Uncaught TypeError: Cannot read property 'attr' of null<br />
#4984 Undefined <feature>work upon upgrade to new version<br />
#4985 Column headers move when scrolling<br />
<br />
<b>Bugs investigated</b><br />
#4983 Theme configurations not defined<br />
#4986 First stack trace item missing in PHP error reports<br />
<br />
<div style="text-align: justify;">
The highlight in terms of new feature is the support for virtual columns. Support for virtual columns was initially requested for MariaDB. However my earlier attempt to implement the feature was abandoned due to lack of parser support. Virtual columns are featured in upcoming MySQL 5.7 as well and since the column expression can be extracted from information_schema in MySQL I could add support for MySQL virtual columns without parser update. After discussing this on developer mailing list GSoC student who is working on the parser rewrite added support for virtual columns to the new parser and with this I went on to extend the feature for MariaDB as well.</div>
<br />
<b>Feature requests implemented</b><br />
#1517 Support for MariaDB virtual/persistent columns<br />
Support MySQL 5.7.5 virtual columns<br />
<br />
Feature requests investigated<br />
#1658 Better Performance<br />
<br />
To the latter part of the week I worked on improving coding style which had deteriorated a bit during the last couple of months.<br />
<br />
<b>Coding improvements</b><br />
Centralize querying for SHOW CREATE TABLE statements<br />
Documentation improvements on upgrading<br />
Fix PHP coding style violations reported by PHPCS<br />
<br />
Forty first week of my work was a four day week with me taking 16th of July as day off.Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-8144531364797143322015-07-16T19:16:00.000-07:002015-07-16T19:16:22.310-07:00phpMyAdmn work during the fortieth week<div style="text-align: justify;">
The fortieth week of work was mostly spent on fixing the bugs in the upcoming 4.5 version. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
While implementing the export templates I noticed that lock_table directive is not repopulated similar to other directive when back button is click and this was fixed. Further, quite a lot of the links to new system variables in phpMyAdmin's Variables page was missing, and these were also added. Bug #4854 was fixed allowing users to use multiple servers in parallel. Earlier this was not possible and a series of fixes such as introducing IV per server finally led to this fix.</div>
<br />
Here is the list of bugs fixed and investigated.<br />
<br />
Bugs fixed<br />
#4854 "Error: Token mismatch" when using multiple servers in parallel<br />
#4973 Show a warning when a user account allowing any user from localhost to connect (partial fix)<br />
#4976 Timepicker CSS issues in Original theme<br />
#4978 Cancelled page settings changes do not revert the UI<br />
Correctly set lock_table directive when repopulating on back button click<br />
All columns listed for xaxis are selected in query charts<br />
Saved chart image does not have a proper name or an extension<br />
Add missing links Variables page to MySQL documentation for system variables<br />
Fix height of the selection box of monitor charts<br />
Remove menu options that do not make sense for visual query builder<br />
Remove unused parameter causing notices<br />
<br />
Bugs investigated<br />
#4864 Tried to set secure cookie on non-secure connection<br />
<br />
<div style="text-align: justify;">
Among feature improvements, the most notable one is the use of native tabs in server plugin page in place of the jQuery tabs. Additionally, the process list was updated to show additional columns for MariaDB and as discussed during the last team meeting names of some of the pmadb directives were changed. </div>
<br />
Feature requests implemented<br />
#1685 mariadb processlist<br />
Underscores are preferred to separate words in configuration storage table names/directives<br />
Use phpmyadmin's secondary tabs instead of jQuery tabs in server plugins page<br />
Set indeterminate for export checkboxes when either data or structure is not selected<br />
<br />
Feature requests investigated<br />
#1684 Use GET only for read only operationsMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-38448559190311246692015-07-07T07:40:00.001-07:002015-07-07T07:40:10.132-07:00phpMyAdmin work during thirty eighth and thirty ninth weeksI had to take two days off on the thirty ninth week of work. So, here I am combining it with the previous week to report what I have been up to. Continuing from the last couple of weeks we saw a decline in the number of bugs reported, indicating that the releases are much stable.<br />
<br />
Due to the above reason I spent more time on feature requests and general coding improvements. I went on to clean the feature request tracker by investigating the feature requests and implementing them when they made sense. Here are the features implemented during the week.<br />
<br />
<b>Feature requests implemented</b><br />
#689 Column privileges and update<br />
#812 Store export definitions for reuse<br />
#1531 Cant use external config file<br />
#1552 CSV import: Allow "Columns escaped with" to be optional<br />
#1561 Being able to use multiple servers at the same time when using cookie auth<br />
Get default_fk_check_value on demand rather than checking the value in every script<br />
Remove configuration storage data related to a user upon deleting the user<br />
Upgrade CodeMirror to version 5.4.0<br />
<br />
Additionally, following feature requests were investigated<br />
<br />
<b>Feature requests investigated</b><br />
#757 Dropdown for special SQL like SUM, AVG and GROUP BY<br />
#1270 Allow specifying mime types and transformations in queries<br />
#1390 Export tables list must be ordered by constraints<br />
#1682 Add quick action features<br />
<br />
From the general coding improvements front, following were done.<br />
<br />
<b>General code improvements</b><br />
OOP improvements in navigation panel<br />
Match export parameters with the names of corresponding config values<br />
Fix JavaScript variable scope error reported by Codacy<br />
<br />
Even though reported in low numbers, following bugs were fixed and investigated.<br />
<br />
<b>Bugs fixed</b><br />
#4916 Autocomplete either doesn't function at all or auto completes the original table name when joining multiple aliased tables<br />
#4963 Improve/restore non-unique index row editing<br />
#4966 MySQL errors are not shown when DebugSQL is enabled<br />
#4967 Field named '0' is not recognized<br />
#4969 Autoload from prefs_storage not behaving properly<br />
Show build query dialog in full screen view also<br />
Missing selected/entered values when editing active options in visual query builder<br />
Remove character set from create_tables_drizzle.sql<br />
<br />
<b>Bugs investigated</b><br />
#4964 New version using older files<br />
#4968 Combine create / alter table statements<br />
#4972 Bug when processing binary dataMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-5338846508234591662015-06-23T00:02:00.000-07:002015-06-23T00:02:52.576-07:00phpMyAdmin work during thirty seventh weekThis was a four day work week since I was on leave on Friday, 19th June.<br />
<br />
The highlight of the week was the improvements to the Visual Query Builder. This included a number of bug fixes and improvements to the look and feel. VQB probably did not reach to the users very well, otherwise we should have got more bug reports relating to the issues fixed.<br />
<br />
To the latter part of the week, I also engaged in fixing issues reported by Codacy (https://www.codacy.com/app/michal_2/phpmyadmin/dashboard).<br />
<br />
* Code improvements<br />
Various UI improvements to the visual query builder<br />
Fix issues reported by Codacy<br />
<br />
As usual I also engaged in regular bug fixes during the week. Highlight among the bugs fixed was bug #4795. This requested phpMyAdmin to join two or more tables in Query Builder by using other tables that have not been included in the query. This was more of the feature request IMO.<br />
<br />
Following are the bugs fixed and investigated during the week.<br />
<br />
Bugs fixed<br />
#4795 Query builder: missing joint for the intermediary table<br />
#4955 Clicking on the navi logo does not always work (partial fix)<br />
#4956 Trying to build query in visual builder throws JS error<br />
#4958 Designer Javascript error with specially crafted table name<br />
#4960 Table creation results in GET request with missing server parameter that invalidates the session<br />
#4961 Javascript error when Designer is opened<br />
#4962 insert by foreign key scrolls page to top<br />
Visual builder: Generated query has extraneous comma at the end of group by clause<br />
Visual builder: Add missing backquotes<br />
Visual builder: Reset state variables on page teardown<br />
<br />
Bugs investigated<br />
#4959 Navigation pane mouseover oddity with specially crafted database/table namesMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-59414602309721663252015-06-15T03:35:00.004-07:002015-06-15T03:35:57.770-07:00phpMyAdmin work during thirty sixth weekThe highlight of the my work during the week is the general improvements work carried out. 'Query' page of the database level was improved during the week (https://github.com/phpmyadmin/phpmyadmin/pull/1723). This included, introducing aliases and sort ordering. Additionally I worked on porting the Metro theme to the future 4.5.0 release (https://github.com/phpmyadmin/themes/pull/6), so we will have an additional theme by the time new version is released.<br />
<br />
* General improvements<br />
Improvements to the QBE page<br />
Porting Metro theme for future version 4.5<br />
UI improvements to the print view and table operations page<br />
Minor performance improvements in the navigation panel<br />
Update sample config file<br />
<br />
After 9 bug fix releases from the 4.4 branch, the rate at which the bugs are being reported has slowed down indicating that it's quite stable. However, on the other hand, a number of new issues could be observed mostly introduced by the ongoing GSoC work carried out targeting the 4.5 release. Following are the bugs fixed during the week. As mentioned earlier, most of them were fixed in QA_4_5 branch.<br />
<br />
* Bugs fixed<br />
#4510 QBE generates wrong query<br />
#4946 When hide table structure actions is false, action should be in a row<br />
#4947 Editing a view gives errors<br />
#4950 Issues in database selection for replication<br />
#4951 Trying to save chart as image crashes the browser<br />
#4953 can't drag sql.gz file onto import input<br />
#4954 Warnings on query results refresh<br />
#4956 Trying to build query in visual builder throws JS error<br />
Empty column list in display order drop down in table search<br />
Fix notice on undefined variable 'col_extra'<br />
<br />
Additionally, following issues were investigated.<br />
<br />
* Bugs investigated<br />
#4948 explain is broken in latest version<br />
#4926 Browsing tables chokes on 30k tables in DB<br />
#4959 Navigation pane mouseover oddity with specially crafted database/table namesMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-60043460635159444692015-06-07T10:53:00.001-07:002015-06-07T10:53:12.911-07:00phpMyAdmin work during thirty fifth week<div style="text-align: justify;">
The bug fixes carried out during the week was mostly on the master branch and most of them were due to the ongoing developments by GSoC students. Additionally a couple of bugs on the stable branch reported by the users were fixed. Following are the bugs fixed during the week.</div>
<br />
Bugs fixed<br />
#4932 Drizzle version numbers<br />
#4936 utf8mb4 fields show only ????s for 4-byte Unicode characters after import<br />
#4937 Custom export with backquotes off is not working<br />
#4939 Connection input field not hidden when adding a new table<br />
#4940 Notices in GIS visualization page<br />
#4941 Table structure multi submit is broken<br />
#4942 Export to gzip saves plain text under Chrome<br />
<br />
Moreover, following bugs were investigated<br />
<br />
Bugs investigated<br />
#4933 INSERT validation issues with MySQL functions<br />
#4935 Eliminate remaining occurences of eval() in phpMyAdmin to make it work on machines where eval() is disabled<br />
<br />
<div style="text-align: justify;">
On the new features front, rfe #1634 was discussed during the last IRC meeting and received the green light to be implemented. This rfe requested not to group items in the navigation panel when there is only a single group and no other items or groups in a particular sub tree.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bug #4934 reported the shift + click to apply selected function to all rows in insert/edit page was not functioning in some browsers. Since shift + click event was non standard on browsers we decided to remove the feature altogether. This was also carried out during the week.</div>
<br />
Feature requests implemented<br />
#1634 Don't group tables in tree if the result has only one group<br />
#1677 Support spatial indexes in table create form<br />
Remove support for Shift + Click on function name to apply to all rows in insert/edit page<br />
<br />
<div style="text-align: justify;">
During the latter part of the week, I engaged in analyzing the performance issues and fixing them. This was based on the profiling carried out earlier using xdebug. I attended to table browse, insert and edit pages since they showed highest performance deterioration competed to 3.x series.</div>
<br />
General coding improvements<br />
Fix coding styles violations reported by PHPCS<br />
Performance improvements for table browse, insert and edit pages<br />
<br />
<br />Madhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0tag:blogger.com,1999:blog-1362746092446105661.post-82248842061050299482015-06-03T00:50:00.001-07:002015-06-03T00:57:29.950-07:00phpMyAdmin work during thirty fourth weekThis week was more a of quieter week where I focused mostly on bug fixes.<br />
<br />
<div style="text-align: justify;">
Bug #4872 was on navigation and main panel not reloading after a related change. Trying to fix this bug I realized that the related code was quite scattered and some parts outdated when ajax was introduced. The related code segments seemed quite brittle. Even though the bug was fixed these sections would benefit from refactoring.</div>
<br />
Following are the bugs fixed during the week.<br />
<br />
Bugs fixed<br />
#4872 Drop table doesn't remove the table name from navigation bar<br />
#4905 Sorting by an alias<br />
#4920 Relation view doesn't list fields of table in other database<br />
#4921 Textarea rows settings ignored Features > Text fields<br />
#4923 Limits table comments to 60 characters<br />
#4927 "Disable foreign key" doesn't work with a single query SQL file<br />
#4929 Edit view structure doesn't load the algorithm<br />
#4930 Database copy doesn't work for tables with more than one FULLTEXT index<br />
#4931 False error before entering reCAPTCHA<br />
<br />
<div style="text-align: justify;">
Among the bugs that were investigated, bug #4926 reported how browsing tables chokes with a database having 30k tables. Configuration 'DisableIS' did not help either. I personally think that such a big number of tables is a corner case.</div>
<br />
Bugs investigated<br />
#4925 Multi table 'Empty'/'Drop' doesn't work<br />
#4926 Browsing tables chokes on 30k tables in DB<br />
<br />
Feature requests received little attention during the week and following are the ones implemented.<br />
<br />
Feature requests implemented<br />
#1672 MIME types should be lower case<br />
Add a configuration to display/hide the comment column in db structure page<br />
<br />
#1672 seems to be broken again in master, probably due to ongoing templating and I plan to fix it today.<br />
<br />
P.S: This was a four day week; I was on leave on 26th MayMadhurahttp://www.blogger.com/profile/05971454704476276713noreply@blogger.com0