Skip to content

MySQL 4byte support - #1773

Merged
LukasReschke merged 14 commits into
masterfrom
testing-characters-in-db
Oct 19, 2016
Merged

LukasReschke merged 14 commits into
masterfrom
testing-characters-in-db

Conversation

@nickvergessen

@nickvergessen nickvergessen commented Oct 18, 2016 •

Copy link
Copy Markdown
Member

Downstream owncloud/core#17978

@MorrisJobke can you setup drone with 4byte?

@nickvergessen nickvergessen added this to the Nextcloud 11.0 milestone Oct 18, 2016
@mention-bot

Copy link
Copy Markdown

@nickvergessen, thanks for your PR! By analyzing the history of the files in this pull request, we identified @icewind1991, @stweil and @DeepDiver1975 to be potential reviewers.

@MorrisJobke

Copy link
Copy Markdown
Member

@MorrisJobke can you setup drone with 4byte?

Yes.

@MorrisJobke MorrisJobke self-assigned this Oct 18, 2016
Comment thread .drone.yml
PHP: 7.1
- DB: mysql
PHP: 5.6
- DB: postgres

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because I currently can't test locally I removed this to have faster feedback ;)

@MorrisJobke
MorrisJobke force-pushed the testing-characters-in-db branch 2 times, most recently from 290cebd to bc4f76c Compare October 18, 2016 08:35
@MorrisJobke

Copy link
Copy Markdown
Member

I rebased to squash the testing commits

@MorrisJobke MorrisJobke removed their assignment Oct 18, 2016
@MorrisJobke

Copy link
Copy Markdown
Member

@nickvergessen Your turn now :)

@nickvergessen

Copy link
Copy Markdown
Member Author

Current problem:
Update with activity app fails. We try to change the collation Repair info: Change collation for oc_activity before the database is updated.
This results in:

Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

Which is what would be solved by nextcloud/activity#53
But the repair step is executed before the update. My suggestion would be to ignore this error in the before step and retry it after the update was completed.

I commited that

@MorrisJobke

Copy link
Copy Markdown
Member
1) Test\Repair\RepairCollationTest::testCollationConvert
Argument 2 passed to OC\Repair\Collation::__construct() must implement interface OCP\ILogger, instance of OC\DB\Connection given, called in /drone/src/github.com/nextcloud/server/tests/lib/Repair/RepairCollationTest.php on line 66 and defined
/drone/src/github.com/nextcloud/server/lib/private/Repair/Collation.php:54
/drone/src/github.com/nextcloud/server/tests/lib/Repair/RepairCollationTest.php:66

@MorrisJobke

Copy link
Copy Markdown
Member
3) Test\Files\Cache\CacheTest::testFolder with data set #2 ('😐, NEUTRAL_FACE, UTF-8 hex F09F9890')
MySQL doesn't support 4 byte UTF-8
/drone/src/github.com/nextcloud/server/tests/lib/Files/Cache/CacheTest.php:117
4) Test\Files\Cache\MoveFromCacheTraitTest::testFolder with data set #2 ('😐, NEUTRAL_FACE, UTF-8 hex F09F9890')
MySQL doesn't support 4 byte UTF-8
/drone/src/github.com/nextcloud/server/tests/lib/Files/Cache/CacheTest.php:117
5) Test\Files\Cache\Wrapper\CacheJailTest::testFolder with data set #2 ('😐, NEUTRAL_FACE, UTF-8 hex F09F9890')
MySQL doesn't support 4 byte UTF-8
/drone/src/github.com/nextcloud/server/tests/lib/Files/Cache/CacheTest.php:117
6) Test\Files\Cache\Wrapper\CachePermissionsMaskTest::testFolder with data set #2 ('😐, NEUTRAL_FACE, UTF-8 hex F09F9890')
MySQL doesn't support 4 byte UTF-8
/drone/src/github.com/nextcloud/server/tests/lib/Files/Cache/CacheTest.php:117

@nickvergessen nickvergessen added 3. to review Waiting for reviews and removed 2. developing Work in progress labels Oct 18, 2016
@codecov-io

codecov-io commented Oct 18, 2016 •

Copy link
Copy Markdown

Current coverage is 57.24% (diff: 17.39%)

Merging #1773 into master will decrease coverage by 0.02%

@@             master      #1773   diff @@
==========================================
  Files          1075       1075          
  Lines         61278      61314    +36   
  Methods        6864       6865     +1   
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          35090      35097     +7   
- Misses        26188      26217    +29   
  Partials          0          0          

Sunburst

Diff Coverage File Path
0% core/register_command.php
0% lib/private/Repair/Collation.php
0% lib/private/Repair.php
0% lib/private/Setup/MySQL.php
0% lib/private/Setup/AbstractDatabase.php
0% config/config.sample.php
0% lib/private/DB/AdapterMySQL.php
0% ...Builder/ExpressionBuilder/MySqlExpressionBuilder.php
•••• 40% lib/private/DB/ConnectionFactory.php
••••• 50% lib/private/DB/MDB2SchemaWriter.php

Review all 12 files changed

Powered by Codecov. Last update 129fdf2...10049d0

@MorrisJobke
MorrisJobke force-pushed the testing-characters-in-db branch from e5bfad1 to 303e073 Compare October 18, 2016 22:15
@MorrisJobke

Copy link
Copy Markdown
Member

Rebased for CI

@nickvergessen

Copy link
Copy Markdown
Member Author

Test pass, ready to go.

Second review @rullzer @LukasReschke

@MorrisJobke

Copy link
Copy Markdown
Member

👍

@LukasReschke

Copy link
Copy Markdown
Member

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants