= Error message =
PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'panel' at row 1: INSERT INTO {panels_pane} (did, panel, type, subtype, shown, access, configuration, cache, style, css, extras, position, locks) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12); Array ( [:db_insert_placeholder_0] => 20 [:db_insert_placeholder_1] => center_cellular_services__controls [:db_insert_placeholder_2] => custom [:db_insert_placeholder_3] => custom [:db_insert_placeholder_4] => 1 [:db_insert_placeholder_5] => a:0:{} [:db_insert_placeholder_6] => a:5:{s:11:"admin_title";s:8:"Controls";s:5:"title";s:17:"Cellular Services";s:4:"body";s:3:"aeo";s:6:"format";s:13:"filtered_html";s:10:"substitute";i:1;} [:db_insert_placeholder_7] => a:0:{} [:db_insert_placeholder_8] => a:1:{s:8:"settings";N;} [:db_insert_placeholder_9] => a:0:{} [:db_insert_placeholder_10] => a:0:{} [:db_insert_placeholder_11] => 0 [:db_insert_placeholder_12] => a:0:{} ) in drupal_write_record() (line 7013 of /var/www/drupal7/includes/common.inc).
= Cause =
This one seems pretty simple. When a frame is added to a stack, it is given a machine name. When saving a page layout __ is used in the column 'panel'. It makes sense because this causes every panel to be unique where there otherwise could be a collision.
It turns out that this can make it pretty easy to hit a size limit for that column. This would be especially true if the default copy_of_ were to exist from cloning.
= Potential Solution =
My guess is that you can very easily resolve this. You did after all make an extremely amazing module which seems to be pretty cleanly coded. Perhaps instead of allowing users to edit the machine_name you could simply make it a hidden items and make it a int that auto-increments. Maybe even a check in a few places to make sure that the limit isn't reached.
btw- Amazing module, it's saved me many hours of work. I'd dare say it's saved me over a day worth of work on this single site that I'm using it on. ... maybe even two days.
Comments
Comment #1
gmclelland commentedI just ran into this problem as well. Thanks for posting a solution in the mean time.
Comment #2
arturzagreby commentedIt can be also fixed by changing field 'panel' size in 'panels_pane' table
Comment #3
nwom commentedThe problem still exists in the newest dev.
Comment #4
zuernbernhard commentedComment #5
nwom commentedSetting to Needs Work, since no patch is attached, however code is available.