From c76f12d278301b2421ead8be8d6f67058a75ba32 Mon Sep 17 00:00:00 2001 From: David Delikat Date: Fri, 10 Feb 2012 16:49:19 +0000 Subject: [PATCH] change metaData_values.value from char(255) to varchar(1024) --- docs/changelog/8.x.x.txt | 2 ++ docs/gotcha.txt | 4 +++ .../7.10.24-8.0.0/extendMetadataValue.sql | 1 + t/Asset/AssetMetaData.t | 30 +++++++++++++++++-- 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 share/upgrades/7.10.24-8.0.0/extendMetadataValue.sql diff --git a/docs/changelog/8.x.x.txt b/docs/changelog/8.x.x.txt index 1b9b247a3..15a0c6713 100644 --- a/docs/changelog/8.x.x.txt +++ b/docs/changelog/8.x.x.txt @@ -1,4 +1,6 @@ 8.0.0 + - #10012 - larger meta data values for multi-value fields + - #12310 - fixed rendering and submit button on user edit/add form - Replaced the existing caching mechanism with memcached, which results in a 400% improvement to cache speed. See migration.txt for API changes and gotcha.txt for prereq changes. - Added "hot sessions" so sessions interact with the database less. - Added Facebook Auth and FacebookLogin macro. diff --git a/docs/gotcha.txt b/docs/gotcha.txt index 3a04b742c..18ceefc58 100644 --- a/docs/gotcha.txt +++ b/docs/gotcha.txt @@ -38,6 +38,10 @@ save you many hours of grief. * Support for server-side spell checking in the Rich Editor TinyMCE has been removed. + * The field metaData_values.value has been changed from 'char(255)' to varchar(1024). + This may be incompatible with some MySQL operations. Please check any custom modules + that access this field. + 7.10.24 -------------------------------------------------------------------- * WebGUI now depends on Business::OnlinePayment::AuthorizeNet. This version diff --git a/share/upgrades/7.10.24-8.0.0/extendMetadataValue.sql b/share/upgrades/7.10.24-8.0.0/extendMetadataValue.sql new file mode 100644 index 000000000..e3de30965 --- /dev/null +++ b/share/upgrades/7.10.24-8.0.0/extendMetadataValue.sql @@ -0,0 +1 @@ +alter table metaData_values modify value varchar(1024); diff --git a/t/Asset/AssetMetaData.t b/t/Asset/AssetMetaData.t index 339f07a53..a0e5d079f 100644 --- a/t/Asset/AssetMetaData.t +++ b/t/Asset/AssetMetaData.t @@ -22,7 +22,7 @@ use WebGUI::Test::Mechanize; use Test::More; # increment this value for each test you create use Test::Deep; -plan tests => 25; +plan tests => 26; my $session = WebGUI::Test->session; $session->user({userId => 3}); @@ -172,7 +172,7 @@ cmp_deeply( $folder->deleteMetaDataField($byName->{'color'}); $foMetaData = $folder->getMetaDataFields; $byName = buildNameIndex($foMetaData); -cmp_bag( [keys %{ $byName}], ['sport', 'searchEngine'], 'color meta data field removed'); +cmp_bag( [keys %{ $byName}], ['sport', 'searchEngine' ], 'color meta data field removed'); #################################################### # @@ -237,6 +237,32 @@ cmp_deeply( 'getMetaDataAsTemplateVariables returns proper values for folder' ); +#################################################### +# +# meta data value field size is 1024 characters +# +#################################################### + +$folder->addMetaDataField('new', 'bigText', '', 'Text Field', 'text'); + +# set it; need to update $foMetaData and $byName. +$foMetaData = $folder->getMetaDataFields; +$byName = buildNameIndex($foMetaData); +my $value1024 = 'balderdashagain' x 64; # 16 chars * 64 is 1024 chars +$folder->updateMetaData( $byName->{'bigText'}, $value1024 ); + +# check that they're equal +cmp_deeply( + $folder->getMetaDataAsTemplateVariables, + { + 'book' => '1984', + 'sport' => 'underwaterHockey', + 'searchEngine' => undef, + 'bigText' => $value1024, + }, + 'meta data value can hold 1024 characters' +); + { my $asset = $root->addChild( {