Bugzilla – Attachment 36071 Details for
Bug 13596
Prevent updatedatabase.pl from reverting utf8_mb4 databases to utf8
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[PASSED QA] BUG 13596: Prevent utf8mb4 -> utf8 convertion
PASSED-QA-BUG-13596-Prevent-utf8mb4---utf8-convert.patch (text/plain), 1.89 KB, created by
Kyle M Hall (khall)
on 2015-02-20 12:19:44 UTC
(
hide
)
Description:
[PASSED QA] BUG 13596: Prevent utf8mb4 -> utf8 convertion
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2015-02-20 12:19:44 UTC
Size:
1.89 KB
patch
obsolete
>From 25d12863c7acd216d75d7e40988a21ec79ebf0be Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Date: Mon, 19 Jan 2015 13:48:42 +0000 >Subject: [PATCH] [PASSED QA] BUG 13596: Prevent utf8mb4 -> utf8 convertion > >utf8mb4 is a superset of utf8 and thus is compatible. We should not >force an entire db change upon people who have proactively set utf8mb4 >encoding before now. > >This patch also removed the deprecated use of ->tables stanza in favour >of the table_info stanza. > >Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >--- > installer/data/mysql/updatedatabase.pl | 14 ++++++++++---- > 1 files changed, 10 insertions(+), 4 deletions(-) > >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index dc2554c..47930ab 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -9658,10 +9658,16 @@ if(CheckVersion($DBversion)) { > > $DBversion = "3.19.00.006"; > if ( CheckVersion($DBversion) ) { >- $dbh->do(q|SET foreign_key_checks = 0|);; >- my @tables = $dbh->tables(); >- for my $table ( @tables ) { >- $dbh->do(qq|ALTER TABLE $table CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci|); >+ $dbh->do(q|SET foreign_key_checks = 0|); >+ my $sth = $dbh->table_info( '','','','TABLE' ); >+ my ( $cat, $schema, $name, $type, $remarks ); >+ while ( ( $cat, $schema, $name, $type, $remarks ) = $sth->fetchrow_array ) { >+ my $table_sth = $dbh->prepare(qq|SHOW CREATE TABLE $name|); >+ $table_sth->execute; >+ my @table = $table_sth->fetchrow_array; >+ unless ( $table[1] =~ /COLLATE=utf8mb4_unicode_ci/ ) { #catches utf8mb4 collated tables >+ $dbh->do(qq|ALTER TABLE $name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci|); >+ } > } > $dbh->do(q|SET foreign_key_checks = 1|);; > >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 13596
:
35391
|
35392
|
35393
|
35395
|
35432
|
35931
| 36071